[OE-core] [PATCH 01/16] lrzsz: remove the recipe

Alexander Kanavin alex.kanavin at gmail.com
Wed Nov 27 16:39:05 UTC 2019


Ignore this :) will resend the right set in a moment!

Alex

On Wed, 27 Nov 2019 at 17:38, Alexander Kanavin <alex.kanavin at gmail.com>
wrote:

> This is 2019; last release of lrzsz was in 1998.
>
> Using serial lines for console work may have its uses,
> but for transferring files please set up proper networking.
>
> Signed-off-by: Alexander Kanavin <alex.kanavin at gmail.com>
> ---
>  meta/conf/distro/include/maintainers.inc      |     1 -
>  .../lrzsz/lrzsz-0.12.20/acdefine.patch        |    19 -
>  .../lrzsz/lrzsz-0.12.20/autotools.patch       |    39 -
>  .../lrzsz/lrzsz-0.12.20/cve-2018-10195.patch  |    28 -
>  .../lrzsz/lrzsz-0.12.20/gettext.patch         | 21884 ----------------
>  .../lrzsz/lrzsz-0.12.20/include.patch         |    25 -
>  .../lrzsz-0.12.20/lrzsz-check-locale.h.patch  |    32 -
>  .../lrzsz_fix_for_automake-1.12.patch         |    49 -
>  .../lrzsz/lrzsz-0.12.20/makefile.patch        |    22 -
>  meta/recipes-bsp/lrzsz/lrzsz_0.12.20.bb       |    50 -
>  .../packagegroups/packagegroup-base.bb        |     2 +-
>  .../recipes-extended/minicom/minicom_2.7.1.bb |     2 -
>  12 files changed, 1 insertion(+), 22152 deletions(-)
>  delete mode 100644 meta/recipes-bsp/lrzsz/lrzsz-0.12.20/acdefine.patch
>  delete mode 100644 meta/recipes-bsp/lrzsz/lrzsz-0.12.20/autotools.patch
>  delete mode 100644
> meta/recipes-bsp/lrzsz/lrzsz-0.12.20/cve-2018-10195.patch
>  delete mode 100644 meta/recipes-bsp/lrzsz/lrzsz-0.12.20/gettext.patch
>  delete mode 100644 meta/recipes-bsp/lrzsz/lrzsz-0.12.20/include.patch
>  delete mode 100644
> meta/recipes-bsp/lrzsz/lrzsz-0.12.20/lrzsz-check-locale.h.patch
>  delete mode 100644
> meta/recipes-bsp/lrzsz/lrzsz-0.12.20/lrzsz_fix_for_automake-1.12.patch
>  delete mode 100644 meta/recipes-bsp/lrzsz/lrzsz-0.12.20/makefile.patch
>  delete mode 100644 meta/recipes-bsp/lrzsz/lrzsz_0.12.20.bb
>
> diff --git a/meta/conf/distro/include/maintainers.inc
> b/meta/conf/distro/include/maintainers.inc
> index 79404dfbdb7..42e587663c7 100644
> --- a/meta/conf/distro/include/maintainers.inc
> +++ b/meta/conf/distro/include/maintainers.inc
> @@ -450,7 +450,6 @@ RECIPE_MAINTAINER_pn-linux-yocto-rt = "Bruce Ashfield <
> bruce.ashfield at gmail.com>
>  RECIPE_MAINTAINER_pn-linux-yocto-tiny = "Bruce Ashfield <
> bruce.ashfield at gmail.com>"
>  RECIPE_MAINTAINER_pn-llvm = "Khem Raj <raj.khem at gmail.com>"
>  RECIPE_MAINTAINER_pn-logrotate = "Yi Zhao <yi.zhao at windriver.com>"
> -RECIPE_MAINTAINER_pn-lrzsz = "Anuj Mittal <anuj.mittal at intel.com>"
>  RECIPE_MAINTAINER_pn-lsb-release = "Hongxu Jia <hongxu.jia at windriver.com
> >"
>  RECIPE_MAINTAINER_pn-lsof = "Ross Burton <ross.burton at intel.com>"
>  RECIPE_MAINTAINER_pn-ltp = "Yi Zhao <yi.zhao at windriver.com>"
> diff --git a/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/acdefine.patch
> b/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/acdefine.patch
> deleted file mode 100644
> index 682cf416e22..00000000000
> --- a/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/acdefine.patch
> +++ /dev/null
> @@ -1,19 +0,0 @@
> -Add a description to the AC_DEFINE for LOCALEDIR so that it appears in
> config.h
> -and silences a fatal warning.
> -
> -Upstream-Status:Pending
> -Signed-off-by: Ross Burton <ross.burton at intel.com>
> -
> -diff --git a/configure.in b/configure.in
> -index c10460c..aa20263 100644
> ---- a/configure.in
> -+++ b/configure.in
> -@@ -258,7 +258,7 @@ AC_SUBST(LIBS)
> -
> - AM_GNU_GETTEXT
> -
> --AC_DEFINE_UNQUOTED(LOCALEDIR,"$prefix/$DATADIRNAME")
> -+AC_DEFINE_UNQUOTED(LOCALEDIR,"$prefix/$DATADIRNAME",[locale directory])
> -
> - AC_OUTPUT([Makefile intl/Makefile lib/Makefile testsuite/Makefile
> m4/Makefile \
> - man/Makefile po/Makefile.in src/Makefile debian/rules Specfile systype \
> diff --git a/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/autotools.patch
> b/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/autotools.patch
> deleted file mode 100644
> index 394519855e1..00000000000
> --- a/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/autotools.patch
> +++ /dev/null
> @@ -1,39 +0,0 @@
> -Upstream-Status: Inappropriate [configuration]
> -
> ---- lrzsz-0.12.20/acinclude.m4~autotools       1998-12-27
> 17:08:59.000000000 -0500
> -+++ lrzsz-0.12.20/acinclude.m4 2004-05-09 22:26:19.000000000 -0400
> -@@ -1,12 +1,11 @@
> - dnl AC_REPLACE_GNU_GETOPT
> --AC_DEFUN(AC_REPLACE_GNU_GETOPT,
> --[AC_CHECK_FUNC(getopt_long, , [LIBOBJS="$LIBOBJS getopt1.o getopt.o"])
> --AC_SUBST(LIBOBJS)dnl
> --])
> -+AC_DEFUN([AC_REPLACE_GNU_GETOPT],
> -+[AC_CHECK_FUNC(getopt_long, , [AC_LIBOBJ([getopt1])
> -+AC_LIBOBJ([getopt])dnl])])
> -
> - dnl
> - dnl taken from taylor uucp
> --AC_DEFUN(LRZSZ_ERRNO_DECL,[
> -+AC_DEFUN([LRZSZ_ERRNO_DECL],[
> - AC_MSG_CHECKING(for errno declaration)
> - AC_CACHE_VAL(lrzsz_cv_decl_errno,
> - [AC_TRY_COMPILE([#include <errno.h>], [int i = errno; errno = 1;],
> -@@ -23,7 +21,7 @@
> - ])
> -
> - dnl LRZSZ_TYPE_SPEED_T
> --AC_DEFUN(LRZSZ_TYPE_SPEED_T,[
> -+AC_DEFUN([LRZSZ_TYPE_SPEED_T],[
> - AC_REQUIRE([AC_HEADER_STDC])dnl
> - AC_REQUIRE([LRZSZ_HEADERS_TERM_IO])dnl
> - AC_MSG_CHECKING(for speed_t)
> -@@ -61,7 +59,7 @@
> - fi
> - ])
> -
> --AC_DEFUN(lrzsz_HEADER_SYS_SELECT,
> -+AC_DEFUN([lrzsz_HEADER_SYS_SELECT],
> - [AC_CACHE_CHECK([whether sys/time.h and sys/select.h may both be
> included],
> -   lrzsz_cv_header_sys_select,
> - [AC_TRY_COMPILE([#include <sys/types.h>
> diff --git a/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/cve-2018-10195.patch
> b/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/cve-2018-10195.patch
> deleted file mode 100644
> index dea298634f0..00000000000
> --- a/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/cve-2018-10195.patch
> +++ /dev/null
> @@ -1,28 +0,0 @@
> -Integer overflow in src/zm.c:zsdata() causes crash in sz and can leak
> information to receiver.
> -
> -Patch taken from Fedora.
> -
> -CVE: CVE-2018-10195
> -Upstream-Status: Inappropriate (dead upstream)
> -Signed-off-by: Ross Burton <ross.burton at intel.com>
> -
> -diff -urN lrzsz-0.12.20/src/zm.c lrzsz-0.12.20.new/src/zm.c
> ---- lrzsz-0.12.20/src/zm.c     Tue Dec 29 09:48:38 1998
> -+++ lrzsz-0.12.20.new/src/zm.c Tue Oct  8 12:46:58 2002
> -@@ -431,10 +431,12 @@
> -       VPRINTF(3,("zsdata: %lu %s", (unsigned long) length,
> -               Zendnames[(frameend-ZCRCE)&3]));
> -       crc = 0;
> --      do {
> --              zsendline(*buf); crc = updcrc((0377 & *buf), crc);
> --              buf++;
> --      } while (--length>0);
> -+
> -+      for( ; length; length--) {
> -+        zsendline(*buf); crc = updcrc((0377 & *buf), crc);
> -+        buf++;
> -+      }
> -+
> -       xsendline(ZDLE); xsendline(frameend);
> -       crc = updcrc(frameend, crc);
> -
> \ No newline at end of file
> diff --git a/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/gettext.patch
> b/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/gettext.patch
> deleted file mode 100644
> index 1a24a1f05e7..00000000000
> --- a/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/gettext.patch
> +++ /dev/null
> @@ -1,21884 +0,0 @@
> -Upstream-Status: Inappropriate [configuration]
> -
> ---- lrzsz-0.12.20.safe/ABOUT-NLS       1998-04-26 09:22:30.000000000 -0400
> -+++ lrzsz-0.12.20/ABOUT-NLS    2004-09-12 14:40:34.323752952 -0400
> -@@ -1,14 +1,14 @@
> - Notes on the Free Translation Project
> - *************************************
> -
> --   Free software is going international!  The Free Translation Project
> --is a way to get maintainers of free software, translators, and users all
> -+Free software is going international!  The Free Translation Project is
> -+a way to get maintainers of free software, translators, and users all
> - together, so that will gradually become able to speak many languages.
> - A few packages already provide translations for their messages.
> -
> -    If you found this `ABOUT-NLS' file inside a distribution, you may
> - assume that the distributed package does use GNU `gettext' internally,
> --itself available at your nearest GNU archive site.  But you do *not*
> -+itself available at your nearest GNU archive site.  But you do _not_
> - need to install GNU `gettext' prior to configuring, installing or using
> - this package with messages translated.
> -
> -@@ -22,10 +22,10 @@
> - `gettext' which is used.  The information can be found in the
> - `intl/VERSION' file, in internationalized packages.
> -
> --One advise in advance
> --=====================
> -+Quick configuration advice
> -+==========================
> -
> --   If you want to exploit the full power of internationalization, you
> -+If you want to exploit the full power of internationalization, you
> - should configure it using
> -
> -      ./configure --with-included-gettext
> -@@ -34,42 +34,40 @@
> - package, despite the existence of internationalizing capabilities in the
> - operating system where this package is being installed.  So far, only
> - the `gettext' implementation in the GNU C library version 2 provides as
> --many features (such as locale alias or message inheritance) as the
> --implementation here.  It is also not possible to offer this additional
> --functionality on top of a `catgets' implementation.  Future versions of
> --GNU `gettext' will very likely convey even more functionality.  So it
> --might be a good idea to change to GNU `gettext' as soon as possible.
> -+many features (such as locale alias, message inheritance, automatic
> -+charset conversion or plural form handling) as the implementation here.
> -+It is also not possible to offer this additional functionality on top
> -+of a `catgets' implementation.  Future versions of GNU `gettext' will
> -+very likely convey even more functionality.  So it might be a good idea
> -+to change to GNU `gettext' as soon as possible.
> -
> --   So you need not provide this option if you are using GNU libc 2 or
> -+   So you need _not_ provide this option if you are using GNU libc 2 or
> - you have installed a recent copy of the GNU gettext package with the
> - included `libintl'.
> -
> - INSTALL Matters
> - ===============
> -
> --   Some packages are "localizable" when properly installed; the
> --programs they contain can be made to speak your own native language.
> --Most such packages use GNU `gettext'.  Other packages have their own
> --ways to internationalization, predating GNU `gettext'.
> -+Some packages are "localizable" when properly installed; the programs
> -+they contain can be made to speak your own native language.  Most such
> -+packages use GNU `gettext'.  Other packages have their own ways to
> -+internationalization, predating GNU `gettext'.
> -
> -    By default, this package will be installed to allow translation of
> --messages.  It will automatically detect whether the system provides
> --usable `catgets' (if using this is selected by the installer) or
> --`gettext' functions.  If neither is available, the GNU `gettext' own
> -+messages.  It will automatically detect whether the system already
> -+provides the GNU `gettext' functions.  If not, the GNU `gettext' own
> - library will be used.  This library is wholly contained within this
> - package, usually in the `intl/' subdirectory, so prior installation of
> --the GNU `gettext' package is *not* required.  Installers may use
> -+the GNU `gettext' package is _not_ required.  Installers may use
> - special options at configuration time for changing the default
> - behaviour.  The commands:
> -
> -      ./configure --with-included-gettext
> --     ./configure --with-catgets
> -      ./configure --disable-nls
> -
> --will respectively bypass any pre-existing `catgets' or `gettext' to use
> --the internationalizing routines provided within this package, enable
> --the use of the `catgets' functions (if found on the locale system), or
> --else, *totally* disable translation of messages.
> -+will respectively bypass any pre-existing `gettext' to use the
> -+internationalizing routines provided within this package, or else,
> -+_totally_ disable translation of messages.
> -
> -    When you already have GNU `gettext' installed on your system and run
> - configure without an option for your new package, `configure' will
> -@@ -83,18 +81,10 @@
> -
> - to prevent auto-detection.
> -
> --   By default the configuration process will not test for the `catgets'
> --function and therefore they will not be used.  The reasons are already
> --given above: the emulation on top of `catgets' cannot provide all the
> --extensions provided by the GNU `gettext' library.  If you nevertheless
> --want to use the `catgets' functions use
> --
> --     ./configure --with-catgets
> --
> --to enable the test for `catgets' (this causes no harm if `catgets' is
> --not available on your system).  If you really select this option we
> --would like to hear about the reasons because we cannot think of any
> --good one ourself.
> -+   The configuration process will not test for the `catgets' function
> -+and therefore it will not be used.  The reason is that even an
> -+emulation of `gettext' on top of `catgets' could not provide all the
> -+extensions of the GNU `gettext' library.
> -
> -    Internationalized packages have usually many `po/LL.po' files, where
> - LL gives an ISO 639 two-letter code identifying the language.  Unless
> -@@ -108,57 +98,73 @@
> - Using This Package
> - ==================
> -
> --   As a user, if your language has been installed for this package, you
> -+As a user, if your language has been installed for this package, you
> - only have to set the `LANG' environment variable to the appropriate
> --ISO 639 `LL' two-letter code prior to using the programs in the
> --package.  For example, let's suppose that you speak German.  At the
> --shell prompt, merely execute `setenv LANG de' (in `csh'),
> --`export LANG; LANG=de' (in `sh') or `export LANG=de' (in `bash').  This
> --can be done from your `.login' or `.profile' file, once and for all.
> -+`LL_CC' combination.  Here `LL' is an ISO 639 two-letter language code,
> -+and `CC' is an ISO 3166 two-letter country code.  For example, let's
> -+suppose that you speak German and live in Germany.  At the shell
> -+prompt, merely execute `setenv LANG de_DE' (in `csh'),
> -+`export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash').
> -+This can be done from your `.login' or `.profile' file, once and for
> -+all.
> -
> --   An operating system might already offer message localization for
> --many of its programs, while other programs have been installed locally
> --with the full capabilities of GNU `gettext'.  Just using `gettext'
> --extended syntax for `LANG' would break proper localization of already
> --available operating system programs.  In this case, users should set
> --both `LANGUAGE' and `LANG' variables in their environment, as programs
> --using GNU `gettext' give preference to `LANGUAGE'.  For example, some
> --Swedish users would rather read translations in German than English for
> --when Swedish is not available.  This is easily accomplished by setting
> --`LANGUAGE' to `sv:de' while leaving `LANG' to `sv'.
> -+   You might think that the country code specification is redundant.
> -+But in fact, some languages have dialects in different countries.  For
> -+example, `de_AT' is used for Austria, and `pt_BR' for Brazil.  The
> -+country code serves to distinguish the dialects.
> -+
> -+   The locale naming convention of `LL_CC', with `LL' denoting the
> -+language and `CC' denoting the country, is the one use on systems based
> -+on GNU libc.  On other systems, some variations of this scheme are
> -+used, such as `LL' or `LL_CC.ENCODING'.  You can get the list of
> -+locales supported by your system for your country by running the command
> -+`locale -a | grep '^LL''.
> -+
> -+   Not all programs have translations for all languages.  By default, an
> -+English message is shown in place of a nonexistent translation.  If you
> -+understand other languages, you can set up a priority list of languages.
> -+This is done through a different environment variable, called
> -+`LANGUAGE'.  GNU `gettext' gives preference to `LANGUAGE' over `LANG'
> -+for the purpose of message handling, but you still need to have `LANG'
> -+set to the primary language; this is required by other parts of the
> -+system libraries.  For example, some Swedish users who would rather
> -+read translations in German than English for when Swedish is not
> -+available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'.
> -+
> -+   Special advice for Norwegian users: The language code for Norwegian
> -+bokma*l changed from `no' to `nb' recently (in 2003).  During the
> -+transition period, while some message catalogs for this language are
> -+installed under `nb' and some older ones under `no', it's recommended
> -+for Norwegian users to set `LANGUAGE' to `nb:no' so that both newer and
> -+older translations are used.
> -+
> -+   In the `LANGUAGE' environment variable, but not in the `LANG'
> -+environment variable, `LL_CC' combinations can be abbreviated as `LL'
> -+to denote the language's main dialect.  For example, `de' is equivalent
> -+to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT'
> -+(Portuguese as spoken in Portugal) in this context.
> -
> - Translating Teams
> - =================
> -
> --   For the Free Translation Project to be a success, we need interested
> -+For the Free Translation Project to be a success, we need interested
> - people who like their own language and write it well, and who are also
> - able to synergize with other translators speaking the same language.
> --Each translation team has its own mailing list, courtesy of Linux
> --International.  You may reach your translation team at the address
> --`LL at li.org', replacing LL by the two-letter ISO 639 code for your
> --language.  Language codes are *not* the same as the country codes given
> --in ISO 3166.  The following translation teams exist, as of August 1997:
> --
> --     Chinese `zh', Czech `cs', Danish `da', Dutch `nl', English `en',
> --     Esperanto `eo', Finnish `fi', French `fr', German `de', Hungarian
> --     `hu', Irish `ga', Italian `it', Indonesian `id', Japanese `ja',
> --     Korean `ko', Latin `la', Norwegian `no', Persian `fa', Polish
> --     `pl', Portuguese `pt', Russian `ru', Slovenian `sl', Spanish `es',
> --     Swedish `sv', and Turkish `tr'.
> --
> --For example, you may reach the Chinese translation team by writing to
> --`zh at li.org'.
> -+Each translation team has its own mailing list.  The up-to-date list of
> -+teams can be found at the Free Translation Project's homepage,
> -+`http://www.iro.umontreal.ca/contrib/po/HTML/', in the "National teams"
> -+area.
> -
> --   If you'd like to volunteer to *work* at translating messages, you
> -+   If you'd like to volunteer to _work_ at translating messages, you
> - should become a member of the translating team for your own language.
> --The subscribing address is *not* the same as the list itself, it has
> -+The subscribing address is _not_ the same as the list itself, it has
> - `-request' appended.  For example, speakers of Swedish can send a
> - message to `sv-request at li.org', having this message body:
> -
> -      subscribe
> -
> -    Keep in mind that team members are expected to participate
> --*actively* in translations, or at solving translational difficulties,
> -+_actively_ in translations, or at solving translational difficulties,
> - rather than merely lurking around.  If your team does not exist yet and
> - you want to start one, or if you are unsure about what to do or how to
> - get started, please write to `translation at iro.umontreal.ca' to reach the
> -@@ -171,43 +177,559 @@
> - Available Packages
> - ==================
> -
> --   Languages are not equally supported in all packages.  The following
> --matrix shows the current state of internationalization, as of August
> --1997.  The matrix shows, in regard of each package, for which languages
> --PO files have been submitted to translation coordination.
> -+Languages are not equally supported in all packages.  The following
> -+matrix shows the current state of internationalization, as of January
> -+2004.  The matrix shows, in regard of each package, for which languages
> -+PO files have been submitted to translation coordination, with a
> -+translation percentage of at least 50%.
> -
> --     Ready PO files    cs da de en es fi fr it ja ko nl no pl pt sl sv
> --                     .-------------------------------------------------.
> --     bash            |       []          []          []
> |  3
> --     bison           |       []          []          []
> |  3
> --     clisp           |       [] [] []    []
> |  4
> --     cpio            |       []    []    []          []    []
> |  5
> --     diffutils       |       []    []    []                []       []
> |  5
> --     enscript        |       []    [] [] []          []          []
> |  6
> --     fileutils       | []    []    []    []       [] []    [] [] [] [] |
> 10
> --     findutils       |       []    []    [] []    [] []    []       []
> |  8
> --     flex            |             []    []       []                []
> |  4
> --     gcal            |       []          []          []    []       []
> |  5
> --     gettext         |       []    []    []       [] [] [] [] [] [] [] |
> 11
> --     grep            |       []    []    []       [] [] [] []    [] []
> |  9
> --     hello           |       []    []    []       [] [] [] [] [] [] [] |
> 10
> --     id-utils        |       []          []                []
> |  3
> --     indent          |    [] []                   []       []
> |  4
> --     libc            |       []    []    []       [] []    []       []
> |  7
> --     m4              |       []          []    []    []             []
> |  5
> --     make            |       []    []    []       [] []    []
> |  6
> --     music           |                   []                []
> |  2
> --     ptx             |       []    []    []          [] [] [] []    []
> |  8
> --     recode          |    [] []    []    []          []    [] [] [] []
> |  9
> --     sh-utils        |       []          []          [] [] [] []    []
> |  7
> --     sharutils       |       []    []    []          []             []
> |  5
> --     tar             |       []          [] []    [] [] [] [] [] [] [] |
> 10
> --     texinfo         |                   []
> |  1
> --     textutils       | []    []    []    []       [] [] [] []       []
> |  9
> --     wdiff           | []    []    []    []          [] [] []       []
> |  8
> --                     `-------------------------------------------------'
> --       16 languages    cs da de en es fi fr it ja ko nl no pl pt sl sv
> --       27 packages      3  2 24  1 17  1 26  2  1 11 20  9 19  7  7 17
> 167
> -+     Ready PO files       af am ar az be bg bs ca cs da de el en en_GB
> eo es
> -+
> +----------------------------------------------------+
> -+     a2ps               |             []             [] [] []
>     |
> -+     aegis              |                               ()
>      |
> -+     ant-phone          |                               ()
>      |
> -+     anubis             |
>     |
> -+     ap-utils           |
>     |
> -+     aspell             |             []
>      |
> -+     bash               |                      []       []
>  [] [] |
> -+     batchelor          |
>     |
> -+     bfd                |                            []
>  [] |
> -+     binutils           |                            []
>  [] |
> -+     bison              |                            [] []
>   [] |
> -+     bluez-pin          | []                      []
>  []    |
> -+     clisp              |
>     |
> -+     clisp              |                               []    []
>   [] |
> -+     console-tools      |                         []    []
>      |
> -+     coreutils          |                      []    [] []
>   [] |
> -+     cpio               |                            [] []
>   [] |
> -+     darkstat           |                []          ()
>  [] |
> -+     diffutils          |                      [] [] [] [] []
> [] [] |
> -+     e2fsprogs          |                         []    []
>   [] |
> -+     enscript           |                      []    [] []        []
>      |
> -+     error              |                      []    [] []        []
>   [] |
> -+     fetchmail          |                      [] () [] [] []
>  [] |
> -+     fileutils          |                            [] []
>   [] |
> -+     findutils          |             []       []    [] [] []
> [] [] |
> -+     flex               |                      []    [] []
>   [] |
> -+     fslint             |
>     |
> -+     gas                |
>  [] |
> -+     gawk               |                      []    [] []
>   [] |
> -+     gbiff              |                               []
>      |
> -+     gcal               |                      []
>     |
> -+     gcc                |                            []
>  [] |
> -+     gettext            |             []       []    [] []
>   [] |
> -+     gettext-examples   | []                   []       []
>   [] |
> -+     gettext-runtime    |             []       []    [] []
>   [] |
> -+     gettext-tools      |                      []       []
>   [] |
> -+     gimp-print         |                         [] [] []        []
>   [] |
> -+     gliv               |
>     |
> -+     glunarclock        |                            [] []
>      |
> -+     gnubiff            |                               []
>      |
> -+     gnucash            |                         []    ()        []
>   [] |
> -+     gnucash-glossary   |                            [] ()
>   [] |
> -+     gnupg              |                      [] ()    [] []
> [] [] |
> -+     gpe-aerial         |                         []
>      |
> -+     gpe-beam           |                         []    []
>      |
> -+     gpe-calendar       |                         []    []
>      |
> -+     gpe-clock          |                         []    []
>      |
> -+     gpe-conf           |                         []    []
>      |
> -+     gpe-contacts       |                         []    []
>      |
> -+     gpe-edit           |                         []
>      |
> -+     gpe-go             |                         []
>      |
> -+     gpe-login          |                         []    []
>      |
> -+     gpe-ownerinfo      |                         []    []
>      |
> -+     gpe-sketchbook     |                         []    []
>      |
> -+     gpe-su             |                         []    []
>      |
> -+     gpe-taskmanager    |                         []    []
>      |
> -+     gpe-timesheet      |                         []
>      |
> -+     gpe-today          |                         []    []
>      |
> -+     gpe-todo           |                         []    []
>      |
> -+     gphoto2            |                         [] [] []
>   [] |
> -+     gprof              |                            [] []
>   [] |
> -+     gpsdrive           |                               ()    ()
>   () |
> -+     gramadoir          |                               []
>      |
> -+     grep               |             [] []    []       [] []
>  [] |
> -+     gretl              |
>  [] |
> -+     gtick              | []                            ()
>      |
> -+     hello              |                      []    [] [] []
> [] [] |
> -+     id-utils           |                            [] []
>      |
> -+     indent             |                      []       []
>  [] [] |
> -+     iso_3166           |          []    [] [] [] [] [] [] []
> [] [] |
> -+     iso_3166_1         |                      [] [] [] [] []
>  [] |
> -+     iso_3166_2         |
>     |
> -+     iso_3166_3         |                               []
>      |
> -+     iso_4217           |                      []    [] []
>   [] |
> -+     iso_639            |
>     |
> -+     jpilot             |                         [] []
>  [] |
> -+     jtag               |
>     |
> -+     jwhois             |
>  [] |
> -+     kbd                |                         [] [] [] []
>  [] |
> -+     latrine            |                               ()
>      |
> -+     ld                 |                            []
>  [] |
> -+     libc               |                      [] [] [] [] []
>  [] |
> -+     libgpewidget       |                         []    []
>      |
> -+     libiconv           |                      []    [] []
>  [] [] |
> -+     lifelines          |                            [] ()
>      |
> -+     lilypond           |                               []
>      |
> -+     lingoteach         |
>     |
> -+     lingoteach_lessons |                               ()
>   () |
> -+     lynx               |                      [] [] [] []
>      |
> -+     m4                 |                         [] [] [] []
>     |
> -+     mailutils          |                      []
>  [] |
> -+     make               |                            [] []
>   [] |
> -+     man-db             |                      [] () [] []
>   () |
> -+     minicom            |                         []    []
>   [] |
> -+     mysecretdiary      |                            [] []
>   [] |
> -+     nano               |                      [] () [] []
>   [] |
> -+     nano_1_0           |                      [] () [] []
>   [] |
> -+     opcodes            |
>  [] |
> -+     parted             |                      [] [] [] []
>   [] |
> -+     ptx                |                      []    [] []
>  [] [] |
> -+     python             |
>     |
> -+     radius             |
>  [] |
> -+     recode             |             []       []    [] [] []
> [] [] |
> -+     rpm                |                         [] []
>     |
> -+     screem             |
>     |
> -+     scrollkeeper       |             []       [] [] [] []
>   [] |
> -+     sed                | []                   []    [] []
>  [] [] |
> -+     sh-utils           |                            [] []
>   [] |
> -+     shared-mime-info   |
>     |
> -+     sharutils          |                      [] [] [] [] []
>  [] |
> -+     silky              |                               ()
>      |
> -+     skencil            |                            [] ()
>   [] |
> -+     sketch             |                            [] ()
>   [] |
> -+     soundtracker       |                            [] []
>   [] |
> -+     sp                 |                               []
>      |
> -+     tar                |                         [] [] []
>   [] |
> -+     texinfo            |                            [] []
>  []    |
> -+     textutils          |                      []    [] []
>   [] |
> -+     tin                |                               ()        ()
>      |
> -+     tp-robot           |
>     |
> -+     tuxpaint           |                      [] [] [] [] []     []
>   [] |
> -+     unicode-han-tra... |
>     |
> -+     unicode-transla... |
>     |
> -+     util-linux         |                      [] [] [] []
>   [] |
> -+     vorbis-tools       |             []          [] []
>  [] |
> -+     wastesedge         |                               ()
>      |
> -+     wdiff              |                      []    [] []
>   [] |
> -+     wget               |                []    []    [] [] []
>  [] |
> -+     xchat              |                      []       [] []
>  [] |
> -+     xfree86_xkb_xml    |                         [] []
>     |
> -+     xpad               |
>  [] |
> -+
> +----------------------------------------------------+
> -+                          af am ar az be bg bs ca cs da de el en en_GB
> eo es
> -+                           4  0  0  1  9  4  1 40 41 60 78 17  1   5
>  13 68
> -+
> -+                          et eu fa fi fr ga gl he hr hu id is it ja ko lg
> -+
> +-------------------------------------------------+
> -+     a2ps               | []       [] []                      ()    ()
>   |
> -+     aegis              |
>  |
> -+     ant-phone          |             []
>   |
> -+     anubis             |             []
>   |
> -+     ap-utils           |             []
>   |
> -+     aspell             |             [] []
>  |
> -+     bash               |             []             []
>  |
> -+     batchelor          |             [] []
>  |
> -+     bfd                |             []
>   |
> -+     binutils           |             []                         []
>  |
> -+     bison              | []          []                []    []
>   |
> -+     bluez-pin          |          [] [] []          [] []
>   |
> -+     clisp              |
>  |
> -+     clisp              |             []
>   |
> -+     console-tools      |
>  |
> -+     coreutils          | []       [] [] []                   [] []
>  |
> -+     cpio               |             []    []       []             []
>   |
> -+     darkstat           |             () []          [] []
>   |
> -+     diffutils          |          [] []    [] []    [] []       []
>  |
> -+     e2fsprogs          |
>  |
> -+     enscript           |             []          []
>   |
> -+     error              |          [] [] []          []
>  |
> -+     fetchmail          |                                        []
>  |
> -+     fileutils          | []          [] []          []       [] []
>  |
> -+     findutils          | []       [] [] [] []    [] [] []    [] [] []
>   |
> -+     flex               |             [] []                         []
>   |
> -+     fslint             |             []
>   |
> -+     gas                |             []
>   |
> -+     gawk               |             []       []                []
>  |
> -+     gbiff              |             []
>   |
> -+     gcal               |             []
>   |
> -+     gcc                |             []
>   |
> -+     gettext            |             []                         [] []
>   |
> -+     gettext-examples   |             []                         []
>  |
> -+     gettext-runtime    |          [] []                []       [] []
>   |
> -+     gettext-tools      |             []                         [] []
>   |
> -+     gimp-print         |             []                         []
>  |
> -+     gliv               |             ()
>   |
> -+     glunarclock        |          []    [] []       []
>  |
> -+     gnubiff            |             []
>   |
> -+     gnucash            |             ()                      []
>   |
> -+     gnucash-glossary   |                                     []
>   |
> -+     gnupg              | []       [] []    []          []    [] []
>  |
> -+     gpe-aerial         |             []
>   |
> -+     gpe-beam           |             []
>   |
> -+     gpe-calendar       |             []             [] []
>   |
> -+     gpe-clock          |             []
>   |
> -+     gpe-conf           |             []
>   |
> -+     gpe-contacts       |             []             []
>  |
> -+     gpe-edit           |             []                []
>   |
> -+     gpe-go             |             []
>   |
> -+     gpe-login          |             []             []
>  |
> -+     gpe-ownerinfo      |             []             [] []
>   |
> -+     gpe-sketchbook     |             []
>   |
> -+     gpe-su             |             []
>   |
> -+     gpe-taskmanager    |             []
>   |
> -+     gpe-timesheet      |             [] []             []
>   |
> -+     gpe-today          |             [] []
>  |
> -+     gpe-todo           |             []                []
>   |
> -+     gphoto2            |             []             []          []
>  |
> -+     gprof              |             []                []
>   |
> -+     gpsdrive           |             ()                      () ()
>  |
> -+     gramadoir          |             [] []
>  |
> -+     grep               | []       [] [] [] [] [] [] [] []    [] []
>  |
> -+     gretl              |             []                      []
>   |
> -+     gtick              |          [] [] []
>  |
> -+     hello              | []    [] [] [] [] [] [] [] [] []    [] [] []
>   |
> -+     id-utils           |             []             [] []    []
>   |
> -+     indent             | []       [] [] [] []       [] []    [] []
>  |
> -+     iso_3166           |    []       [] []       [] [] []    []
>   |
> -+     iso_3166_1         |    []       [] []          [] []
>   |
> -+     iso_3166_2         |
>  |
> -+     iso_3166_3         |
>  |
> -+     iso_4217           | []          []    []       []       [] []
>  |
> -+     iso_639            |
>  |
> -+     jpilot             |             []                         ()
>  |
> -+     jtag               |             []
>   |
> -+     jwhois             |             []             [] []    []
>   |
> -+     kbd                |             []
>   |
> -+     latrine            |             []
>   |
> -+     ld                 |             []
>   |
> -+     libc               |          [] []    []       []          [] []
>   |
> -+     libgpewidget       |             [] []          [] []
>   |
> -+     libiconv           | []       [] [] [] []    [] [] []    []
>   |
> -+     lifelines          |             ()
>   |
> -+     lilypond           |             []
>   |
> -+     lingoteach         |             []                []
>   |
> -+     lingoteach_lessons |
>  |
> -+     lynx               | []                         []       [] []
>  |
> -+     m4                 |             []    []          []       []
>  |
> -+     mailutils          |
>  |
> -+     make               |             []    [] [] []             [] []
>   |
> -+     man-db             |                                     () ()
>  |
> -+     minicom            |          [] []             []          []
>  |
> -+     mysecretdiary      |             []                []
>   |
> -+     nano               |             []    []          []    []
>   |
> -+     nano_1_0           |             []    []          []    []
>   |
> -+     opcodes            |             []
>   |
> -+     parted             |             []    []                   []
>  |
> -+     ptx                | []       [] [] [] []       [] []
>   |
> -+     python             |
>  |
> -+     radius             |             []
>   |
> -+     recode             |             []    [] []    [] []    []
>   |
> -+     rpm                |             []                            []
>   |
> -+     screem             |
>  |
> -+     scrollkeeper       |                            []
>  |
> -+     sed                | []       [] [] [] []       [] []    [] []
>  |
> -+     sh-utils           | []       [] [] []          []       [] []
>  |
> -+     shared-mime-info   |          [] []             []
>  |
> -+     sharutils          | []          []    []       []          []
>  |
> -+     silky              |          () []             ()       ()
>   |
> -+     skencil            |             []
>   |
> -+     sketch             |             []
>   |
> -+     soundtracker       |             []                      []
>   |
> -+     sp                 |             []                         ()
>  |
> -+     tar                | []       [] []    []    [] [] []    [] []
>  |
> -+     texinfo            |             []       [] []             []
>  |
> -+     textutils          |             [] [] []       []          [] []
>   |
> -+     tin                | []          ()
>   |
> -+     tp-robot           |             []
>   |
> -+     tuxpaint           |          [] []       []    [] [] [] [] [] []
>   |
> -+     unicode-han-tra... |
>  |
> -+     unicode-transla... |             [] []
>  |
> -+     util-linux         | []       [] []             []       () []
>  |
> -+     vorbis-tools       |             []
>   |
> -+     wastesedge         |             ()
>   |
> -+     wdiff              | []          [] [] []       [] []
>   |
> -+     wget               | []       [] []    []    [] []          []
>  |
> -+     xchat              | []       [] []
>   |
> -+     xfree86_xkb_xml    |             []             []
>  |
> -+     xpad               |             [] []
>  |
> -+
> +-------------------------------------------------+
> -+                          et eu fa fi fr ga gl he hr hu id is it ja ko lg
> -+                          22  2  1 26 106 28 24  8 10 41 33  1 26 33 12
> 0
> -+
> -+                          lt lv mk mn ms mt nb nl nn no nso pl pt pt_BR
> ro ru
> -+
> +-----------------------------------------------------+
> -+     a2ps               |             []       []    ()     ()     []
>  [] [] |
> -+     aegis              |                      ()
>  () () |
> -+     ant-phone          |                      []
>  []    |
> -+     anubis             |             []    [] []           []
> [] [] |
> -+     ap-utils           |                      []           ()
> []    |
> -+     aspell             |                      []
>      |
> -+     bash               |                                          []
>  [] [] |
> -+     batchelor          |
>  []    |
> -+     bfd                |
>  []    |
> -+     binutils           |
>   [] |
> -+     bison              |             []       []                  []
>  [] [] |
> -+     bluez-pin          |                      []           []
> []    |
> -+     clisp              |
>      |
> -+     clisp              |                      []
>      |
> -+     console-tools      |
>   [] |
> -+     coreutils          |                                   []
>    [] |
> -+     cpio               |                      []           []     []
>  [] [] |
> -+     darkstat           |             []       []                  []
>  []    |
> -+     diffutils          |             []       []           []     []
>  [] [] |
> -+     e2fsprogs          |                                   []
>       |
> -+     enscript           |                      []                  []
>  [] [] |
> -+     error              |                      []                  []
>  []    |
> -+     fetchmail          |                      []           []     ()
>   [] |
> -+     fileutils          |                                   []
> [] [] |
> -+     findutils          |                      []           []     []
>  [] [] |
> -+     flex               |                                   []     []
>  [] [] |
> -+     fslint             |                      []
>  []    |
> -+     gas                |
>      |
> -+     gawk               |                                   []     []
>  []    |
> -+     gbiff              |                      []
>  []    |
> -+     gcal               |
>      |
> -+     gcc                |
>      |
> -+     gettext            |                                   []
> [] [] |
> -+     gettext-examples   |                      []           []
> []    |
> -+     gettext-runtime    |                      []           []
> [] [] |
> -+     gettext-tools      |                                   []
> []    |
> -+     gimp-print         |                      []
>      |
> -+     gliv               |                      []                  []
>  []    |
> -+     glunarclock        |             []       []
>  [] [] |
> -+     gnubiff            |                      []
>      |
> -+     gnucash            |                      []              []  ()
>   [] |
> -+     gnucash-glossary   |                      []              []
>      |
> -+     gnupg              |
>  []    |
> -+     gpe-aerial         |                      []              []
>  [] [] |
> -+     gpe-beam           |                      []              []
>  [] [] |
> -+     gpe-calendar       |                      []              []
>  [] [] |
> -+     gpe-clock          |                      []              []
>  [] [] |
> -+     gpe-conf           |                      []              []
>  [] [] |
> -+     gpe-contacts       |                      []              []
>  [] [] |
> -+     gpe-edit           |                      []              []
>  [] [] |
> -+     gpe-go             |                      []
>  [] [] |
> -+     gpe-login          |                      []              []
>  [] [] |
> -+     gpe-ownerinfo      |                      []              []
>  [] [] |
> -+     gpe-sketchbook     |                      []              []
>  [] [] |
> -+     gpe-su             |                      []              []
>  [] [] |
> -+     gpe-taskmanager    |                      []              []
>  [] [] |
> -+     gpe-timesheet      |                      []              []
>  [] [] |
> -+     gpe-today          |                      []              []
>  [] [] |
> -+     gpe-todo           |                      []              []
>  [] [] |
> -+     gphoto2            |
>  []    |
> -+     gprof              |                                          []
>  []    |
> -+     gpsdrive           |                      ()    ()
>  []    |
> -+     gramadoir          |                      ()
>  []    |
> -+     grep               |                                   [] []  []
>  [] [] |
> -+     gretl              |
>      |
> -+     gtick              |                      []
>  [] [] |
> -+     hello              |    []       []    [] [] [] []     []     []
>  [] [] |
> -+     id-utils           |                      []                  []
>  [] [] |
> -+     indent             |                      []                  []
>  [] [] |
> -+     iso_3166           |          []                [] []
>       |
> -+     iso_3166_1         |                      []    []
>      |
> -+     iso_3166_2         |
>      |
> -+     iso_3166_3         |                      []
>      |
> -+     iso_4217           |          []          [] [] []     [] []  []
>   [] |
> -+     iso_639            |          []
>      |
> -+     jpilot             |                      ()    ()
>      |
> -+     jtag               |
>      |
> -+     jwhois             |                      []           []     []
>  [] () |
> -+     kbd                |                      []           []
> []    |
> -+     latrine            |
>  []    |
> -+     ld                 |
>      |
> -+     libc               |                   []       []     []     []
>      |
> -+     libgpewidget       |                      []              []
>  []    |
> -+     libiconv           |                      []           []     []
>  [] [] |
> -+     lifelines          |
>      |
> -+     lilypond           |
>      |
> -+     lingoteach         |
>      |
> -+     lingoteach_lessons |
>      |
> -+     lynx               |                      []                  []
>   [] |
> -+     m4                 |                      []           []     []
>  [] [] |
> -+     mailutils          |                                   []
> [] [] |
> -+     make               |                      []           []     []
>   [] |
> -+     man-db             |
>  []    |
> -+     minicom            |                                   []     []
>  [] [] |
> -+     mysecretdiary      |                      []                  []
>  []    |
> -+     nano               |             []       []           []
> [] [] |
> -+     nano_1_0           |             []    []    []        []
> [] [] |
> -+     opcodes            |                      []
>  []    |
> -+     parted             |                         []        [] []  []
>      |
> -+     ptx                |                   [] []    []     [] []  []
>  [] [] |
> -+     python             |
>      |
> -+     radius             |                                   []
>    [] |
> -+     recode             |                                   []     []
>  [] [] |
> -+     rpm                |                                   [] []
>   [] |
> -+     screem             |
>      |
> -+     scrollkeeper       |                   [] []           []
> [] [] |
> -+     sed                |                                   []     []
>  []    |
> -+     sh-utils           |                   []
>    [] |
> -+     shared-mime-info   |                      [] []
>       |
> -+     sharutils          |                      []
>   [] |
> -+     silky              |
>   () |
> -+     skencil            |                                      []  []
>      |
> -+     sketch             |                                      []  []
>      |
> -+     soundtracker       |
>      |
> -+     sp                 |
>      |
> -+     tar                |             []    []       []     []     []
>  []    |
> -+     texinfo            |                   []              []
> [] [] |
> -+     textutils          |                   []
>    [] |
> -+     tin                |
>      |
> -+     tp-robot           |                      []
>      |
> -+     tuxpaint           | []          []       [] []        [] []  []
>  []    |
> -+     unicode-han-tra... |
>      |
> -+     unicode-transla... |
>      |
> -+     util-linux         |                      []                  []
>   [] |
> -+     vorbis-tools       |                      []
>  [] [] |
> -+     wastesedge         |
>      |
> -+     wdiff              |             []                    []     []
>  [] [] |
> -+     wget               |                                   []
> [] [] |
> -+     xchat              |    []                []
>   [] |
> -+     xfree86_xkb_xml    |                      []
>   [] |
> -+     xpad               |                      []
>  []    |
> -+
> +-----------------------------------------------------+
> -+                          lt lv mk mn ms mt nb nl nn no nso pl pt pt_BR
> ro ru
> -+                           1  2  0  3 12  0 10 69  6  7  1  40 26  36
>  76 63
> -+
> -+                          sk sl sr sv ta th tr uk ven vi wa xh zh_CN
> zh_TW zu
> -+
> +-----------------------------------------------------+
> -+     a2ps               |    []    []       [] []
>      | 16
> -+     aegis              |
>      |  0
> -+     ant-phone          |
>      |  3
> -+     anubis             |                   [] []
>      |  9
> -+     ap-utils           |                      ()
>      |  3
> -+     aspell             |
>      |  4
> -+     bash               |
>      |  9
> -+     batchelor          |
>      |  3
> -+     bfd                |          []       []
>       |  6
> -+     binutils           |          []       []                  []
>       |  8
> -+     bison              |          []       []
>       | 14
> -+     bluez-pin          | []       []                    []
>      | 14
> -+     clisp              |
>      |  0
> -+     clisp              |
>      |  5
> -+     console-tools      |
>      |  3
> -+     coreutils          |    []    []       []
> []      | 16
> -+     cpio               |          []                           []
>       | 14
> -+     darkstat           | []    [] []                           ()
> ()      | 12
> -+     diffutils          |          []       []
> []      | 23
> -+     e2fsprogs          |          []       []
>       |  6
> -+     enscript           |          []       []
>       | 12
> -+     error              | []                []
> []      | 15
> -+     fetchmail          | []                []
>       | 11
> -+     fileutils          |    []    []       []                  []
> []      | 17
> -+     findutils          | [] [] [] []       []                  []
>       | 29
> -+     flex               |          []       []
>       | 13
> -+     fslint             |
>      |  3
> -+     gas                |                   []
>       |  3
> -+     gawk               |          []       []
>       | 12
> -+     gbiff              |
>      |  4
> -+     gcal               |          []       []
>       |  4
> -+     gcc                |                   []
>       |  4
> -+     gettext            | [] []    []       []
> []      | 16
> -+     gettext-examples   | []    [] []       []                  []
>       | 14
> -+     gettext-runtime    | [] [] [] []       [] []               []
> []      | 22
> -+     gettext-tools      | [] [] [] []       []                  []
>       | 14
> -+     gimp-print         | []       []
>      | 10
> -+     gliv               |
>      |  3
> -+     glunarclock        |       [] []                    []
>      | 13
> -+     gnubiff            |
>      |  3
> -+     gnucash            | []
> []      |  9
> -+     gnucash-glossary   | []       []
>  []      |  8
> -+     gnupg              | []       []       []
> []      | 17
> -+     gpe-aerial         |          []
>      |  7
> -+     gpe-beam           |          []
>      |  8
> -+     gpe-calendar       | []       []                    []
>  []      | 13
> -+     gpe-clock          | []    [] []
>      | 10
> -+     gpe-conf           | []       []
>      |  9
> -+     gpe-contacts       | []       []
>  []      | 11
> -+     gpe-edit           | []    [] []                    []
>  []      | 12
> -+     gpe-go             |
>      |  5
> -+     gpe-login          | []    [] []                    []
>  []      | 13
> -+     gpe-ownerinfo      | []    [] []
>  []      | 13
> -+     gpe-sketchbook     | []       []
>      |  9
> -+     gpe-su             | []    [] []
>      | 10
> -+     gpe-taskmanager    | []    [] []
>      | 10
> -+     gpe-timesheet      | []    [] []
>  []      | 12
> -+     gpe-today          | []    [] []                    []
>  []      | 13
> -+     gpe-todo           | []       []                    []
>  []      | 12
> -+     gphoto2            | []       []                           []
>       | 11
> -+     gprof              |          []       []
>       |  9
> -+     gpsdrive           | []       []
>      |  3
> -+     gramadoir          | []
>       |  5
> -+     grep               |    [] []          [] []
>      | 26
> -+     gretl              |
>      |  3
> -+     gtick              |
>      |  7
> -+     hello              | []    [] []       [] []
>      | 34
> -+     id-utils           |          []       []
>       | 12
> -+     indent             | []    [] []       []
>       | 21
> -+     iso_3166           | [] [] [] []       []    []     []
>      | 27
> -+     iso_3166_1         | [] []             []
>       | 16
> -+     iso_3166_2         |
>      |  0
> -+     iso_3166_3         |
>      |  2
> -+     iso_4217           | [] []    []       [] []               []
>       | 24
> -+     iso_639            |
>      |  1
> -+     jpilot             |          []       []        []        []
> []      |  9
> -+     jtag               | []
>       |  2
> -+     jwhois             |          ()       []
> []      | 11
> -+     kbd                |          []       []
>       | 11
> -+     latrine            |
>      |  2
> -+     ld                 |          []       []
>       |  5
> -+     libc               | []       []       []                  []
>       | 20
> -+     libgpewidget       | []    [] []                    []
>      | 13
> -+     libiconv           | [] [] [] []       [] []        []     []
>       | 27
> -+     lifelines          |          []
>      |  2
> -+     lilypond           |          []
>      |  3
> -+     lingoteach         |
>      |  2
> -+     lingoteach_lessons |                                       ()
>       |  0
> -+     lynx               |          []       [] []
>      | 14
> -+     m4                 |          []                           []
>       | 15
> -+     mailutils          |
>      |  5
> -+     make               |          []       []                  []
>       | 16
> -+     man-db             |          []
>      |  5
> -+     minicom            |
>      | 11
> -+     mysecretdiary      |          []       []
>       | 10
> -+     nano               |       [] []       [] []
>      | 17
> -+     nano_1_0           |          []       [] []
>      | 17
> -+     opcodes            |          []       []
>       |  6
> -+     parted             |          []       []                  []
>       | 15
> -+     ptx                |          []       []
>       | 22
> -+     python             |
>      |  0
> -+     radius             |
>      |  4
> -+     recode             |    []    []       []
>       | 20
> -+     rpm                |          []       []
>       |  9
> -+     screem             |          []                           []
>       |  2
> -+     scrollkeeper       | []    [] []
>      | 15
> -+     sed                | [] [] [] []       [] []
>      | 24
> -+     sh-utils           |    []             []
>       | 14
> -+     shared-mime-info   |       [] []
>      |  7
> -+     sharutils          |       [] []       []
> []      | 17
> -+     silky              | ()
>       |  3
> -+     skencil            |          []
>      |  6
> -+     sketch             |          []
>      |  6
> -+     soundtracker       | []       []
>      |  7
> -+     sp                 |                   []
>       |  3
> -+     tar                | [] []    []       []                  []
>       | 24
> -+     texinfo            |          []       []                  []
>       | 14
> -+     textutils          |    []    []       []
> []      | 16
> -+     tin                |
>      |  1
> -+     tp-robot           |
>      |  2
> -+     tuxpaint           | []       []       []           []     []
>       | 29
> -+     unicode-han-tra... |
>      |  0
> -+     unicode-transla... |
>      |  2
> -+     util-linux         |          []       []
>       | 15
> -+     vorbis-tools       |
>      |  8
> -+     wastesedge         |
>      |  0
> -+     wdiff              | []       []       []
>       | 18
> -+     wget               | [] [] [] []       [] []               []
> []      | 24
> -+     xchat              | [] [] [] []                           []
>       | 15
> -+     xfree86_xkb_xml    | []    []          [] []               []
>       | 11
> -+     xpad               |
>      |  5
> -+
> +-----------------------------------------------------+
> -+       63 teams           sk sl sr sv ta th tr uk ven vi wa xh zh_CN
> zh_TW zu
> -+      131 domains         47 19 28 83  0  0 59 13  1   1 11  0  22
> 22    0  1373
> -
> -    Some counters in the preceding matrix are higher than the number of
> - visible blocks let us expect.  This is because a few extra PO files are
> -@@ -220,6 +742,27 @@
> - lag between the mere existence a PO file and its wide availability in a
> - distribution.
> -
> --   If August 1997 seems to be old, you may fetch a more recent copy of
> --this `ABOUT-NLS' file on most GNU archive sites.
> -+   If January 2004 seems to be old, you may fetch a more recent copy of
> -+this `ABOUT-NLS' file on most GNU archive sites.  The most up-to-date
> -+matrix with full percentage details can be found at
> -+`http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'.
> -+
> -+Using `gettext' in new packages
> -+===============================
> -+
> -+If you are writing a freely available program and want to
> -+internationalize it you are welcome to use GNU `gettext' in your
> -+package.  Of course you have to respect the GNU Library General Public
> -+License which covers the use of the GNU `gettext' library.  This means
> -+in particular that even non-free programs can use `libintl' as a shared
> -+library, whereas only free software can use `libintl' as a static
> -+library or use modified versions of `libintl'.
> -+
> -+   Once the sources are changed appropriately and the setup can handle
> -+the use of `gettext' the only thing missing are the translations.  The
> -+Free Translation Project is also available for packages which are not
> -+developed inside the GNU project.  Therefore the information given above
> -+applies also for every other Free Software Project.  Contact
> -+`translation at iro.umontreal.ca' to make the `.pot' files available to
> -+the translation teams.
> -
> ---- lrzsz-0.12.20.safe/ChangeLog       1998-12-29 17:49:56.000000000 -0500
> -+++ lrzsz-0.12.20/ChangeLog    2004-09-12 14:40:35.846521456 -0400
> -@@ -1,3 +1,11 @@
> -+2004-09-12  gettextize  <bug-gnu-gettext at gnu.org>
> -+
> -+      * Makefile.am (ACLOCAL_AMFLAGS): New variable.
> -+      (EXTRA_DIST): Add config.rpath.
> -+      * configure.in (AC_OUTPUT): Add m4/Makefile.
> -+      (AC_OUTPUT): Remove command that created po/Makefile.
> -+      (AC_LINK_FILES): Remove invocation.
> -+
> - 1998-12-29    Uwe Ohse  <uwe at ohse.de>
> -
> -       * src/lrz.c: removed stpcpy call.
> ---- lrzsz-0.12.20.safe/config.rpath    1969-12-31 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/config.rpath 2004-09-12 14:40:34.329752040 -0400
> -@@ -0,0 +1,548 @@
> -+#! /bin/sh
> -+# Output a system dependent set of variables, describing how to set the
> -+# run time search path of shared libraries in an executable.
> -+#
> -+#   Copyright 1996-2003 Free Software Foundation, Inc.
> -+#   Taken from GNU libtool, 2001
> -+#   Originally by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
> -+#
> -+#   This 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.
> -+#
> -+# The first argument passed to this file is the canonical host
> specification,
> -+#    CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
> -+# or
> -+#    CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
> -+# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld
> -+# should be set by the caller.
> -+#
> -+# The set of defined variables is at the end of this script.
> -+
> -+# Known limitations:
> -+# - On IRIX 6.5 with CC="cc", the run time search patch must not be
> longer
> -+#   than 256 bytes, otherwise the compiler driver will dump core. The
> only
> -+#   known workaround is to choose shorter directory names for the build
> -+#   directory and/or the installation directory.
> -+
> -+# All known linkers require a `.a' archive for static linking (except
> M$VC,
> -+# which needs '.lib').
> -+libext=a
> -+shrext=.so
> -+
> -+host="$1"
> -+host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
> -+host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
> -+host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
> -+
> -+# Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC.
> -+
> -+wl=
> -+if test "$GCC" = yes; then
> -+  wl='-Wl,'
> -+else
> -+  case "$host_os" in
> -+    aix*)
> -+      wl='-Wl,'
> -+      ;;
> -+    mingw* | pw32* | os2*)
> -+      ;;
> -+    hpux9* | hpux10* | hpux11*)
> -+      wl='-Wl,'
> -+      ;;
> -+    irix5* | irix6* | nonstopux*)
> -+      wl='-Wl,'
> -+      ;;
> -+    newsos6)
> -+      ;;
> -+    linux*)
> -+      case $CC in
> -+        icc|ecc)
> -+          wl='-Wl,'
> -+          ;;
> -+        ccc)
> -+          wl='-Wl,'
> -+          ;;
> -+      esac
> -+      ;;
> -+    osf3* | osf4* | osf5*)
> -+      wl='-Wl,'
> -+      ;;
> -+    sco3.2v5*)
> -+      ;;
> -+    solaris*)
> -+      wl='-Wl,'
> -+      ;;
> -+    sunos4*)
> -+      wl='-Qoption ld '
> -+      ;;
> -+    sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
> -+      wl='-Wl,'
> -+      ;;
> -+    sysv4*MP*)
> -+      ;;
> -+    uts4*)
> -+      ;;
> -+  esac
> -+fi
> -+
> -+# Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS.
> -+
> -+hardcode_libdir_flag_spec=
> -+hardcode_libdir_separator=
> -+hardcode_direct=no
> -+hardcode_minus_L=no
> -+
> -+case "$host_os" in
> -+  cygwin* | mingw* | pw32*)
> -+    # 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
> -+    ;;
> -+  openbsd*)
> -+    with_gnu_ld=no
> -+    ;;
> -+esac
> -+
> -+ld_shlibs=yes
> -+if test "$with_gnu_ld" = yes; then
> -+  case "$host_os" in
> -+    aix3* | aix4* | aix5*)
> -+      # On AIX/PPC, the GNU linker is very broken
> -+      if test "$host_cpu" != ia64; then
> -+        ld_shlibs=no
> -+      fi
> -+      ;;
> -+    amigaos*)
> -+      hardcode_libdir_flag_spec='-L$libdir'
> -+      hardcode_minus_L=yes
> -+      # Samuel A. Falvo II <kc5tja at dolphin.openprojects.net> reports
> -+      # that the semantics of dynamic libraries on AmigaOS, at least up
> -+      # to version 4, is to share data among multiple programs linked
> -+      # with the same dynamic library.  Since this doesn't match the
> -+      # behavior of shared libraries on other platforms, we can use
> -+      # them.
> -+      ld_shlibs=no
> -+      ;;
> -+    beos*)
> -+      if $LD --help 2>&1 | grep ': supported targets:.* elf' >
> /dev/null; then
> -+        :
> -+      else
> -+        ld_shlibs=no
> -+      fi
> -+      ;;
> -+    cygwin* | mingw* | pw32*)
> -+      # hardcode_libdir_flag_spec is actually meaningless, as there is
> -+      # no search path for DLLs.
> -+      hardcode_libdir_flag_spec='-L$libdir'
> -+      if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
> -+        :
> -+      else
> -+        ld_shlibs=no
> -+      fi
> -+      ;;
> -+    netbsd*)
> -+      ;;
> -+    solaris* | sysv5*)
> -+      if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
> -+        ld_shlibs=no
> -+      elif $LD --help 2>&1 | grep ': supported targets:.* elf' >
> /dev/null; then
> -+        :
> -+      else
> -+        ld_shlibs=no
> -+      fi
> -+      ;;
> -+    sunos4*)
> -+      hardcode_direct=yes
> -+      ;;
> -+    *)
> -+      if $LD --help 2>&1 | grep ': supported targets:.* elf' >
> /dev/null; then
> -+        :
> -+      else
> -+        ld_shlibs=no
> -+      fi
> -+      ;;
> -+  esac
> -+  if test "$ld_shlibs" = yes; then
> -+    # Unlike libtool, we use -rpath here, not --rpath, since the
> documented
> -+    # option of GNU ld is called -rpath, not --rpath.
> -+    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
> -+  fi
> -+else
> -+  case "$host_os" in
> -+    aix3*)
> -+      # Note: this linker hardcodes the directories in LIBPATH if there
> -+      # are no directories specified by -L.
> -+      hardcode_minus_L=yes
> -+      if test "$GCC" = yes; then
> -+        # Neither direct hardcoding nor static linking is supported with
> a
> -+        # broken collect2.
> -+        hardcode_direct=unsupported
> -+      fi
> -+      ;;
> -+    aix4* | aix5*)
> -+      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
> -+      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.
> -+        case $host_os in aix4.[23]|aix4.[23].*|aix5*)
> -+          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
> -+      fi
> -+      hardcode_direct=yes
> -+      hardcode_libdir_separator=':'
> -+      if test "$GCC" = yes; then
> -+        case $host_os in aix4.[012]|aix4.[012].*)
> -+          collect2name=`${CC} -print-prog-name=collect2`
> -+          if test -f "$collect2name" && \
> -+            strings "$collect2name" | grep resolve_lib_name >/dev/null
> -+          then
> -+            # We have reworked collect2
> -+            hardcode_direct=yes
> -+          else
> -+            # We have old collect2
> -+            hardcode_direct=unsupported
> -+            hardcode_minus_L=yes
> -+            hardcode_libdir_flag_spec='-L$libdir'
> -+            hardcode_libdir_separator=
> -+          fi
> -+        esac
> -+      fi
> -+      # Begin _LT_AC_SYS_LIBPATH_AIX.
> -+      echo 'int main () { return 0; }' > conftest.c
> -+      ${CC} ${LDFLAGS} conftest.c -o conftest
> -+      aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import
> File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
> -+}'`
> -+      if test -z "$aix_libpath"; then
> -+        aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e
> '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
> -+}'`
> -+      fi
> -+      if test -z "$aix_libpath"; then
> -+        aix_libpath="/usr/lib:/lib"
> -+      fi
> -+      rm -f conftest.c conftest
> -+      # End _LT_AC_SYS_LIBPATH_AIX.
> -+      if test "$aix_use_runtimelinking" = yes; then
> -+        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
> -+      else
> -+        if test "$host_cpu" = ia64; then
> -+          hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
> -+        else
> -+
> hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
> -+        fi
> -+      fi
> -+      ;;
> -+    amigaos*)
> -+      hardcode_libdir_flag_spec='-L$libdir'
> -+      hardcode_minus_L=yes
> -+      # see comment about different semantics on the GNU ld section
> -+      ld_shlibs=no
> -+      ;;
> -+    bsdi4*)
> -+      ;;
> -+    cygwin* | mingw* | pw32*)
> -+      # 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.
> -+      hardcode_libdir_flag_spec=' '
> -+      libext=lib
> -+      ;;
> -+    darwin* | rhapsody*)
> -+      if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then
> -+        hardcode_direct=no
> -+      fi
> -+      ;;
> -+    dgux*)
> -+      hardcode_libdir_flag_spec='-L$libdir'
> -+      ;;
> -+    freebsd1*)
> -+      ld_shlibs=no
> -+      ;;
> -+    freebsd2.2*)
> -+      hardcode_libdir_flag_spec='-R$libdir'
> -+      hardcode_direct=yes
> -+      ;;
> -+    freebsd2*)
> -+      hardcode_direct=yes
> -+      hardcode_minus_L=yes
> -+      ;;
> -+    freebsd*)
> -+      hardcode_libdir_flag_spec='-R$libdir'
> -+      hardcode_direct=yes
> -+      ;;
> -+    hpux9*)
> -+      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
> -+      ;;
> -+    hpux10* | hpux11*)
> -+      if test "$with_gnu_ld" = no; then
> -+        case "$host_cpu" in
> -+          hppa*64*)
> -+            hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
> -+            hardcode_libdir_separator=:
> -+            hardcode_direct=no
> -+            ;;
> -+          ia64*)
> -+            hardcode_libdir_flag_spec='-L$libdir'
> -+            hardcode_direct=no
> -+            # hardcode_minus_L: Not really in the search PATH,
> -+            # but as the default location of the library.
> -+            hardcode_minus_L=yes
> -+            ;;
> -+          *)
> -+            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
> -+            ;;
> -+        esac
> -+      fi
> -+      ;;
> -+    irix5* | irix6* | nonstopux*)
> -+      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
> -+      hardcode_libdir_separator=:
> -+      ;;
> -+    netbsd*)
> -+      hardcode_libdir_flag_spec='-R$libdir'
> -+      hardcode_direct=yes
> -+      ;;
> -+    newsos6)
> -+      hardcode_direct=yes
> -+      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
> -+      hardcode_libdir_separator=:
> -+      ;;
> -+    openbsd*)
> -+      hardcode_direct=yes
> -+      if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test
> "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
> -+        hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
> -+      else
> -+        case "$host_os" in
> -+          openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
> -+            hardcode_libdir_flag_spec='-R$libdir'
> -+            ;;
> -+          *)
> -+            hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
> -+            ;;
> -+        esac
> -+      fi
> -+      ;;
> -+    os2*)
> -+      hardcode_libdir_flag_spec='-L$libdir'
> -+      hardcode_minus_L=yes
> -+      ;;
> -+    osf3*)
> -+      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
> -+      hardcode_libdir_separator=:
> -+      ;;
> -+    osf4* | osf5*)
> -+      if test "$GCC" = yes; then
> -+        hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
> -+      else
> -+        # Both cc and cxx compiler support -rpath directly
> -+        hardcode_libdir_flag_spec='-rpath $libdir'
> -+      fi
> -+      hardcode_libdir_separator=:
> -+      ;;
> -+    sco3.2v5*)
> -+      ;;
> -+    solaris*)
> -+      hardcode_libdir_flag_spec='-R$libdir'
> -+      ;;
> -+    sunos4*)
> -+      hardcode_libdir_flag_spec='-L$libdir'
> -+      hardcode_direct=yes
> -+      hardcode_minus_L=yes
> -+      ;;
> -+    sysv4)
> -+      case $host_vendor in
> -+        sni)
> -+          hardcode_direct=yes # is this really true???
> -+          ;;
> -+        siemens)
> -+          hardcode_direct=no
> -+          ;;
> -+        motorola)
> -+          hardcode_direct=no #Motorola manual says yes, but my tests say
> they lie
> -+          ;;
> -+      esac
> -+      ;;
> -+    sysv4.3*)
> -+      ;;
> -+    sysv4*MP*)
> -+      if test -d /usr/nec; then
> -+        ld_shlibs=yes
> -+      fi
> -+      ;;
> -+    sysv4.2uw2*)
> -+      hardcode_direct=yes
> -+      hardcode_minus_L=no
> -+      ;;
> -+    sysv5OpenUNIX8* | sysv5UnixWare7* |  sysv5uw[78]* | unixware7*)
> -+      ;;
> -+    sysv5*)
> -+      hardcode_libdir_flag_spec=
> -+      ;;
> -+    uts4*)
> -+      hardcode_libdir_flag_spec='-L$libdir'
> -+      ;;
> -+    *)
> -+      ld_shlibs=no
> -+      ;;
> -+  esac
> -+fi
> -+
> -+# Check dynamic linker characteristics
> -+# Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER.
> -+libname_spec='lib$name'
> -+case "$host_os" in
> -+  aix3*)
> -+    ;;
> -+  aix4* | aix5*)
> -+    ;;
> -+  amigaos*)
> -+    ;;
> -+  beos*)
> -+    ;;
> -+  bsdi4*)
> -+    ;;
> -+  cygwin* | mingw* | pw32*)
> -+    shrext=.dll
> -+    ;;
> -+  darwin* | rhapsody*)
> -+    shrext=.dylib
> -+    ;;
> -+  dgux*)
> -+    ;;
> -+  freebsd1*)
> -+    ;;
> -+  freebsd*)
> -+    ;;
> -+  gnu*)
> -+    ;;
> -+  hpux9* | hpux10* | hpux11*)
> -+    case "$host_cpu" in
> -+      ia64*)
> -+        shrext=.so
> -+        ;;
> -+      hppa*64*)
> -+        shrext=.sl
> -+        ;;
> -+      *)
> -+        shrext=.sl
> -+        ;;
> -+    esac
> -+    ;;
> -+  irix5* | irix6* | nonstopux*)
> -+    case "$host_os" in
> -+      irix5* | nonstopux*)
> -+        libsuff= shlibsuff=
> -+        ;;
> -+      *)
> -+        case $LD in
> -+          *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff=
> shlibsuff= ;;
> -+          *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32
> shlibsuff=N32 ;;
> -+          *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64
> shlibsuff=64 ;;
> -+          *) libsuff= shlibsuff= ;;
> -+        esac
> -+        ;;
> -+    esac
> -+    ;;
> -+  linux*oldld* | linux*aout* | linux*coff*)
> -+    ;;
> -+  linux*)
> -+    ;;
> -+  netbsd*)
> -+    ;;
> -+  newsos6)
> -+    ;;
> -+  nto-qnx)
> -+    ;;
> -+  openbsd*)
> -+    ;;
> -+  os2*)
> -+    libname_spec='$name'
> -+    shrext=.dll
> -+    ;;
> -+  osf3* | osf4* | osf5*)
> -+    ;;
> -+  sco3.2v5*)
> -+    ;;
> -+  solaris*)
> -+    ;;
> -+  sunos4*)
> -+    ;;
> -+  sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
> -+    ;;
> -+  sysv4*MP*)
> -+    ;;
> -+  uts4*)
> -+    ;;
> -+esac
> -+
> -+sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
> -+escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"`
> -+shlibext=`echo "$shrext" | sed -e 's,^\.,,'`
> -+escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" |
> sed -e 's/^X//' -e "$sed_quote_subst"`
> -+
> -+sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF
> -+
> -+# How to pass a linker flag through the compiler.
> -+wl="$escaped_wl"
> -+
> -+# Static library suffix (normally "a").
> -+libext="$libext"
> -+
> -+# Shared library suffix (normally "so").
> -+shlibext="$shlibext"
> -+
> -+# Flag to hardcode \$libdir into a binary during linking.
> -+# This must work even if \$libdir does not exist.
> -+hardcode_libdir_flag_spec="$escaped_hardcode_libdir_flag_spec"
> -+
> -+# Whether we need a single -rpath flag with a separated argument.
> -+hardcode_libdir_separator="$hardcode_libdir_separator"
> -+
> -+# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into
> the
> -+# resulting binary.
> -+hardcode_direct="$hardcode_direct"
> -+
> -+# Set to yes if using the -LDIR flag during linking hardcodes DIR into
> the
> -+# resulting binary.
> -+hardcode_minus_L="$hardcode_minus_L"
> -+
> -+EOF
> ---- lrzsz-0.12.20.safe/configure.in    2004-09-12 14:39:55.161706488
> -0400
> -+++ lrzsz-0.12.20/configure.in 2004-09-12 14:40:35.816526016 -0400
> -@@ -260,11 +260,10 @@
> - AM_GNU_GETTEXT
> -
> - AC_DEFINE_UNQUOTED(LOCALEDIR,"$prefix/$DATADIRNAME")
> --AC_LINK_FILES($nls_cv_header_libgt, $nls_cv_header_intl)
> -
> --AC_OUTPUT([Makefile intl/Makefile lib/Makefile testsuite/Makefile \
> -+AC_OUTPUT([Makefile intl/Makefile lib/Makefile testsuite/Makefile
> m4/Makefile \
> - man/Makefile po/Makefile.in src/Makefile debian/rules Specfile systype \
> - src/lrzszbug],
> --[sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile;
> -+[
> - chmod +x debian/rules;
> - test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h])
> ---- lrzsz-0.12.20.safe/intl/bindtextdom.c      1998-04-26
> 09:22:36.000000000 -0400
> -+++ lrzsz-0.12.20/intl/bindtextdom.c   2004-09-12 14:40:34.343749912 -0400
> -@@ -1,59 +1,75 @@
> - /* Implementation of the bindtextdomain(3) function
> --   Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
> -+   Copyright (C) 1995-1998, 2000-2003 Free Software Foundation, Inc.
> -
> --   This 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)
> -+   This program is free software; you can redistribute it and/or modify
> it
> -+   under the terms of the GNU Library General Public License as published
> -+   by the Free Software Foundation; either version 2, 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.
> -+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> -+   Library General Public License for more details.
> -
> --   You should have received a copy of the GNU 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.  */
> -+   You should have received a copy of the GNU Library 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.  */
> -
> - #ifdef HAVE_CONFIG_H
> - # include <config.h>
> - #endif
> -
> --#if defined STDC_HEADERS || defined _LIBC
> --# include <stdlib.h>
> --#else
> --# ifdef HAVE_MALLOC_H
> --#  include <malloc.h>
> --# else
> --void free ();
> --# endif
> --#endif
> -+#include <stddef.h>
> -+#include <stdlib.h>
> -+#include <string.h>
> -
> --#if defined HAVE_STRING_H || defined _LIBC
> --# include <string.h>
> -+#ifdef _LIBC
> -+# include <libintl.h>
> - #else
> --# include <strings.h>
> --# ifndef memcpy
> --#  define memcpy(Dst, Src, Num) bcopy (Src, Dst, Num)
> --# endif
> -+# include "libgnuintl.h"
> - #endif
> -+#include "gettextP.h"
> -
> - #ifdef _LIBC
> --# include <libintl.h>
> -+/* We have to handle multi-threaded applications.  */
> -+# include <bits/libc-lock.h>
> - #else
> --# include "libgettext.h"
> -+/* Provide dummy implementation if this is outside glibc.  */
> -+# define __libc_rwlock_define(CLASS, NAME)
> -+# define __libc_rwlock_wrlock(NAME)
> -+# define __libc_rwlock_unlock(NAME)
> -+#endif
> -+
> -+/* The internal variables in the standalone libintl.a must have different
> -+   names than the internal variables in GNU libc, otherwise programs
> -+   using libintl.a cannot be linked statically.  */
> -+#if !defined _LIBC
> -+# define _nl_default_dirname libintl_nl_default_dirname
> -+# define _nl_domain_bindings libintl_nl_domain_bindings
> -+#endif
> -+
> -+/* Some compilers, like SunOS4 cc, don't have offsetof in <stddef.h>.  */
> -+#ifndef offsetof
> -+# define offsetof(type,ident) ((size_t)&(((type*)0)->ident))
> - #endif
> --#include "gettext.h"
> --#include "gettextP.h"
> -
> - /* @@ end of prolog @@ */
> -
> - /* Contains the default location of the message catalogs.  */
> - extern const char _nl_default_dirname[];
> -+#ifdef _LIBC
> -+extern const char _nl_default_dirname_internal[] attribute_hidden;
> -+#else
> -+# define INTUSE(name) name
> -+#endif
> -
> - /* List with bindings of specific domains.  */
> - extern struct binding *_nl_domain_bindings;
> -
> -+/* Lock variable to protect the global data in the gettext
> implementation.  */
> -+__libc_rwlock_define (extern, _nl_state_lock attribute_hidden)
> -+
> -
> - /* Names for the libintl functions are a problem.  They must not clash
> -    with existing names and they should follow ANSI C.  But this source
> -@@ -61,23 +77,41 @@
> -    prefix.  So we have to make a difference here.  */
> - #ifdef _LIBC
> - # define BINDTEXTDOMAIN __bindtextdomain
> --# define strdup(str) __strdup (str)
> -+# define BIND_TEXTDOMAIN_CODESET __bind_textdomain_codeset
> -+# ifndef strdup
> -+#  define strdup(str) __strdup (str)
> -+# endif
> - #else
> --# define BINDTEXTDOMAIN bindtextdomain__
> -+# define BINDTEXTDOMAIN libintl_bindtextdomain
> -+# define BIND_TEXTDOMAIN_CODESET libintl_bind_textdomain_codeset
> - #endif
> -
> --/* Specify that the DOMAINNAME message catalog will be found
> --   in DIRNAME rather than in the system locale data base.  */
> --char *
> --BINDTEXTDOMAIN (domainname, dirname)
> --     const char *domainname;
> --     const char *dirname;
> -+/* Specifies the directory name *DIRNAMEP and the output codeset
> *CODESETP
> -+   to be used for the DOMAINNAME message catalog.
> -+   If *DIRNAMEP or *CODESETP is NULL, the corresponding attribute is not
> -+   modified, only the current value is returned.
> -+   If DIRNAMEP or CODESETP is NULL, the corresponding attribute is
> neither
> -+   modified nor returned.  */
> -+static void
> -+set_binding_values (const char *domainname,
> -+                  const char **dirnamep, const char **codesetp)
> - {
> -   struct binding *binding;
> -+  int modified;
> -
> -   /* Some sanity checks.  */
> -   if (domainname == NULL || domainname[0] == '\0')
> --    return NULL;
> -+    {
> -+      if (dirnamep)
> -+      *dirnamep = NULL;
> -+      if (codesetp)
> -+      *codesetp = NULL;
> -+      return;
> -+    }
> -+
> -+  __libc_rwlock_wrlock (_nl_state_lock);
> -+
> -+  modified = 0;
> -
> -   for (binding = _nl_domain_bindings; binding != NULL; binding =
> binding->next)
> -     {
> -@@ -93,81 +127,173 @@
> -       }
> -     }
> -
> --  if (dirname == NULL)
> --    /* The current binding has be to returned.  */
> --    return binding == NULL ? (char *) _nl_default_dirname :
> binding->dirname;
> --
> -   if (binding != NULL)
> -     {
> --      /* The domain is already bound.  If the new value and the old
> --       one are equal we simply do nothing.  Otherwise replace the
> --       old binding.  */
> --      if (strcmp (dirname, binding->dirname) != 0)
> -+      if (dirnamep)
> -       {
> --        char *new_dirname;
> -+        const char *dirname = *dirnamep;
> -
> --        if (strcmp (dirname, _nl_default_dirname) == 0)
> --          new_dirname = (char *) _nl_default_dirname;
> -+        if (dirname == NULL)
> -+          /* The current binding has be to returned.  */
> -+          *dirnamep = binding->dirname;
> -         else
> -           {
> -+            /* The domain is already bound.  If the new value and the old
> -+               one are equal we simply do nothing.  Otherwise replace the
> -+               old binding.  */
> -+            char *result = binding->dirname;
> -+            if (strcmp (dirname, result) != 0)
> -+              {
> -+                if (strcmp (dirname, INTUSE(_nl_default_dirname)) == 0)
> -+                  result = (char *) INTUSE(_nl_default_dirname);
> -+                else
> -+                  {
> - #if defined _LIBC || defined HAVE_STRDUP
> --            new_dirname = strdup (dirname);
> --            if (new_dirname == NULL)
> --              return NULL;
> -+                    result = strdup (dirname);
> - #else
> --            size_t len = strlen (dirname) + 1;
> --            new_dirname = (char *) malloc (len);
> --            if (new_dirname == NULL)
> --              return NULL;
> --
> --            memcpy (new_dirname, dirname, len);
> -+                    size_t len = strlen (dirname) + 1;
> -+                    result = (char *) malloc (len);
> -+                    if (__builtin_expect (result != NULL, 1))
> -+                      memcpy (result, dirname, len);
> - #endif
> -+                  }
> -+
> -+                if (__builtin_expect (result != NULL, 1))
> -+                  {
> -+                    if (binding->dirname != INTUSE(_nl_default_dirname))
> -+                      free (binding->dirname);
> -+
> -+                    binding->dirname = result;
> -+                    modified = 1;
> -+                  }
> -+              }
> -+            *dirnamep = result;
> -           }
> -+      }
> -
> --        if (binding->dirname != _nl_default_dirname)
> --          free (binding->dirname);
> -+      if (codesetp)
> -+      {
> -+        const char *codeset = *codesetp;
> -
> --        binding->dirname = new_dirname;
> -+        if (codeset == NULL)
> -+          /* The current binding has be to returned.  */
> -+          *codesetp = binding->codeset;
> -+        else
> -+          {
> -+            /* The domain is already bound.  If the new value and the old
> -+               one are equal we simply do nothing.  Otherwise replace the
> -+               old binding.  */
> -+            char *result = binding->codeset;
> -+            if (result == NULL || strcmp (codeset, result) != 0)
> -+              {
> -+#if defined _LIBC || defined HAVE_STRDUP
> -+                result = strdup (codeset);
> -+#else
> -+                size_t len = strlen (codeset) + 1;
> -+                result = (char *) malloc (len);
> -+                if (__builtin_expect (result != NULL, 1))
> -+                  memcpy (result, codeset, len);
> -+#endif
> -+
> -+                if (__builtin_expect (result != NULL, 1))
> -+                  {
> -+                    if (binding->codeset != NULL)
> -+                      free (binding->codeset);
> -+
> -+                    binding->codeset = result;
> -+                    binding->codeset_cntr++;
> -+                    modified = 1;
> -+                  }
> -+              }
> -+            *codesetp = result;
> -+          }
> -       }
> -     }
> -+  else if ((dirnamep == NULL || *dirnamep == NULL)
> -+         && (codesetp == NULL || *codesetp == NULL))
> -+    {
> -+      /* Simply return the default values.  */
> -+      if (dirnamep)
> -+      *dirnamep = INTUSE(_nl_default_dirname);
> -+      if (codesetp)
> -+      *codesetp = NULL;
> -+    }
> -   else
> -     {
> -       /* We have to create a new binding.  */
> --      size_t len;
> -+      size_t len = strlen (domainname) + 1;
> -       struct binding *new_binding =
> --      (struct binding *) malloc (sizeof (*new_binding));
> -+      (struct binding *) malloc (offsetof (struct binding, domainname) +
> len);
> -
> --      if (new_binding == NULL)
> --      return NULL;
> -+      if (__builtin_expect (new_binding == NULL, 0))
> -+      goto failed;
> -
> -+      memcpy (new_binding->domainname, domainname, len);
> -+
> -+      if (dirnamep)
> -+      {
> -+        const char *dirname = *dirnamep;
> -+
> -+        if (dirname == NULL)
> -+          /* The default value.  */
> -+          dirname = INTUSE(_nl_default_dirname);
> -+        else
> -+          {
> -+            if (strcmp (dirname, INTUSE(_nl_default_dirname)) == 0)
> -+              dirname = INTUSE(_nl_default_dirname);
> -+            else
> -+              {
> -+                char *result;
> - #if defined _LIBC || defined HAVE_STRDUP
> --      new_binding->domainname = strdup (domainname);
> --      if (new_binding->domainname == NULL)
> --      return NULL;
> -+                result = strdup (dirname);
> -+                if (__builtin_expect (result == NULL, 0))
> -+                  goto failed_dirname;
> - #else
> --      len = strlen (domainname) + 1;
> --      new_binding->domainname = (char *) malloc (len);
> --      if (new_binding->domainname == NULL)
> --      return NULL;
> --      memcpy (new_binding->domainname, domainname, len);
> -+                size_t len = strlen (dirname) + 1;
> -+                result = (char *) malloc (len);
> -+                if (__builtin_expect (result == NULL, 0))
> -+                  goto failed_dirname;
> -+                memcpy (result, dirname, len);
> - #endif
> --
> --      if (strcmp (dirname, _nl_default_dirname) == 0)
> --      new_binding->dirname = (char *) _nl_default_dirname;
> -+                dirname = result;
> -+              }
> -+          }
> -+        *dirnamep = dirname;
> -+        new_binding->dirname = (char *) dirname;
> -+      }
> -       else
> -+      /* The default value.  */
> -+      new_binding->dirname = (char *) INTUSE(_nl_default_dirname);
> -+
> -+      new_binding->codeset_cntr = 0;
> -+
> -+      if (codesetp)
> -       {
> -+        const char *codeset = *codesetp;
> -+
> -+        if (codeset != NULL)
> -+          {
> -+            char *result;
> -+
> - #if defined _LIBC || defined HAVE_STRDUP
> --        new_binding->dirname = strdup (dirname);
> --        if (new_binding->dirname == NULL)
> --          return NULL;
> -+            result = strdup (codeset);
> -+            if (__builtin_expect (result == NULL, 0))
> -+              goto failed_codeset;
> - #else
> --        len = strlen (dirname) + 1;
> --        new_binding->dirname = (char *) malloc (len);
> --        if (new_binding->dirname == NULL)
> --          return NULL;
> --        memcpy (new_binding->dirname, dirname, len);
> -+            size_t len = strlen (codeset) + 1;
> -+            result = (char *) malloc (len);
> -+            if (__builtin_expect (result == NULL, 0))
> -+              goto failed_codeset;
> -+            memcpy (result, codeset, len);
> - #endif
> -+            codeset = result;
> -+            new_binding->codeset_cntr++;
> -+          }
> -+        *codesetp = codeset;
> -+        new_binding->codeset = (char *) codeset;
> -       }
> -+      else
> -+      new_binding->codeset = NULL;
> -
> -       /* Now enqueue it.  */
> -       if (_nl_domain_bindings == NULL
> -@@ -187,13 +313,51 @@
> -         binding->next = new_binding;
> -       }
> -
> --      binding = new_binding;
> -+      modified = 1;
> -+
> -+      /* Here we deal with memory allocation failures.  */
> -+      if (0)
> -+      {
> -+      failed_codeset:
> -+        if (new_binding->dirname != INTUSE(_nl_default_dirname))
> -+          free (new_binding->dirname);
> -+      failed_dirname:
> -+        free (new_binding);
> -+      failed:
> -+        if (dirnamep)
> -+          *dirnamep = NULL;
> -+        if (codesetp)
> -+          *codesetp = NULL;
> -+      }
> -     }
> -
> --  return binding->dirname;
> -+  /* If we modified any binding, we flush the caches.  */
> -+  if (modified)
> -+    ++_nl_msg_cat_cntr;
> -+
> -+  __libc_rwlock_unlock (_nl_state_lock);
> -+}
> -+
> -+/* Specify that the DOMAINNAME message catalog will be found
> -+   in DIRNAME rather than in the system locale data base.  */
> -+char *
> -+BINDTEXTDOMAIN (const char *domainname, const char *dirname)
> -+{
> -+  set_binding_values (domainname, &dirname, NULL);
> -+  return (char *) dirname;
> -+}
> -+
> -+/* Specify the character encoding in which the messages from the
> -+   DOMAINNAME message catalog will be returned.  */
> -+char *
> -+BIND_TEXTDOMAIN_CODESET (const char *domainname, const char *codeset)
> -+{
> -+  set_binding_values (domainname, NULL, &codeset);
> -+  return (char *) codeset;
> - }
> -
> - #ifdef _LIBC
> --/* Alias for function name in GNU C Library.  */
> -+/* Aliases for function names in GNU C Library.  */
> - weak_alias (__bindtextdomain, bindtextdomain);
> -+weak_alias (__bind_textdomain_codeset, bind_textdomain_codeset);
> - #endif
> ---- lrzsz-0.12.20.safe/intl/cat-compat.c       1998-04-26
> 09:22:37.000000000 -0400
> -+++ lrzsz-0.12.20/intl/cat-compat.c    1969-12-31 19:00:00.000000000 -0500
> -@@ -1,262 +0,0 @@
> --/* Compatibility code for gettext-using-catgets interface.
> --   Copyright (C) 1995, 1997 Free Software Foundation, Inc.
> --
> --   This 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, write to the Free Software
> Foundation,
> --   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
> --
> --#ifdef HAVE_CONFIG_H
> --# include <config.h>
> --#endif
> --
> --#include <stdio.h>
> --
> --#ifdef STDC_HEADERS
> --# include <stdlib.h>
> --# include <string.h>
> --#else
> --char *getenv ();
> --# ifdef HAVE_MALLOC_H
> --#  include <malloc.h>
> --# endif
> --#endif
> --
> --#ifdef HAVE_NL_TYPES_H
> --# include <nl_types.h>
> --#endif
> --
> --#include "libgettext.h"
> --
> --/* @@ end of prolog @@ */
> --
> --/* XPG3 defines the result of `setlocale (category, NULL)' as:
> --   ``Directs `setlocale()' to query `category' and return the current
> --     setting of `local'.''
> --   However it does not specify the exact format.  And even worse: POSIX
> --   defines this not at all.  So we can use this feature only on selected
> --   system (e.g. those using GNU C Library).  */
> --#ifdef _LIBC
> --# define HAVE_LOCALE_NULL
> --#endif
> --
> --/* The catalog descriptor.  */
> --static nl_catd catalog = (nl_catd) -1;
> --
> --/* Name of the default catalog.  */
> --static const char default_catalog_name[] = "messages";
> --
> --/* Name of currently used catalog.  */
> --static const char *catalog_name = default_catalog_name;
> --
> --/* Get ID for given string.  If not found return -1.  */
> --static int msg_to_cat_id PARAMS ((const char *msg));
> --
> --/* Substitution for systems lacking this function in their C library.  */
> --#if !_LIBC && !HAVE_STPCPY
> --static char *stpcpy PARAMS ((char *dest, const char *src));
> --#endif
> --
> --
> --/* Set currently used domain/catalog.  */
> --char *
> --textdomain (domainname)
> --     const char *domainname;
> --{
> --  nl_catd new_catalog;
> --  char *new_name;
> --  size_t new_name_len;
> --  char *lang;
> --
> --#if defined HAVE_SETLOCALE && defined HAVE_LC_MESSAGES \
> --    && defined HAVE_LOCALE_NULL
> --  lang = setlocale (LC_MESSAGES, NULL);
> --#else
> --  lang = getenv ("LC_ALL");
> --  if (lang == NULL || lang[0] == '\0')
> --    {
> --      lang = getenv ("LC_MESSAGES");
> --      if (lang == NULL || lang[0] == '\0')
> --      lang = getenv ("LANG");
> --    }
> --#endif
> --  if (lang == NULL || lang[0] == '\0')
> --    lang = "C";
> --
> --  /* See whether name of currently used domain is asked.  */
> --  if (domainname == NULL)
> --    return (char *) catalog_name;
> --
> --  if (domainname[0] == '\0')
> --    domainname = default_catalog_name;
> --
> --  /* Compute length of added path element.  */
> --  new_name_len = sizeof (LOCALEDIR) - 1 + 1 + strlen (lang)
> --               + sizeof ("/LC_MESSAGES/") - 1 + sizeof (PACKAGE) - 1
> --               + sizeof (".cat");
> --
> --  new_name = (char *) malloc (new_name_len);
> --  if (new_name == NULL)
> --    return NULL;
> --
> --  strcpy (new_name, PACKAGE);
> --  new_catalog = catopen (new_name, 0);
> --
> --  if (new_catalog == (nl_catd) -1)
> --    {
> --      /* NLSPATH search didn't work, try absolute path */
> --      sprintf (new_name, "%s/%s/LC_MESSAGES/%s.cat", LOCALEDIR, lang,
> --             PACKAGE);
> --      new_catalog = catopen (new_name, 0);
> --
> --      if (new_catalog == (nl_catd) -1)
> --      {
> --        free (new_name);
> --        return (char *) catalog_name;
> --      }
> --    }
> --
> --  /* Close old catalog.  */
> --  if (catalog != (nl_catd) -1)
> --    catclose (catalog);
> --  if (catalog_name != default_catalog_name)
> --    free ((char *) catalog_name);
> --
> --  catalog = new_catalog;
> --  catalog_name = new_name;
> --
> --  return (char *) catalog_name;
> --}
> --
> --char *
> --bindtextdomain (domainname, dirname)
> --     const char *domainname;
> --     const char *dirname;
> --{
> --#if HAVE_SETENV || HAVE_PUTENV
> --  char *old_val, *new_val, *cp;
> --  size_t new_val_len;
> --
> --  /* This does not make much sense here but to be compatible do it.  */
> --  if (domainname == NULL)
> --    return NULL;
> --
> --  /* Compute length of added path element.  If we use setenv we don't
> need
> --     the first byts for NLSPATH=, but why complicate the code for this
> --     peanuts.  */
> --  new_val_len = sizeof ("NLSPATH=") - 1 + strlen (dirname)
> --              + sizeof ("/%L/LC_MESSAGES/%N.cat");
> --
> --  old_val = getenv ("NLSPATH");
> --  if (old_val == NULL || old_val[0] == '\0')
> --    {
> --      old_val = NULL;
> --      new_val_len += 1 + sizeof (LOCALEDIR) - 1
> --                   + sizeof ("/%L/LC_MESSAGES/%N.cat");
> --    }
> --  else
> --    new_val_len += strlen (old_val);
> --
> --  new_val = (char *) malloc (new_val_len);
> --  if (new_val == NULL)
> --    return NULL;
> --
> --# if HAVE_SETENV
> --  cp = new_val;
> --# else
> --  cp = stpcpy (new_val, "NLSPATH=");
> --# endif
> --
> --  cp = stpcpy (cp, dirname);
> --  cp = stpcpy (cp, "/%L/LC_MESSAGES/%N.cat:");
> --
> --  if (old_val == NULL)
> --    {
> --# if __STDC__
> --      stpcpy (cp, LOCALEDIR "/%L/LC_MESSAGES/%N.cat");
> --# else
> --
> --      cp = stpcpy (cp, LOCALEDIR);
> --      stpcpy (cp, "/%L/LC_MESSAGES/%N.cat");
> --# endif
> --    }
> --  else
> --    stpcpy (cp, old_val);
> --
> --# if HAVE_SETENV
> --  setenv ("NLSPATH", new_val, 1);
> --  free (new_val);
> --# else
> --  putenv (new_val);
> --  /* Do *not* free the environment entry we just entered.  It is used
> --     from now on.   */
> --# endif
> --
> --#endif
> --
> --  return (char *) domainname;
> --}
> --
> --#undef gettext
> --char *
> --gettext (msg)
> --     const char *msg;
> --{
> --  int msgid;
> --
> --  if (msg == NULL || catalog == (nl_catd) -1)
> --    return (char *) msg;
> --
> --  /* Get the message from the catalog.  We always use set number 1.
> --     The message ID is computed by the function `msg_to_cat_id'
> --     which works on the table generated by `po-to-tbl'.  */
> --  msgid = msg_to_cat_id (msg);
> --  if (msgid == -1)
> --    return (char *) msg;
> --
> --  return catgets (catalog, 1, msgid, (char *) msg);
> --}
> --
> --/* Look through the table `_msg_tbl' which has `_msg_tbl_length' entries
> --   for the one equal to msg.  If it is found return the ID.  In case when
> --   the string is not found return -1.  */
> --static int
> --msg_to_cat_id (msg)
> --     const char *msg;
> --{
> --  int cnt;
> --
> --  for (cnt = 0; cnt < _msg_tbl_length; ++cnt)
> --    if (strcmp (msg, _msg_tbl[cnt]._msg) == 0)
> --      return _msg_tbl[cnt]._msg_number;
> --
> --  return -1;
> --}
> --
> --
> --/* @@ begin of epilog @@ */
> --
> --/* We don't want libintl.a to depend on any other library.  So we
> --   avoid the non-standard function stpcpy.  In GNU C Library this
> --   function is available, though.  Also allow the symbol HAVE_STPCPY
> --   to be defined.  */
> --#if !_LIBC && !HAVE_STPCPY
> --static char *
> --stpcpy (dest, src)
> --     char *dest;
> --     const char *src;
> --{
> --  while ((*dest++ = *src++) != '\0')
> --    /* Do nothing. */ ;
> --  return dest - 1;
> --}
> --#endif
> ---- lrzsz-0.12.20.safe/intl/ChangeLog  1998-04-26 09:22:35.000000000 -0400
> -+++ lrzsz-0.12.20/intl/ChangeLog       2004-09-12 14:40:34.349749000 -0400
> -@@ -1,1022 +1,4 @@
> --1997-09-06 02:10  Ulrich Drepper  <drepper at cygnus.com>
> --
> --      * intlh.inst.in: Reformat copyright.
> --
> --1997-08-19 15:22  Ulrich Drepper  <drepper at cygnus.com>
> --
> --      * dcgettext.c (DCGETTEXT): Remove wrong comment.
> --
> --1997-08-16 00:13  Ulrich Drepper  <drepper at cygnus.com>
> --
> --      * Makefile.in (install-data): Don't change directory to install.
> --
> --1997-08-01 14:30  Ulrich Drepper  <drepper at cygnus.com>
> --
> --      * cat-compat.c: Fix copyright.
> --
> --      * localealias.c: Don't define strchr unless !HAVE_STRCHR.
> --
> --      * loadmsgcat.c: Update copyright.  Fix typos.
> --
> --      * l10nflist.c: Don't define strchr unless !HAVE_STRCHR.
> --      (_nl_make_l10nflist): Handle sponsor and revision correctly.
> --
> --      * gettext.c: Update copyright.
> --      * gettext.h: Likewise.
> --      * hash-string.h: Likewise.
> --
> --      * finddomain.c: Remoave dead code.  Define strchr only if
> --      !HAVE_STRCHR.
> --
> --      * explodename.c: Include <sys/types.h>.
> --
> --      * explodename.c: Reformat copyright text.
> --      (_nl_explode_name): Fix typo.
> --
> --      * dcgettext.c: Define and use __set_errno.
> --      (guess_category_value): Don't use setlocale if HAVE_LC_MESSAGES is
> --      not defined.
> --
> --      * bindtextdom.c: Pretty printing.
> --
> --1997-05-01 02:25  Ulrich Drepper  <drepper at cygnus.com>
> --
> --      * dcgettext.c (guess_category_value): Don't depend on
> --      HAVE_LC_MESSAGES.  We don't need the macro here.
> --      Patch by Bruno Haible <haible at ilog.fr>.
> --
> --      * cat-compat.c (textdomain): DoN't refer to HAVE_SETLOCALE_NULL
> --      macro.  Instead use HAVE_LOCALE_NULL and define it when using
> --      glibc, as in dcgettext.c.
> --      Patch by Bruno Haible <haible at ilog.fr>.
> --
> --      * Makefile.in (CPPFLAGS): New variable.  Reported by Franc,ois
> --      Pinard.
> --
> --Mon Mar 10 06:51:17 1997  Ulrich Drepper  <drepper at cygnus.com>
> --
> --      * Makefile.in: Implement handling of libtool.
> --
> --      * gettextP.h: Change data structures for use of generic lowlevel
> --      i18n file handling.
> --
> --Wed Dec  4 20:21:18 1996  Ulrich Drepper  <drepper at cygnus.com>
> --
> --      * textdomain.c: Put parentheses around arguments of memcpy macro
> --      definition.
> --      * localealias.c: Likewise.
> --      * l10nflist.c: Likewise.
> --      * finddomain.c: Likewise.
> --      * bindtextdom.c: Likewise.
> --      Reported by Thomas Esken.
> --
> --Mon Nov 25 22:57:51 1996  Ulrich Drepper  <drepper at cygnus.com>
> --
> --      * textdomain.c: Move definition of `memcpy` macro to right
> --      position.
> --
> --Fri Nov 22 04:01:58 1996  Ulrich Drepper  <drepper at cygnus.com>
> --
> --      * finddomain.c [!HAVE_STRING_H && !_LIBC]: Define memcpy using
> --      bcopy if not already defined.  Reported by Thomas Esken.
> --      * bindtextdom.c: Likewise.
> --      * l10nflist.c: Likewise.
> --      * localealias.c: Likewise.
> --      * textdomain.c: Likewise.
> --
> --Tue Oct 29 11:10:27 1996  Ulrich Drepper  <drepper at cygnus.com>
> --
> --      * Makefile.in (libdir): Change to use exec_prefix instead of
> --      prefix.  Reported by Knut-HåvardAksnes <etokna at eto.ericsson.se>.
> --
> --Sat Aug 31 03:07:09 1996  Ulrich Drepper  <drepper at cygnus.com>
> --
> --      * l10nflist.c (_nl_normalize_codeset): We convert to lower case,
> --      so don't prepend uppercase `ISO' for only numeric arg.
> --
> --Fri Jul 19 00:15:46 1996  Ulrich Drepper  <drepper at cygnus.com>
> --
> --      * l10nflist.c: Move inclusion of argz.h, ctype.h, stdlib.h after
> --      definition of _GNU_SOURCE.  Patch by Roland McGrath.
> --
> --      * Makefile.in (uninstall): Fix another bug with `for' loop and
> --      empty arguments.  Patch by Jim Meyering.  Correct name os
> --      uninstalled files: no intl- prefix anymore.
> --
> --      * Makefile.in (install-data): Again work around shells which
> --      cannot handle mpty for list.  Reported by Jim Meyering.
> --
> --Sat Jul 13 18:11:35 1996  Ulrich Drepper  <drepper at cygnus.com>
> --
> --      * Makefile.in (install): Split goal.  Now depend on install-exec
> --        and install-data.
> --      (install-exec, install-data): New goals.  Created from former
> --      install goal.
> --      Reported by Karl Berry.
> --
> --Sat Jun 22 04:58:14 1996  Ulrich Drepper  <drepper at cygnus.com>
> --
> --      * Makefile.in (MKINSTALLDIRS): New variable.  Path to
> --        mkinstalldirs script.
> --      (install): use MKINSTALLDIRS variable or if the script is not
> present
> --      try to find it in the $top_scrdir).
> --
> --Wed Jun 19 02:56:56 1996  Ulrich Drepper  <drepper at cygnus.com>
> --
> --      * l10nflist.c: Linux libc *partly* includes the argz_* functions.
> --      Grr.  Work around by renaming the static version and use macros
> --      for renaming.
> --
> --Tue Jun 18 20:11:17 1996  Ulrich Drepper  <drepper at cygnus.com>
> --
> --      * l10nflist.c: Correct presence test macros of __argz_* functions.
> --
> --      * l10nflist.c: Include <argz.h> based on test of it instead when
> --      __argz_* functions are available.
> --      Reported by Andreas Schwab.
> --
> --Thu Jun 13 15:17:44 1996  Ulrich Drepper  <drepper at cygnus.com>
> --
> --      * explodename.c, l10nflist.c: Define NULL for dumb systems.
> --
> --Tue Jun 11 17:05:13 1996  Ulrich Drepper  <drepper at cygnus.com>
> --
> --      * intlh.inst.in, libgettext.h (dcgettext): Rename local variable
> --      result to __result to prevent name clash.
> --
> --      * l10nflist.c, localealias.c, dcgettext.c: Define _GNU_SOURCE to
> --        get prototype for stpcpy and strcasecmp.
> --
> --      * intlh.inst.in, libgettext.h: Move declaration of
> --      `_nl_msg_cat_cntr' outside __extension__ block to prevent warning
> --      from gcc's -Wnested-extern option.
> --
> --Fri Jun  7 01:58:00 1996  Ulrich Drepper  <drepper at cygnus.com>
> --
> --      * Makefile.in (install): Remove comment.
> --
> --Thu Jun  6 17:28:17 1996  Ulrich Drepper  <drepper at cygnus.com>
> --
> --      * Makefile.in (install): Work around for another Buglix stupidity.
> --      Always use an `else' close for `if's.  Reported by Nelson Beebe.
> --
> --      * Makefile.in (intlh.inst): Correct typo in phony rule.
> --      Reported by Nelson Beebe.
> --
> --Thu Jun  6 01:49:52 1996  Ulrich Drepper  <drepper at cygnus.com>
> --
> --      * dcgettext.c (read_alias_file): Rename variable alloca_list to
> --      block_list as the macro calls assume.
> --      Patch by Eric Backus.
> --
> --      * localealias.c [!HAVE_ALLOCA]: Define alloca as macro using
> --        malloc.
> --      (read_alias_file): Rename varriabe alloca_list to block_list as the
> --      macro calls assume.
> --      Patch by Eric Backus.
> --
> --      * l10nflist.c: Correct conditional for <argz.h> inclusion.
> --      Reported by Roland McGrath.
> --
> --      * Makefile.in (all): Depend on all- at USE_INCLUDED_LIBINTL@, not
> --        all- at USE_NLS@.
> --
> --      * Makefile.in (install): intlh.inst comes from local dir, not
> --        $(srcdir).
> --
> --      * Makefile.in (intlh.inst): Special handling of this goal.  If
> --      used in gettext, this is really a rul to construct this file.  If
> --      used in any other package it is defined as a .PHONY rule with
> --      empty body.
> --
> --      * finddomain.c: Extract locale file information handling into
> --      l10nfile.c.  Rename local stpcpy__ function to stpcpy.
> --
> --      * dcgettext.c (stpcpy): Add local definition.
> --
> --      * l10nflist.c: Solve some portability problems.  Patches partly by
> --      Thomas Esken.  Add local definition of stpcpy.
> --
> --Tue Jun  4 02:47:49 1996  Ulrich Drepper  <drepper at cygnus.com>
> --
> --      * intlh.inst.in: Don't depend including <locale.h> on
> --      HAVE_LOCALE_H.  Instead configure must rewrite this fiile
> --      depending on the result of the configure run.
> --
> --      * Makefile.in (install): libintl.inst is now called intlh.inst.
> --      Add rules for updating intlh.inst from intlh.inst.in.
> --
> --      * libintl.inst: Renamed to intlh.inst.in.
> --
> --      * localealias.c, dcgettext.c [__GNUC__]: Define HAVE_ALLOCA to 1
> --        because gcc has __buitlin_alloca.
> --      Reported by Roland McGrath.
> --
> --Mon Jun  3 00:32:16 1996  Ulrich Drepper  <drepper at cygnus.com>
> --
> --      * Makefile.in (installcheck): New goal to fulfill needs of
> --        automake's distcheck.
> --
> --      * Makefile.in (install): Reorder commands so that VERSION is
> --        found.
> --
> --      * Makefile.in (gettextsrcdir): Now use subdirectory intl/ in
> --        @datadir@/gettext.
> --      (COMSRCS): Add l10nfile.c.
> --      (OBJECTS): Add l10nfile.o.
> --      (DISTFILES): Rename to DISTFILE.normal.  Remove
> $(DISTFILES.common).
> --      (DISTFILE.gettext): Remove $(DISTFILES.common).
> --      (all-gettext): Remove goal.
> --      (install): If $(PACKAGE) = gettext install, otherwose do nothing.
> No
> --      package but gettext itself should install libintl.h + headers.
> --      (dist): Extend goal to work for gettext, too.
> --      (dist-gettext): Remove goal.
> --
> --      * dcgettext.c [!HAVE_ALLOCA]: Define macro alloca by using malloc.
> --
> --Sun Jun  2 17:33:06 1996  Ulrich Drepper  <drepper at cygnus.com>
> --
> --      * loadmsgcat.c (_nl_load_domain): Parameter is now comes from
> --        find_l10nfile.
> --
> --Sat Jun  1 02:23:03 1996  Ulrich Drepper  <drepper at cygnus.com>
> --
> --      * l10nflist.c (__argz_next): Add definition.
> --
> --      * dcgettext.c [!HAVE_ALLOCA]: Add code for handling missing alloca
> --      code.  Use new l10nfile handling.
> --
> --      * localealias.c [!HAVE_ALLOCA]: Add code for handling missing
> --        alloca code.
> --
> --      * l10nflist.c: Initial revision.
> --
> --Tue Apr  2 18:51:18 1996  Ulrich Drepper  <drepper at myware>
> --
> --      * Makefile.in (all-gettext): New goal.  Same as all-yes.
> --
> --Thu Mar 28 23:01:22 1996  Karl Eichwalder  <ke at ke.central.de>
> --
> --      * Makefile.in (gettextsrcdir): Define using @datadir at .
> --
> --Tue Mar 26 12:39:14 1996  Ulrich Drepper  <drepper at myware>
> --
> --      * finddomain.c: Include <ctype.h>.  Reported by Roland McGrath.
> --
> --Sat Mar 23 02:00:35 1996  Ulrich Drepper  <drepper at myware>
> --
> --      * finddomain.c (stpcpy): Rename to stpcpy__ to prevent clashing
> --        with external declaration.
> --
> --Sat Mar  2 00:47:09 1996  Ulrich Drepper  <drepper at myware>
> --
> --      * Makefile.in (all-no): Rename from all_no.
> --
> --Sat Feb 17 00:25:59 1996  Ulrich Drepper  <drepper at myware>
> --
> --      * gettextP.h [loaded_domain]: Array `successor' must now contain up
> --        to 63 elements (because of codeset name normalization).
> --
> --      * finddomain.c: Implement codeset name normalization.
> --
> --Thu Feb 15 04:39:09 1996  Ulrich Drepper  <drepper at myware>
> --
> --      * Makefile.in (all): Define to `all- at USE_NLS@'.
> --      (all-yes, all_no): New goals.  `all-no' is noop, `all-yes'
> --      is former all.
> --
> --Mon Jan 15 21:46:01 1996  Howard Gayle  <howard at hal.com>
> --
> --      * localealias.c (alias_compare): Increment string pointers in loop
> --        of strcasecmp replacement.
> --
> --Fri Dec 29 21:16:34 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * Makefile.in (install-src): Who commented this goal out ? :-)
> --
> --Fri Dec 29 15:08:16 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * dcgettext.c (DCGETTEXT): Save `errno'.  Failing system calls
> --      should not effect it because a missing catalog is no error.
> --      Reported by Harald K<o:>nig <koenig at tat.physik.uni-tuebingen.de>.
> --
> --Tue Dec 19 22:09:13 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * Makefile.in (Makefile): Explicitly use $(SHELL) for running
> --        shell scripts.
> --
> --Fri Dec 15 17:34:59 1995  Andreas Schwab  <
> schwab at issan.informatik.uni-dortmund.de>
> --
> --      * Makefile.in (install-src): Only install library and header when
> --      we use the own implementation.  Don't do it when using the
> --      system's gettext or catgets functions.
> --
> --      * dcgettext.c (find_msg): Must not swap domain->hash_size here.
> --
> --Sat Dec  9 16:24:37 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * localealias.c, libintl.inst, libgettext.h, hash-string.h,
> --      gettextP.h, finddomain.c, dcgettext.c, cat-compat.c:
> --      Use PARAMS instead of __P.  Suggested by Roland McGrath.
> --
> --Tue Dec  5 11:39:14 1995  Larry Schwimmer  <rosebud at cyclone.stanford.edu
> >
> --
> --      * libgettext.h: Use `#if !defined (_LIBINTL_H)' instead of `#if
> --      !_LIBINTL_H' because Solaris defines _LIBINTL_H as empty.
> --
> --Mon Dec  4 15:42:07 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * Makefile.in (install-src):
> --      Install libintl.inst instead of libintl.h.install.
> --
> --Sat Dec  2 22:51:38 1995  Marcus Daniels  <marcus at sysc.pdx.edu>
> --
> --      * cat-compat.c (textdomain):
> --      Reverse order in which files are tried you load.  First
> --      try local file, when this failed absolute path.
> --
> --Wed Nov 29 02:03:53 1995  Nelson H. F. Beebe  <beebe at math.utah.edu>
> --
> --      * cat-compat.c (bindtextdomain): Add missing { }.
> --
> --Sun Nov 26 18:21:41 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * libintl.inst: Add missing __P definition.  Reported by Nelson
> Beebe.
> --
> --      * Makefile.in:
> --      Add dummy `all' and `dvi' goals.  Reported by Tom Tromey.
> --
> --Sat Nov 25 16:12:01 1995  Franc,ois Pinard  <pinard at iro.umontreal.ca>
> --
> --      * hash-string.h: Capitalize arguments of macros.
> --
> --Sat Nov 25 12:01:36 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * Makefile.in (DISTFILES): Prevent files names longer than 13
> --      characters.  libintl.h.glibc->libintl.glibc,
> --      libintl.h.install->libintl.inst.  Reported by Joshua R. Poulson.
> --
> --Sat Nov 25 11:31:12 1995  Eric Backus  <ericb at lsid.hp.com>
> --
> --      * dcgettext.c: Fix bug in preprocessor conditionals.
> --
> --Sat Nov 25 02:35:27 1995  Nelson H. F. Beebe  <beebe at math.utah.edu>
> --
> --      * libgettext.h: Solaris cc does not understand
> --       #if !SYMBOL1 && !SYMBOL2.  Sad but true.
> --
> --Thu Nov 23 16:22:14 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * hash-string.h (hash_string):
> --      Fix for machine with >32 bit `unsigned long's.
> --
> --      * dcgettext.c (DCGETTEXT):
> --      Fix horrible bug in loop for alternative translation.
> --
> --Thu Nov 23 01:45:29 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * po2tbl.sed.in, linux-msg.sed, xopen-msg.sed:
> --      Some further simplifications in message number generation.
> --
> --Mon Nov 20 21:08:43 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * libintl.h.glibc: Use __const instead of const in prototypes.
> --
> --      * Makefile.in (install-src):
> --      Install libintl.h.install instead of libintl.h.  This
> --      is a stripped-down version.  Suggested by Peter Miller.
> --
> --      * libintl.h.install, libintl.h.glibc: Initial revision.
> --
> --      * localealias.c (_nl_expand_alias, read_alias_file):
> --      Protect prototypes in type casts by __P.
> --
> --Tue Nov 14 16:43:58 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * hash-string.h: Correct prototype for hash_string.
> --
> --Sun Nov 12 12:42:30 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * hash-string.h (hash_string): Add prototype.
> --
> --      * gettextP.h: Fix copyright.
> --      (SWAP): Add prototype.
> --
> --Wed Nov  8 22:56:33 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * localealias.c (read_alias_file): Forgot sizeof.
> --      Avoid calling *printf function.  This introduces a big overhead.
> --      Patch by Roland McGrath.
> --
> --Tue Nov  7 14:21:08 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * finddomain.c, cat-compat.c: Wrong indentation in #if for stpcpy.
> --
> --      * finddomain.c (stpcpy):
> --      Define substitution function local.  The macro was to flaky.
> --
> --      * cat-compat.c: Fix typo.
> --
> --      * xopen-msg.sed, linux-msg.sed:
> --      While bringing message number to right place only accept digits.
> --
> --      * linux-msg.sed, xopen-msg.sed: Now that the counter does not have
> --      leading 0s we don't need to remove them.  Reported by Marcus
> --      Daniels.
> --
> --      * Makefile.in (../po/cat-id-tbl.o): Use $(top_srdir) in
> --      dependency.  Reported by Marcus Daniels.
> --
> --      * cat-compat.c: (stpcpy) [!_LIBC && !HAVE_STPCPY]: Define
> replacement.
> --      Generally cleanup using #if instead of #ifndef.
> --
> --      * Makefile.in: Correct typos in comment.  By Franc,ois Pinard.
> --
> --Mon Nov  6 00:27:02 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * Makefile.in (install-src): Don't install libintl.h and libintl.a
> --      if we use an available gettext implementation.
> --
> --Sun Nov  5 22:02:08 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * libgettext.h: Fix typo: HAVE_CATGETTS -> HAVE_CATGETS.  Reported
> --      by Franc,ois Pinard.
> --
> --      * libgettext.h: Use #if instead of #ifdef/#ifndef.
> --
> --      * finddomain.c:
> --      Comments describing what has to be done should start with FIXME.
> --
> --Sun Nov  5 19:38:01 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * Makefile.in (DISTFILES): Split.  Use DISTFILES with normal
> meaning.
> --      DISTFILES.common names the files common to both dist goals.
> --      DISTFILES.gettext are the files only distributed in GNU gettext.
> --
> --Sun Nov  5 17:32:54 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * dcgettext.c (DCGETTEXT): Correct searching in derived locales.
> --      This was necessary since a change in _nl_find_msg several weeks
> --      ago.  I really don't know this is still not fixed.
> --
> --Sun Nov  5 12:43:12 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * loadmsgcat.c (_nl_load_domain): Test for FILENAME == NULL.  This
> --      might mark a special condition.
> --
> --      * finddomain.c (make_entry_rec): Don't make illegal entry as
> decided.
> --
> --      * Makefile.in (dist): Suppress error message when ln failed.
> --      Get files from $(srcdir) explicitly.
> --
> --      * libgettext.h (gettext_const): Rename to gettext_noop.
> --
> --Fri Nov  3 07:36:50 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * finddomain.c (make_entry_rec):
> --      Protect against wrong locale names by testing mask.
> --
> --      * libgettext.h (gettext_const): Add macro definition.
> --      Capitalize macro arguments.
> --
> --Thu Nov  2 23:15:51 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * finddomain.c (_nl_find_domain):
> --      Test for pointer != NULL before accessing value.
> --      Reported by Tom Tromey.
> --
> --      * gettext.c (NULL):
> --      Define as (void*)0 instad of 0.  Reported by Franc,ois Pinard.
> --
> --Mon Oct 30 21:28:52 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * po2tbl.sed.in: Serious typo bug fixed by Jim Meyering.
> --
> --Sat Oct 28 23:20:47 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * libgettext.h: Disable dcgettext optimization for Solaris 2.3.
> --
> --      * localealias.c (alias_compare):
> --      Peter Miller reported that tolower in some systems is
> --      even dumber than I thought.  Protect call by `isupper'.
> --
> --Fri Oct 27 22:22:51 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * Makefile.in (libdir, includedir): New variables.
> --      (install-src): Install libintl.a and libintl.h in correct dirs.
> --
> --Fri Oct 27 22:07:29 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * Makefile.in (SOURCES): Fix typo: intrl.compat.c -> intl-compat.c.
> --
> --      * po2tbl.sed.in: Patch for buggy SEDs by Christian von Roques.
> --
> --      * localealias.c:
> --      Fix typo and superflous test.  Reported by Christian von Roques.
> --
> --Fri Oct  6 11:52:05 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * finddomain.c (_nl_find_domain):
> --      Correct some remainder from the pre-CEN syntax.  Now
> --      we don't have a constant number of successors anymore.
> --
> --Wed Sep 27 21:41:13 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * Makefile.in (DISTFILES): Add libintl.h.glibc.
> --
> --      * Makefile.in (dist-libc): Add goal for packing sources for glibc.
> --      (COMSRCS, COMHDRS): Splitted to separate sources shared with glibc.
> --
> --      * loadmsgcat.c: Forget to continue #if line.
> --
> --      * localealias.c:
> --      [_LIBC]: Rename strcasecmp to __strcasecmp to keep ANSI C name
> --      space clean.
> --
> --      * dcgettext.c, finddomain.c: Better comment to last change.
> --
> --      * loadmsgcat.c:
> --      [_LIBC]: Rename fstat, open, close, read, mmap, and munmap to
> --      __fstat, __open, __close, __read, __mmap, and __munmap resp
> --      to keep ANSI C name space clean.
> --
> --      * finddomain.c:
> --      [_LIBC]: Rename stpcpy to __stpcpy to keep ANSI C name space clean.
> --
> --      * dcgettext.c:
> --      [_LIBC]: Rename getced and stpcpy to __getcwd and __stpcpy resp to
> --      keep ANSI C name space clean.
> --
> --      * libgettext.h:
> --      Include sys/types.h for those old SysV systems out there.
> --      Reported by Francesco Potorti`.
> --
> --      * loadmsgcat.c (use_mmap): Define if compiled for glibc.
> --
> --      * bindtextdom.c: Include all those standard headers
> --      unconditionally if _LIBC is defined.
> --
> --      * finddomain.c: Fix 2 times defiend -> defined.
> --
> --      * textdomain.c: Include libintl.h instead of libgettext.h when
> --      compiling for glibc.  Include all those standard headers
> --      unconditionally if _LIBC is defined.
> --
> --      * localealias.c, loadmsgcat.c: Prepare to be compiled in glibc.
> --
> --      * gettext.c:
> --      Include libintl.h instead of libgettext.h when compiling for glibc.
> --      Get NULL from stddef.h if we compile for glibc.
> --
> --      * finddomain.c: Include libintl.h instead of libgettext.h when
> --      compiling for glibc.  Include all those standard headers
> --      unconditionally if _LIBC is defined.
> --
> --      * dcgettext.c: Include all those standard headers unconditionally
> --      if _LIBC is defined.
> --
> --      * dgettext.c: If compiled in glibc include libintl.h instead of
> --      libgettext.h.
> --      (locale.h): Don't rely on HAVE_LOCALE_H when compiling for glibc.
> --
> --      * dcgettext.c: If compiled in glibc include libintl.h instead of
> --      libgettext.h.
> --      (getcwd): Don't rely on HAVE_GETCWD when compiling for glibc.
> --
> --      * bindtextdom.c:
> --      If compiled in glibc include libintl.h instead of libgettext.h.
> --
> --Mon Sep 25 22:23:06 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * localealias.c (_nl_expand_alias): Don't call bsearch if NMAP <=
> 0.
> --      Reported by Marcus Daniels.
> --
> --      * cat-compat.c (bindtextdomain):
> --      String used in putenv must not be recycled.
> --      Reported by Marcus Daniels.
> --
> --      * libgettext.h (__USE_GNU_GETTEXT):
> --      Additional symbol to signal that we use GNU gettext
> --      library.
> --
> --      * cat-compat.c (bindtextdomain):
> --      Fix bug with the strange stpcpy replacement.
> --      Reported by Nelson Beebe.
> --
> --Sat Sep 23 08:23:51 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * cat-compat.c: Include <string.h> for stpcpy prototype.
> --
> --      * localealias.c (read_alias_file):
> --      While expand strdup code temporary variable `cp' hided
> --      higher level variable with same name.  Rename to `tp'.
> --
> --      * textdomain.c (textdomain):
> --      Avoid warning by using temporary variable in strdup code.
> --
> --      * finddomain.c (_nl_find_domain): Remove unused variable
> `application'.
> --
> --Thu Sep 21 15:51:44 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * localealias.c (alias_compare):
> --      Use strcasecmp() only if available.  Else use
> --      implementation in place.
> --
> --      * intl-compat.c:
> --      Wrapper functions now call *__ functions instead of __*.
> --
> --      * libgettext.h: Declare prototypes for *__ functions instead for
> __*.
> --
> --      * cat-compat.c, loadmsgcat.c:
> --      Don't use xmalloc, xstrdup, and stpcpy.  These functions are not
> part
> --      of the standard libc and so prevent libintl.a from being used
> --      standalone.
> --
> --      * bindtextdom.c:
> --      Don't use xmalloc, xstrdup, and stpcpy.  These functions are not
> part
> --      of the standard libc and so prevent libintl.a from being used
> --      standalone.
> --      Rename to bindtextdomain__ if not used in GNU C Library.
> --
> --      * dgettext.c:
> --      Rename function to dgettext__ if not used in GNU C Library.
> --
> --      * gettext.c:
> --      Don't use xmalloc, xstrdup, and stpcpy.  These functions are not
> part
> --      of the standard libc and so prevent libintl.a from being used
> --      standalone.
> --      Functions now called gettext__ if not used in GNU C Library.
> --
> --      * dcgettext.c, localealias.c, textdomain.c, finddomain.c:
> --      Don't use xmalloc, xstrdup, and stpcpy.  These functions are not
> part
> --      of the standard libc and so prevent libintl.a from being used
> --      standalone.
> --
> --Sun Sep 17 23:14:49 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * finddomain.c: Correct some bugs in handling of CEN standard
> --      locale definitions.
> --
> --Thu Sep  7 01:49:28 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * finddomain.c: Implement CEN syntax.
> --
> --      * gettextP.h (loaded_domain): Extend number of successors to 31.
> --
> --Sat Aug 19 19:25:29 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * Makefile.in (aliaspath): Remove path to X11 locale dir.
> --
> --      * Makefile.in: Make install-src depend on install.  This helps
> --      gettext to install the sources and other packages can use the
> --      install goal.
> --
> --Sat Aug 19 15:19:33 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * Makefile.in (uninstall): Remove stuff installed by install-src.
> --
> --Tue Aug 15 13:13:53 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * VERSION.in: Initial revision.
> --
> --      * Makefile.in (DISTFILES):
> --      Add VERSION file.  This is not necessary for gettext, but
> --      for other packages using this library.
> --
> --Tue Aug 15 06:16:44 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * gettextP.h (_nl_find_domain):
> --      New prototype after changing search strategy.
> --
> --      * finddomain.c (_nl_find_domain):
> --      We now try only to find a specified catalog.  Fall back to other
> --      catalogs listed in the locale list is now done in __dcgettext.
> --
> --      * dcgettext.c (__dcgettext):
> --      Now we provide message fall back even to different languages.
> --      I.e. if a message is not available in one language all the other
> --      in the locale list a tried.  Formerly fall back was only possible
> --      within one language.  Implemented by moving one loop from
> --      _nl_find_domain to here.
> --
> --Mon Aug 14 23:45:50 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * Makefile.in (gettextsrcdir):
> --      Directory where source of GNU gettext library are made
> --      available.
> --      (INSTALL, INSTALL_DATA): Programs used for installing sources.
> --      (gettext-src): New.  Rule to install GNU gettext sources for use in
> --      gettextize shell script.
> --
> --Sun Aug 13 14:40:48 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * loadmsgcat.c (_nl_load_domain):
> --      Use mmap for loading only when munmap function is
> --      also available.
> --
> --      * Makefile.in (install): Depend on `all' goal.
> --
> --Wed Aug  9 11:04:33 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * localealias.c (read_alias_file):
> --      Do not overwrite '\n' when terminating alias value string.
> --
> --      * localealias.c (read_alias_file):
> --      Handle long lines.  Ignore the rest not fitting in
> --      the buffer after the initial `fgets' call.
> --
> --Wed Aug  9 00:54:29 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * gettextP.h (_nl_load_domain):
> --      Add prototype, replacing prototype for _nl_load_msg_cat.
> --
> --      * finddomain.c (_nl_find_domain):
> --      Remove unneeded variable filename and filename_len.
> --      (expand_alias): Remove prototype because functions does not
> --      exist anymore.
> --
> --      * localealias.c (read_alias_file):
> --      Change type of fname_len parameter to int.
> --      (xmalloc): Add prototype.
> --
> --      * loadmsgcat.c: Better prototypes for xmalloc.
> --
> --Tue Aug  8 22:30:39 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * finddomain.c (_nl_find_domain):
> --      Allow alias name to be constructed from the four components.
> --
> --      * Makefile.in (aliaspath): New variable.  Set to preliminary value.
> --      (SOURCES): Add localealias.c.
> --      (OBJECTS): Add localealias.o.
> --
> --      * gettextP.h: Add prototype for _nl_expand_alias.
> --
> --      * finddomain.c: Aliasing handled in intl/localealias.c.
> --
> --      * localealias.c: Aliasing for locale names.
> --
> --      * bindtextdom.c: Better prototypes for xmalloc and xstrdup.
> --
> --Mon Aug  7 23:47:42 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * Makefile.in (DISTFILES): gettext.perl is now found in misc/.
> --
> --      * cat-compat.c (bindtextdomain):
> --      Correct implementation.  dirname parameter was not used.
> --      Reported by Marcus Daniels.
> --
> --      * gettextP.h (loaded_domain):
> --      New fields `successor' and `decided' for oo, lazy
> --      message handling implementation.
> --
> --      * dcgettext.c:
> --      Adopt for oo, lazy message handliing.
> --      Now we can inherit translations from less specific locales.
> --      (find_msg): New function.
> --
> --      * loadmsgcat.c, finddomain.c:
> --      Complete rewrite.  Implement oo, lazy message handling :-).
> --      We now have an additional environment variable `LANGUAGE' with
> --      a higher priority than LC_ALL for the LC_MESSAGE locale.
> --      Here we can set a colon separated list of specifications each
> --      of the form `language[_territory[.codeset]][@modifier]'.
> --
> --Sat Aug  5 09:55:42 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * finddomain.c (unistd.h):
> --      Include to get _PC_PATH_MAX defined on system having it.
> --
> --Fri Aug  4 22:42:00 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * finddomain.c (stpcpy): Include prototype.
> --
> --      * Makefile.in (dist): Remove `copying instead' message.
> --
> --Wed Aug  2 18:52:03 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * Makefile.in (ID, TAGS): Do not use $^.
> --
> --Tue Aug  1 20:07:11 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * Makefile.in (TAGS, ID): Use $^ as command argument.
> --      (TAGS): Give etags -o option t write to current directory,
> --      not $(srcdir).
> --      (ID): Use $(srcdir) instead os $(top_srcdir)/src.
> --      (distclean): Remove ID.
> --
> --Sun Jul 30 11:51:46 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * Makefile.in (gnulocaledir):
> --      New variable, always using share/ for data directory.
> --      (DEFS): Add GNULOCALEDIR, used in finddomain.c.
> --
> --      * finddomain.c (_nl_default_dirname):
> --      Set to GNULOCALEDIR, because it always has to point
> --      to the directory where GNU gettext Library writes it to.
> --
> --      * intl-compat.c (textdomain, bindtextdomain):
> --      Undefine macros before function definition.
> --
> --Sat Jul 22 01:10:02 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * libgettext.h (_LIBINTL_H):
> --      Protect definition in case where this file is included as
> --      libgettext.h on Solaris machines.  Add comment about this.
> --
> --Wed Jul 19 02:36:42 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * intl-compat.c (textdomain): Correct typo.
> --
> --Wed Jul 19 01:51:35 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * dcgettext.c (dcgettext): Function now called __dcgettext.
> --
> --      * dgettext.c (dgettext): Now called __dgettext and calls
> --      __dcgettext.
> --
> --      * gettext.c (gettext):
> --      Function now called __gettext and calls __dgettext.
> --
> --      * textdomain.c (textdomain): Function now called __textdomain.
> --
> --      * bindtextdom.c (bindtextdomain): Function now called
> --      __bindtextdomain.
> --
> --      * intl-compat.c: Initial revision.
> --
> --      * Makefile.in (SOURCES): Add intl-compat.c.
> --      (OBJECTS): We always compile the GNU gettext library functions.
> --      OBJECTS contains all objects but cat-compat.o, ../po/cat-if-tbl.o,
> --      and intl-compat.o.
> --      (GETTOBJS): Contains now only intl-compat.o.
> --
> --      * libgettext.h:
> --      Re-include protection matches dualistic character of libgettext.h.
> --      For all functions in GNU gettext library define __ counter part.
> --
> --      * finddomain.c (strchr): Define as index if not found in C library.
> --      (_nl_find_domain): For relative paths paste / in between.
> --
> --Tue Jul 18 16:37:45 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * loadmsgcat.c, finddomain.c: Add inclusion of sys/types.h.
> --
> --      * xopen-msg.sed: Fix bug with `msgstr ""' lines.
> --      A little bit better comments.
> --
> --Tue Jul 18 01:18:27 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * Makefile.in:
> --      po-mode.el, makelinks, combine-sh are now found in ../misc.
> --
> --      * po-mode.el, makelinks, combine-sh, elisp-comp:
> --      Moved to ../misc/.
> --
> --      * libgettext.h, gettextP.h, gettext.h: Uniform test for __STDC__.
> --
> --Sun Jul 16 22:33:02 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * Makefile.in (INSTALL, INSTALL_DATA): New variables.
> --      (install-data, uninstall): Install/uninstall .elc file.
> --
> --      * po-mode.el (Installation comment):
> --      Add .pox as possible extension of .po files.
> --
> --Sun Jul 16 13:23:27 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * elisp-comp: Complete new version by Franc,ois: This does not
> --      fail when not compiling in the source directory.
> --
> --Sun Jul 16 00:12:17 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * Makefile.in (../po/cat-id-tbl.o):
> --      Use $(MAKE) instead of make for recursive make.
> --
> --      * Makefile.in (.el.elc): Use $(SHELL) instead of /bin/sh.
> --      (install-exec): Add missing dummy goal.
> --      (install-data, uninstall): @ in multi-line shell command at
> --      beginning, not in front of echo.  Reported by Eric Backus.
> --
> --Sat Jul 15 00:21:28 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * Makefile.in (DISTFILES):
> --      Rename libgettext.perl to gettext.perl to fit in 14 chars
> --      file systems.
> --
> --      * gettext.perl:
> --      Rename to gettext.perl to fit in 14 chars file systems.
> --
> --Thu Jul 13 23:17:20 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * cat-compat.c: If !STDC_HEADERS try to include malloc.h.
> --
> --Thu Jul 13 20:55:02 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * po2tbl.sed.in: Pretty printing.
> --
> --      * linux-msg.sed, xopen-msg.sed:
> --      Correct bugs with handling substitute flags in branches.
> --
> --      * hash-string.h (hash_string):
> --      Old K&R compilers don't under stand `unsigned char'.
> --
> --      * gettext.h (nls_uint32):
> --      Some old K&R compilers (eg HP) don't understand `unsigned int'.
> --
> --      * cat-compat.c (msg_to_cat_id): De-ANSI-fy prototypes.
> --
> --Thu Jul 13 01:34:33 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * Makefile.in (ELCFILES): New variable.
> --      (DISTFILES): Add elisp-comp.
> --      Add implicit rule for .el -> .elc compilation.
> --      (install-data): install $ELCFILES
> --      (clean): renamed po-to-tbl and po-to-msg to po2tbl and po2msg resp.
> --
> --      * elisp-comp: Initial revision
> --
> --Wed Jul 12 16:14:52 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * Makefile.in:
> --      cat-id-tbl.c is now found in po/.  This enables us to use an
> identical
> --      intl/ directory in all packages.
> --
> --      * dcgettext.c (dcgettext): hashing does not work for table size <=
> 2.
> --
> --      * textdomain.c: fix typo (#if def -> #if defined)
> --
> --Tue Jul 11 18:44:43 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * Makefile.in (stamp-cat-id): use top_srcdir to address source
> files
> --      (DISTFILES,distclean): move tupdate.perl to src/
> --
> --      * po-to-tbl.sed.in:
> --      add additional jump to clear change flag to recognize multiline
> strings
> --
> --Tue Jul 11 01:32:50 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * textdomain.c: Protect inclusion of stdlib.h and string.h.
> --
> --      * loadmsgcat.c: Protect inclusion of stdlib.h.
> --
> --      * libgettext.h: Protect inclusion of locale.h.
> --      Allow use in C++ programs.
> --      Define NULL is not happened already.
> --
> --      * Makefile.in (DISTFILES): ship po-to-tbl.sed.in instead of
> --      po-to-tbl.sed.
> --      (distclean): remove po-to-tbl.sed and tupdate.perl.
> --
> --      * tupdate.perl.in: Substitute Perl path even in exec line.
> --      Don't include entries without translation from old .po file.
> --
> --Tue Jul  4 00:41:51 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * tupdate.perl.in: use "Updated: " in msgid "".
> --
> --      * cat-compat.c: Fix typo (LOCALDIR -> LOCALEDIR).
> --      Define getenv if !__STDC__.
> --
> --      * bindtextdom.c: Protect stdlib.h and string.h inclusion.
> --      Define free if !__STDC__.
> --
> --      * finddomain.c: Change DEF_MSG_DOM_DIR to LOCALEDIR.
> --      Define free if !__STDC__.
> --
> --      * cat-compat.c: Change DEF_MSG_DOM_DIR to LOCALEDIR.
> --
> --Mon Jul  3 23:56:30 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * Makefile.in: Use LOCALEDIR instead of DEF_MSG_DOM_DIR.
> --      Remove unneeded $(srcdir) from Makefile.in dependency.
> --
> --      * makelinks: Add copyright and short description.
> --
> --      * po-mode.el: Last version for 0.7.
> --
> --      * tupdate.perl.in: Fix die message.
> --
> --      * dcgettext.c: Protect include of string.h.
> --
> --      * gettext.c: Protect include of stdlib.h and further tries to get
> NULL.
> --
> --      * finddomain.c: Some corrections in includes.
> --
> --      * Makefile.in (INCLUDES): Prune list correct path to Makefile.in.
> --
> --      * po-to-tbl.sed: Adopt for new .po file format.
> --
> --      * linux-msg.sed, xopen-msg.sed: Adopt for new .po file format.
> --
> --Sun Jul  2 23:55:03 1995  Ulrich Drepper  <drepper at myware>
> --
> --      * tupdate.perl.in: Complete rewrite for new .po file format.
> -+2004-01-29  GNU  <bug-gnu-gettext at gnu.org>
> -
> --Sun Jul  2 02:06:50 1995  Ulrich Drepper  <drepper at myware>
> -+      * Version 0.14.1 released.
> -
> --      * First official release.  This directory contains all the code
> --      needed to internationalize own packages.  It provides functions
> --      which allow to use the X/Open catgets function with an interface
> --      like the Uniforum gettext function.  For system which does not
> --      have neither of those a complete implementation is provided.
> ---- lrzsz-0.12.20.safe/intl/config.charset     1969-12-31
> 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/intl/config.charset  2004-09-12 14:40:34.354748240 -0400
> -@@ -0,0 +1,608 @@
> -+#! /bin/sh
> -+# Output a system dependent table of character encoding aliases.
> -+#
> -+#   Copyright (C) 2000-2004 Free Software Foundation, Inc.
> -+#
> -+#   This program is free software; you can redistribute it and/or modify
> it
> -+#   under the terms of the GNU Library General Public License as
> published
> -+#   by the Free Software Foundation; either version 2, 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
> -+#   Library General Public License for more details.
> -+#
> -+#   You should have received a copy of the GNU Library 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.
> -+#
> -+# 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
> -+#   ASCII, ANSI_X3.4-1968       glibc solaris freebsd darwin
> -+#   ISO-8859-1              Y   glibc aix hpux irix osf solaris freebsd
> darwin
> -+#   ISO-8859-2              Y   glibc aix hpux irix osf solaris freebsd
> darwin
> -+#   ISO-8859-3              Y   glibc solaris
> -+#   ISO-8859-4              Y   osf solaris freebsd darwin
> -+#   ISO-8859-5              Y   glibc aix hpux irix osf solaris freebsd
> darwin
> -+#   ISO-8859-6              Y   glibc aix hpux solaris
> -+#   ISO-8859-7              Y   glibc aix hpux irix osf solaris
> -+#   ISO-8859-8              Y   glibc aix hpux osf solaris
> -+#   ISO-8859-9              Y   glibc aix hpux irix osf solaris
> -+#   ISO-8859-13                 glibc
> -+#   ISO-8859-14                 glibc
> -+#   ISO-8859-15                 glibc aix osf solaris freebsd
> -+#   KOI8-R                  Y   glibc solaris freebsd darwin
> -+#   KOI8-U                  Y   glibc freebsd darwin
> -+#   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 darwin dos
> -+#   CP869                       dos
> -+#   CP874                       woe32 dos
> -+#   CP922                       aix
> -+#   CP932                       aix woe32 dos
> -+#   CP943                       aix
> -+#   CP949                       osf woe32 dos
> -+#   CP950                       woe32 dos
> -+#   CP1046                      aix
> -+#   CP1124                      aix
> -+#   CP1125                      dos
> -+#   CP1129                      aix
> -+#   CP1250                      woe32
> -+#   CP1251                      glibc solaris darwin woe32
> -+#   CP1252                      aix woe32
> -+#   CP1253                      woe32
> -+#   CP1254                      woe32
> -+#   CP1255                      glibc woe32
> -+#   CP1256                      woe32
> -+#   CP1257                      woe32
> -+#   GB2312                  Y   glibc aix hpux irix solaris freebsd
> darwin
> -+#   EUC-JP                  Y   glibc aix hpux irix osf solaris freebsd
> darwin
> -+#   EUC-KR                  Y   glibc aix hpux irix osf solaris freebsd
> darwin
> -+#   EUC-TW                      glibc aix hpux irix osf solaris
> -+#   BIG5                    Y   glibc aix hpux osf solaris freebsd darwin
> -+#   BIG5-HKSCS                  glibc solaris
> -+#   GBK                         glibc aix osf solaris woe32 dos
> -+#   GB18030                     glibc solaris
> -+#   SHIFT_JIS               Y   hpux osf solaris freebsd darwin
> -+#   JOHAB                       glibc solaris woe32
> -+#   TIS-620                     glibc aix hpux osf solaris
> -+#   VISCII                  Y   glibc
> -+#   TCVN5712-1                  glibc
> -+#   GEORGIAN-PS                 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
> -+#
> -+# 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 at euro ISO-8859-15"
> -+        echo "$l at euro ISO-8859-15"
> -+        echo "$l.cp-437 CP437"
> -+        echo "$l.cp-850 CP850"
> -+        echo "$l.cp-1252 CP1252"
> -+        echo "$l.cp-1252 at euro CP1252"
> -+        #echo "$l.atari-st ATARI-ST" # not a commonly used encoding
> -+        echo "$l.utf-8 UTF-8"
> -+        echo "$l.utf-8 at 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 at euro CP1253"
> -+        echo "$l.utf-8 UTF-8"
> -+        echo "$l.utf-8 at 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-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"
> -+      ;;
> -+    darwin*)
> -+      # 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"
> -+      ;;
> -+    beos*)
> -+      # BeOS has 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 <st001906 at hrz1.hrz.tu-darmstadt.de>"
> -+      echo "# and Bruno Haible <bruno at 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
> ---- lrzsz-0.12.20.safe/intl/dcgettext.c        1998-04-26
> 09:22:36.000000000 -0400
> -+++ lrzsz-0.12.20/intl/dcgettext.c     2004-09-12 14:40:34.359747480 -0400
> -@@ -1,593 +1,56 @@
> --/* Implementation of the dcgettext(3) function
> --   Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
> -+/* Implementation of the dcgettext(3) function.
> -+   Copyright (C) 1995-1999, 2000-2003 Free Software Foundation, Inc.
> -
> --   This 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)
> -+   This program is free software; you can redistribute it and/or modify
> it
> -+   under the terms of the GNU Library General Public License as published
> -+   by the Free Software Foundation; either version 2, 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.
> -+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> -+   Library General Public License for more details.
> -
> --   You should have received a copy of the GNU 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.  */
> -+   You should have received a copy of the GNU Library 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.  */
> -
> - #ifdef HAVE_CONFIG_H
> - # include <config.h>
> - #endif
> -
> --#include <sys/types.h>
> --
> --#ifdef __GNUC__
> --# define alloca __builtin_alloca
> --# define HAVE_ALLOCA 1
> --#else
> --# if defined HAVE_ALLOCA_H || defined _LIBC
> --#  include <alloca.h>
> --# else
> --#  ifdef _AIX
> -- #pragma alloca
> --#  else
> --#   ifndef alloca
> --char *alloca ();
> --#   endif
> --#  endif
> --# endif
> --#endif
> --
> --#include <errno.h>
> --#ifndef errno
> --extern int errno;
> --#endif
> --#ifndef __set_errno
> --# define __set_errno(val) errno = (val)
> --#endif
> --
> --#if defined STDC_HEADERS || defined _LIBC
> --# include <stdlib.h>
> --#else
> --char *getenv ();
> --# ifdef HAVE_MALLOC_H
> --#  include <malloc.h>
> --# else
> --void free ();
> --# endif
> --#endif
> --
> --#if defined HAVE_STRING_H || defined _LIBC
> --# ifndef _GNU_SOURCE
> --#  define _GNU_SOURCE 1
> --# endif
> --# include <string.h>
> --#else
> --# include <strings.h>
> --#endif
> --#if !HAVE_STRCHR && !defined _LIBC
> --# ifndef strchr
> --#  define strchr index
> --# endif
> --#endif
> --
> --#if defined HAVE_UNISTD_H || defined _LIBC
> --# include <unistd.h>
> --#endif
> --
> --#include "gettext.h"
> - #include "gettextP.h"
> - #ifdef _LIBC
> - # include <libintl.h>
> - #else
> --# include "libgettext.h"
> -+# include "libgnuintl.h"
> - #endif
> --#include "hash-string.h"
> -
> - /* @@ end of prolog @@ */
> -
> --#ifdef _LIBC
> --/* Rename the non ANSI C functions.  This is required by the standard
> --   because some ANSI C functions will require linking with this object
> --   file and the name space must not be polluted.  */
> --# define getcwd __getcwd
> --# define stpcpy __stpcpy
> --#else
> --# if !defined HAVE_GETCWD
> --char *getwd ();
> --#  define getcwd(buf, max) getwd (buf)
> --# else
> --char *getcwd ();
> --# endif
> --# ifndef HAVE_STPCPY
> --static char *stpcpy PARAMS ((char *dest, const char *src));
> --# endif
> --#endif
> --
> --/* Amount to increase buffer size by in each try.  */
> --#define PATH_INCR 32
> --
> --/* The following is from pathmax.h.  */
> --/* Non-POSIX BSD systems might have gcc's limits.h, which doesn't define
> --   PATH_MAX but might cause redefinition warnings when sys/param.h is
> --   later included (as on MORE/BSD 4.3).  */
> --#if defined(_POSIX_VERSION) || (defined(HAVE_LIMITS_H) &&
> !defined(__GNUC__))
> --# include <limits.h>
> --#endif
> --
> --#ifndef _POSIX_PATH_MAX
> --# define _POSIX_PATH_MAX 255
> --#endif
> --
> --#if !defined(PATH_MAX) && defined(_PC_PATH_MAX)
> --# define PATH_MAX (pathconf ("/", _PC_PATH_MAX) < 1 ? 1024 : pathconf
> ("/", _PC_PATH_MAX))
> --#endif
> --
> --/* Don't include sys/param.h if it already has been.  */
> --#if defined(HAVE_SYS_PARAM_H) && !defined(PATH_MAX) &&
> !defined(MAXPATHLEN)
> --# include <sys/param.h>
> --#endif
> --
> --#if !defined(PATH_MAX) && defined(MAXPATHLEN)
> --# define PATH_MAX MAXPATHLEN
> --#endif
> --
> --#ifndef PATH_MAX
> --# define PATH_MAX _POSIX_PATH_MAX
> --#endif
> --
> --/* XPG3 defines the result of `setlocale (category, NULL)' as:
> --   ``Directs `setlocale()' to query `category' and return the current
> --     setting of `local'.''
> --   However it does not specify the exact format.  And even worse: POSIX
> --   defines this not at all.  So we can use this feature only on selected
> --   system (e.g. those using GNU C Library).  */
> --#ifdef _LIBC
> --# define HAVE_LOCALE_NULL
> --#endif
> --
> --/* Name of the default domain used for gettext(3) prior any call to
> --   textdomain(3).  The default value for this is "messages".  */
> --const char _nl_default_default_domain[] = "messages";
> --
> --/* Value used as the default domain for gettext(3).  */
> --const char *_nl_current_default_domain = _nl_default_default_domain;
> --
> --/* Contains the default location of the message catalogs.  */
> --const char _nl_default_dirname[] = GNULOCALEDIR;
> --
> --/* List with bindings of specific domains created by bindtextdomain()
> --   calls.  */
> --struct binding *_nl_domain_bindings;
> --
> --/* Prototypes for local functions.  */
> --static char *find_msg PARAMS ((struct loaded_l10nfile *domain_file,
> --                             const char *msgid));
> --static const char *category_to_name PARAMS ((int category));
> --static const char *guess_category_value PARAMS ((int category,
> --                                               const char
> *categoryname));
> --
> --
> --/* For those loosing systems which don't have `alloca' we have to add
> --   some additional code emulating it.  */
> --#ifdef HAVE_ALLOCA
> --/* Nothing has to be done.  */
> --# define ADD_BLOCK(list, address) /* nothing */
> --# define FREE_BLOCKS(list) /* nothing */
> --#else
> --struct block_list
> --{
> --  void *address;
> --  struct block_list *next;
> --};
> --# define ADD_BLOCK(list, addr)
>             \
> --  do {
>             \
> --    struct block_list *newp = (struct block_list *) malloc (sizeof
> (*newp));  \
> --    /* If we cannot get a free block we cannot add the new element to
>    \
> --       the list.  */
>     \
> --    if (newp != NULL) {
>            \
> --      newp->address = (addr);
>    \
> --      newp->next = (list);
>     \
> --      (list) = newp;
>     \
> --    }
>    \
> --  } while (0)
> --# define FREE_BLOCKS(list)
>     \
> --  do {
>             \
> --    while (list != NULL) {
>     \
> --      struct block_list *old = list;
>     \
> --      list = list->next;
>     \
> --      free (old);
>    \
> --    }
>    \
> --  } while (0)
> --# undef alloca
> --# define alloca(size) (malloc (size))
> --#endif        /* have alloca */
> --
> --
> - /* Names for the libintl functions are a problem.  They must not clash
> -    with existing names and they should follow ANSI C.  But this source
> -    code is also used in GNU C Library where the names have a __
> -    prefix.  So we have to make a difference here.  */
> - #ifdef _LIBC
> - # define DCGETTEXT __dcgettext
> -+# define DCIGETTEXT __dcigettext
> - #else
> --# define DCGETTEXT dcgettext__
> -+# define DCGETTEXT libintl_dcgettext
> -+# define DCIGETTEXT libintl_dcigettext
> - #endif
> -
> - /* Look up MSGID in the DOMAINNAME message catalog for the current
> CATEGORY
> -    locale.  */
> - char *
> --DCGETTEXT (domainname, msgid, category)
> --     const char *domainname;
> --     const char *msgid;
> --     int category;
> -+DCGETTEXT (const char *domainname, const char *msgid, int category)
> - {
> --#ifndef HAVE_ALLOCA
> --  struct block_list *block_list = NULL;
> --#endif
> --  struct loaded_l10nfile *domain;
> --  struct binding *binding;
> --  const char *categoryname;
> --  const char *categoryvalue;
> --  char *dirname, *xdomainname;
> --  char *single_locale;
> --  char *retval;
> --  int saved_errno = errno;
> --
> --  /* If no real MSGID is given return NULL.  */
> --  if (msgid == NULL)
> --    return NULL;
> --
> --  /* If DOMAINNAME is NULL, we are interested in the default domain.  If
> --     CATEGORY is not LC_MESSAGES this might not make much sense but the
> --     defintion left this undefined.  */
> --  if (domainname == NULL)
> --    domainname = _nl_current_default_domain;
> --
> --  /* First find matching binding.  */
> --  for (binding = _nl_domain_bindings; binding != NULL; binding =
> binding->next)
> --    {
> --      int compare = strcmp (domainname, binding->domainname);
> --      if (compare == 0)
> --      /* We found it!  */
> --      break;
> --      if (compare < 0)
> --      {
> --        /* It is not in the list.  */
> --        binding = NULL;
> --        break;
> --      }
> --    }
> --
> --  if (binding == NULL)
> --    dirname = (char *) _nl_default_dirname;
> --  else if (binding->dirname[0] == '/')
> --    dirname = binding->dirname;
> --  else
> --    {
> --      /* We have a relative path.  Make it absolute now.  */
> --      size_t dirname_len = strlen (binding->dirname) + 1;
> --      size_t path_max;
> --      char *ret;
> --
> --      path_max = (unsigned) PATH_MAX;
> --      path_max += 2;          /* The getcwd docs say to do this.  */
> --
> --      dirname = (char *) alloca (path_max + dirname_len);
> --      ADD_BLOCK (block_list, dirname);
> --
> --      __set_errno (0);
> --      while ((ret = getcwd (dirname, path_max)) == NULL && errno ==
> ERANGE)
> --      {
> --        path_max += PATH_INCR;
> --        dirname = (char *) alloca (path_max + dirname_len);
> --        ADD_BLOCK (block_list, dirname);
> --        __set_errno (0);
> --      }
> --
> --      if (ret == NULL)
> --      {
> --        /* We cannot get the current working directory.  Don't signal an
> --           error but simply return the default string.  */
> --        FREE_BLOCKS (block_list);
> --        __set_errno (saved_errno);
> --        return (char *) msgid;
> --      }
> --
> --      stpcpy (stpcpy (strchr (dirname, '\0'), "/"), binding->dirname);
> --    }
> --
> --  /* Now determine the symbolic name of CATEGORY and its value.  */
> --  categoryname = category_to_name (category);
> --  categoryvalue = guess_category_value (category, categoryname);
> --
> --  xdomainname = (char *) alloca (strlen (categoryname)
> --                               + strlen (domainname) + 5);
> --  ADD_BLOCK (block_list, xdomainname);
> --
> --  stpcpy (stpcpy (stpcpy (stpcpy (xdomainname, categoryname), "/"),
> --                domainname),
> --        ".mo");
> --
> --  /* Creating working area.  */
> --  single_locale = (char *) alloca (strlen (categoryvalue) + 1);
> --  ADD_BLOCK (block_list, single_locale);
> --
> --
> --  /* Search for the given string.  This is a loop because we perhaps
> --     got an ordered list of languages to consider for th translation.  */
> --  while (1)
> --    {
> --      /* Make CATEGORYVALUE point to the next element of the list.  */
> --      while (categoryvalue[0] != '\0' && categoryvalue[0] == ':')
> --      ++categoryvalue;
> --      if (categoryvalue[0] == '\0')
> --      {
> --        /* The whole contents of CATEGORYVALUE has been searched but
> --           no valid entry has been found.  We solve this situation
> --           by implicitly appending a "C" entry, i.e. no translation
> --           will take place.  */
> --        single_locale[0] = 'C';
> --        single_locale[1] = '\0';
> --      }
> --      else
> --      {
> --        char *cp = single_locale;
> --        while (categoryvalue[0] != '\0' && categoryvalue[0] != ':')
> --          *cp++ = *categoryvalue++;
> --        *cp = '\0';
> --      }
> --
> --      /* If the current locale value is C (or POSIX) we don't load a
> --       domain.  Return the MSGID.  */
> --      if (strcmp (single_locale, "C") == 0
> --        || strcmp (single_locale, "POSIX") == 0)
> --      {
> --        FREE_BLOCKS (block_list);
> --        __set_errno (saved_errno);
> --        return (char *) msgid;
> --      }
> --
> --
> --      /* Find structure describing the message catalog matching the
> --       DOMAINNAME and CATEGORY.  */
> --      domain = _nl_find_domain (dirname, single_locale, xdomainname);
> --
> --      if (domain != NULL)
> --      {
> --        retval = find_msg (domain, msgid);
> --
> --        if (retval == NULL)
> --          {
> --            int cnt;
> --
> --            for (cnt = 0; domain->successor[cnt] != NULL; ++cnt)
> --              {
> --                retval = find_msg (domain->successor[cnt], msgid);
> --
> --                if (retval != NULL)
> --                  break;
> --              }
> --          }
> --
> --        if (retval != NULL)
> --          {
> --            FREE_BLOCKS (block_list);
> --            __set_errno (saved_errno);
> --            return retval;
> --          }
> --      }
> --    }
> --  /* NOTREACHED */
> -+  return DCIGETTEXT (domainname, msgid, NULL, 0, 0, category);
> - }
> -
> - #ifdef _LIBC
> - /* Alias for function name in GNU C Library.  */
> -+INTDEF(__dcgettext)
> - weak_alias (__dcgettext, dcgettext);
> - #endif
> --
> --
> --static char *
> --find_msg (domain_file, msgid)
> --     struct loaded_l10nfile *domain_file;
> --     const char *msgid;
> --{
> --  size_t top, act, bottom;
> --  struct loaded_domain *domain;
> --
> --  if (domain_file->decided == 0)
> --    _nl_load_domain (domain_file);
> --
> --  if (domain_file->data == NULL)
> --    return NULL;
> --
> --  domain = (struct loaded_domain *) domain_file->data;
> --
> --  /* Locate the MSGID and its translation.  */
> --  if (domain->hash_size > 2 && domain->hash_tab != NULL)
> --    {
> --      /* Use the hashing table.  */
> --      nls_uint32 len = strlen (msgid);
> --      nls_uint32 hash_val = hash_string (msgid);
> --      nls_uint32 idx = hash_val % domain->hash_size;
> --      nls_uint32 incr = 1 + (hash_val % (domain->hash_size - 2));
> --      nls_uint32 nstr = W (domain->must_swap, domain->hash_tab[idx]);
> --
> --      if (nstr == 0)
> --      /* Hash table entry is empty.  */
> --      return NULL;
> --
> --      if (W (domain->must_swap, domain->orig_tab[nstr - 1].length) == len
> --        && strcmp (msgid,
> --                   domain->data + W (domain->must_swap,
> --                                     domain->orig_tab[nstr - 1].offset))
> == 0)
> --      return (char *) domain->data + W (domain->must_swap,
> --                                        domain->trans_tab[nstr -
> 1].offset);
> --
> --      while (1)
> --      {
> --        if (idx >= domain->hash_size - incr)
> --          idx -= domain->hash_size - incr;
> --        else
> --          idx += incr;
> --
> --        nstr = W (domain->must_swap, domain->hash_tab[idx]);
> --        if (nstr == 0)
> --          /* Hash table entry is empty.  */
> --          return NULL;
> --
> --        if (W (domain->must_swap, domain->orig_tab[nstr - 1].length) ==
> len
> --            && strcmp (msgid,
> --                       domain->data + W (domain->must_swap,
> --                                         domain->orig_tab[nstr -
> 1].offset))
> --               == 0)
> --          return (char *) domain->data
> --            + W (domain->must_swap, domain->trans_tab[nstr - 1].offset);
> --      }
> --      /* NOTREACHED */
> --    }
> --
> --  /* Now we try the default method:  binary search in the sorted
> --     array of messages.  */
> --  bottom = 0;
> --  top = domain->nstrings;
> --  while (bottom < top)
> --    {
> --      int cmp_val;
> --
> --      act = (bottom + top) / 2;
> --      cmp_val = strcmp (msgid, domain->data
> --                             + W (domain->must_swap,
> --                                  domain->orig_tab[act].offset));
> --      if (cmp_val < 0)
> --      top = act;
> --      else if (cmp_val > 0)
> --      bottom = act + 1;
> --      else
> --      break;
> --    }
> --
> --  /* If an translation is found return this.  */
> --  return bottom >= top ? NULL : (char *) domain->data
> --                                + W (domain->must_swap,
> --                                   domain->trans_tab[act].offset);
> --}
> --
> --
> --/* Return string representation of locale CATEGORY.  */
> --static const char *
> --category_to_name (category)
> --     int category;
> --{
> --  const char *retval;
> --
> --  switch (category)
> --  {
> --#ifdef LC_COLLATE
> --  case LC_COLLATE:
> --    retval = "LC_COLLATE";
> --    break;
> --#endif
> --#ifdef LC_CTYPE
> --  case LC_CTYPE:
> --    retval = "LC_CTYPE";
> --    break;
> --#endif
> --#ifdef LC_MONETARY
> --  case LC_MONETARY:
> --    retval = "LC_MONETARY";
> --    break;
> --#endif
> --#ifdef LC_NUMERIC
> --  case LC_NUMERIC:
> --    retval = "LC_NUMERIC";
> --    break;
> --#endif
> --#ifdef LC_TIME
> --  case LC_TIME:
> --    retval = "LC_TIME";
> --    break;
> --#endif
> --#ifdef LC_MESSAGES
> --  case LC_MESSAGES:
> --    retval = "LC_MESSAGES";
> --    break;
> --#endif
> --#ifdef LC_RESPONSE
> --  case LC_RESPONSE:
> --    retval = "LC_RESPONSE";
> --    break;
> --#endif
> --#ifdef LC_ALL
> --  case LC_ALL:
> --    /* This might not make sense but is perhaps better than any other
> --       value.  */
> --    retval = "LC_ALL";
> --    break;
> --#endif
> --  default:
> --    /* If you have a better idea for a default value let me know.  */
> --    retval = "LC_XXX";
> --  }
> --
> --  return retval;
> --}
> --
> --/* Guess value of current locale from value of the environment
> variables.  */
> --static const char *
> --guess_category_value (category, categoryname)
> --     int category;
> --     const char *categoryname;
> --{
> --  const char *retval;
> --
> --  /* The highest priority value is the `LANGUAGE' environment
> --     variable.  This is a GNU extension.  */
> --  retval = getenv ("LANGUAGE");
> --  if (retval != NULL && retval[0] != '\0')
> --    return retval;
> --
> --  /* `LANGUAGE' is not set.  So we have to proceed with the POSIX
> --     methods of looking to `LC_ALL', `LC_xxx', and `LANG'.  On some
> --     systems this can be done by the `setlocale' function itself.  */
> --#if defined HAVE_SETLOCALE && defined HAVE_LC_MESSAGES && defined
> HAVE_LOCALE_NULL
> --  return setlocale (category, NULL);
> --#else
> --  /* Setting of LC_ALL overwrites all other.  */
> --  retval = getenv ("LC_ALL");
> --  if (retval != NULL && retval[0] != '\0')
> --    return retval;
> --
> --  /* Next comes the name of the desired category.  */
> --  retval = getenv (categoryname);
> --  if (retval != NULL && retval[0] != '\0')
> --    return retval;
> --
> --  /* Last possibility is the LANG environment variable.  */
> --  retval = getenv ("LANG");
> --  if (retval != NULL && retval[0] != '\0')
> --    return retval;
> --
> --  /* We use C as the default domain.  POSIX says this is implementation
> --     defined.  */
> --  return "C";
> --#endif
> --}
> --
> --/* @@ begin of epilog @@ */
> --
> --/* We don't want libintl.a to depend on any other library.  So we
> --   avoid the non-standard function stpcpy.  In GNU C Library this
> --   function is available, though.  Also allow the symbol HAVE_STPCPY
> --   to be defined.  */
> --#if !_LIBC && !HAVE_STPCPY
> --static char *
> --stpcpy (dest, src)
> --     char *dest;
> --     const char *src;
> --{
> --  while ((*dest++ = *src++) != '\0')
> --    /* Do nothing. */ ;
> --  return dest - 1;
> --}
> --#endif
> ---- lrzsz-0.12.20.safe/intl/dcigettext.c       1969-12-31
> 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/intl/dcigettext.c    2004-09-12 14:40:34.369745960 -0400
> -@@ -0,0 +1,1219 @@
> -+/* Implementation of the internal dcigettext function.
> -+   Copyright (C) 1995-1999, 2000-2003 Free Software Foundation, Inc.
> -+
> -+   This program is free software; you can redistribute it and/or modify
> it
> -+   under the terms of the GNU Library General Public License as published
> -+   by the Free Software Foundation; either version 2, 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
> -+   Library General Public License for more details.
> -+
> -+   You should have received a copy of the GNU Library 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.  */
> -+
> -+/* Tell glibc's <string.h> to provide a prototype for mempcpy().
> -+   This must come before <config.h> because <config.h> may include
> -+   <features.h>, and once <features.h> has been included, it's too
> late.  */
> -+#ifndef _GNU_SOURCE
> -+# define _GNU_SOURCE  1
> -+#endif
> -+
> -+#ifdef HAVE_CONFIG_H
> -+# include <config.h>
> -+#endif
> -+
> -+#include <sys/types.h>
> -+
> -+#ifdef __GNUC__
> -+# define alloca __builtin_alloca
> -+# define HAVE_ALLOCA 1
> -+#else
> -+# ifdef _MSC_VER
> -+#  include <malloc.h>
> -+#  define alloca _alloca
> -+# else
> -+#  if defined HAVE_ALLOCA_H || defined _LIBC
> -+#   include <alloca.h>
> -+#  else
> -+#   ifdef _AIX
> -+ #pragma alloca
> -+#   else
> -+#    ifndef alloca
> -+char *alloca ();
> -+#    endif
> -+#   endif
> -+#  endif
> -+# endif
> -+#endif
> -+
> -+#include <errno.h>
> -+#ifndef errno
> -+extern int errno;
> -+#endif
> -+#ifndef __set_errno
> -+# define __set_errno(val) errno = (val)
> -+#endif
> -+
> -+#include <stddef.h>
> -+#include <stdlib.h>
> -+#include <string.h>
> -+
> -+#if defined HAVE_UNISTD_H || defined _LIBC
> -+# include <unistd.h>
> -+#endif
> -+
> -+#include <locale.h>
> -+
> -+#ifdef _LIBC
> -+  /* Guess whether integer division by zero raises signal SIGFPE.
> -+     Set to 1 only if you know for sure.  In case of doubt, set to 0.  */
> -+# if defined __alpha__ || defined __arm__ || defined __i386__ \
> -+     || defined __m68k__ || defined __s390__
> -+#  define INTDIV0_RAISES_SIGFPE 1
> -+# else
> -+#  define INTDIV0_RAISES_SIGFPE 0
> -+# endif
> -+#endif
> -+#if !INTDIV0_RAISES_SIGFPE
> -+# include <signal.h>
> -+#endif
> -+
> -+#if defined HAVE_SYS_PARAM_H || defined _LIBC
> -+# include <sys/param.h>
> -+#endif
> -+
> -+#include "gettextP.h"
> -+#include "plural-exp.h"
> -+#ifdef _LIBC
> -+# include <libintl.h>
> -+#else
> -+# include "libgnuintl.h"
> -+#endif
> -+#include "hash-string.h"
> -+
> -+/* Thread safetyness.  */
> -+#ifdef _LIBC
> -+# include <bits/libc-lock.h>
> -+#else
> -+/* Provide dummy implementation if this is outside glibc.  */
> -+# define __libc_lock_define_initialized(CLASS, NAME)
> -+# define __libc_lock_lock(NAME)
> -+# define __libc_lock_unlock(NAME)
> -+# define __libc_rwlock_define_initialized(CLASS, NAME)
> -+# define __libc_rwlock_rdlock(NAME)
> -+# define __libc_rwlock_unlock(NAME)
> -+#endif
> -+
> -+/* Alignment of types.  */
> -+#if defined __GNUC__ && __GNUC__ >= 2
> -+# define alignof(TYPE) __alignof__ (TYPE)
> -+#else
> -+# define alignof(TYPE) \
> -+    ((int) &((struct { char dummy1; TYPE dummy2; } *) 0)->dummy2)
> -+#endif
> -+
> -+/* The internal variables in the standalone libintl.a must have different
> -+   names than the internal variables in GNU libc, otherwise programs
> -+   using libintl.a cannot be linked statically.  */
> -+#if !defined _LIBC
> -+# define _nl_default_default_domain libintl_nl_default_default_domain
> -+# define _nl_current_default_domain libintl_nl_current_default_domain
> -+# define _nl_default_dirname libintl_nl_default_dirname
> -+# define _nl_domain_bindings libintl_nl_domain_bindings
> -+#endif
> -+
> -+/* Some compilers, like SunOS4 cc, don't have offsetof in <stddef.h>.  */
> -+#ifndef offsetof
> -+# define offsetof(type,ident) ((size_t)&(((type*)0)->ident))
> -+#endif
> -+
> -+/* @@ end of prolog @@ */
> -+
> -+#ifdef _LIBC
> -+/* Rename the non ANSI C functions.  This is required by the standard
> -+   because some ANSI C functions will require linking with this object
> -+   file and the name space must not be polluted.  */
> -+# define getcwd __getcwd
> -+# ifndef stpcpy
> -+#  define stpcpy __stpcpy
> -+# endif
> -+# define tfind __tfind
> -+#else
> -+# if !defined HAVE_GETCWD
> -+char *getwd ();
> -+#  define getcwd(buf, max) getwd (buf)
> -+# else
> -+#  if VMS
> -+#   define getcwd(buf, max) (getcwd) (buf, max, 0)
> -+#  else
> -+char *getcwd ();
> -+#  endif
> -+# endif
> -+# ifndef HAVE_STPCPY
> -+static char *stpcpy (char *dest, const char *src);
> -+# endif
> -+# ifndef HAVE_MEMPCPY
> -+static void *mempcpy (void *dest, const void *src, size_t n);
> -+# endif
> -+#endif
> -+
> -+/* Amount to increase buffer size by in each try.  */
> -+#define PATH_INCR 32
> -+
> -+/* The following is from pathmax.h.  */
> -+/* Non-POSIX BSD systems might have gcc's limits.h, which doesn't define
> -+   PATH_MAX but might cause redefinition warnings when sys/param.h is
> -+   later included (as on MORE/BSD 4.3).  */
> -+#if defined _POSIX_VERSION || (defined HAVE_LIMITS_H && !defined
> __GNUC__)
> -+# include <limits.h>
> -+#endif
> -+
> -+#ifndef _POSIX_PATH_MAX
> -+# define _POSIX_PATH_MAX 255
> -+#endif
> -+
> -+#if !defined PATH_MAX && defined _PC_PATH_MAX
> -+# define PATH_MAX (pathconf ("/", _PC_PATH_MAX) < 1 ? 1024 : pathconf
> ("/", _PC_PATH_MAX))
> -+#endif
> -+
> -+/* Don't include sys/param.h if it already has been.  */
> -+#if defined HAVE_SYS_PARAM_H && !defined PATH_MAX && !defined MAXPATHLEN
> -+# include <sys/param.h>
> -+#endif
> -+
> -+#if !defined PATH_MAX && defined MAXPATHLEN
> -+# define PATH_MAX MAXPATHLEN
> -+#endif
> -+
> -+#ifndef PATH_MAX
> -+# define PATH_MAX _POSIX_PATH_MAX
> -+#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 __WIN32__ || defined __EMX__ || defined
> __DJGPP__
> -+  /* Win32, 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))
> -+#else
> -+  /* Unix */
> -+# define ISSLASH(C) ((C) == '/')
> -+# define IS_ABSOLUTE_PATH(P) ISSLASH ((P)[0])
> -+# define IS_PATH_WITH_DIR(P) (strchr (P, '/') != NULL)
> -+#endif
> -+
> -+/* This is the type used for the search tree where known translations
> -+   are stored.  */
> -+struct known_translation_t
> -+{
> -+  /* Domain in which to search.  */
> -+  char *domainname;
> -+
> -+  /* The category.  */
> -+  int category;
> -+
> -+  /* State of the catalog counter at the point the string was found.  */
> -+  int counter;
> -+
> -+  /* Catalog where the string was found.  */
> -+  struct loaded_l10nfile *domain;
> -+
> -+  /* And finally the translation.  */
> -+  const char *translation;
> -+  size_t translation_length;
> -+
> -+  /* Pointer to the string in question.  */
> -+  char msgid[ZERO];
> -+};
> -+
> -+/* Root of the search tree with known translations.  We can use this
> -+   only if the system provides the `tsearch' function family.  */
> -+#if defined HAVE_TSEARCH || defined _LIBC
> -+# include <search.h>
> -+
> -+static void *root;
> -+
> -+# ifdef _LIBC
> -+#  define tsearch __tsearch
> -+# endif
> -+
> -+/* Function to compare two entries in the table of known translations.
> */
> -+static int
> -+transcmp (const void *p1, const void *p2)
> -+{
> -+  const struct known_translation_t *s1;
> -+  const struct known_translation_t *s2;
> -+  int result;
> -+
> -+  s1 = (const struct known_translation_t *) p1;
> -+  s2 = (const struct known_translation_t *) p2;
> -+
> -+  result = strcmp (s1->msgid, s2->msgid);
> -+  if (result == 0)
> -+    {
> -+      result = strcmp (s1->domainname, s2->domainname);
> -+      if (result == 0)
> -+      /* We compare the category last (though this is the cheapest
> -+         operation) since it is hopefully always the same (namely
> -+         LC_MESSAGES).  */
> -+      result = s1->category - s2->category;
> -+    }
> -+
> -+  return result;
> -+}
> -+#endif
> -+
> -+#ifndef INTVARDEF
> -+# define INTVARDEF(name)
> -+#endif
> -+#ifndef INTUSE
> -+# define INTUSE(name) name
> -+#endif
> -+
> -+/* Name of the default domain used for gettext(3) prior any call to
> -+   textdomain(3).  The default value for this is "messages".  */
> -+const char _nl_default_default_domain[] attribute_hidden = "messages";
> -+
> -+/* Value used as the default domain for gettext(3).  */
> -+const char *_nl_current_default_domain attribute_hidden
> -+     = _nl_default_default_domain;
> -+
> -+/* Contains the default location of the message catalogs.  */
> -+#if defined __EMX__
> -+extern const char _nl_default_dirname[];
> -+#else
> -+const char _nl_default_dirname[] = LOCALEDIR;
> -+INTVARDEF (_nl_default_dirname)
> -+#endif
> -+
> -+/* List with bindings of specific domains created by bindtextdomain()
> -+   calls.  */
> -+struct binding *_nl_domain_bindings;
> -+
> -+/* Prototypes for local functions.  */
> -+static char *plural_lookup (struct loaded_l10nfile *domain,
> -+                          unsigned long int n,
> -+                          const char *translation, size_t
> translation_len)
> -+     internal_function;
> -+static const char *guess_category_value (int category,
> -+                                       const char *categoryname)
> -+     internal_function;
> -+#ifdef _LIBC
> -+# include "../locale/localeinfo.h"
> -+# define category_to_name(category)   _nl_category_names[category]
> -+#else
> -+static const char *category_to_name (int category) internal_function;
> -+#endif
> -+
> -+
> -+/* For those loosing systems which don't have `alloca' we have to add
> -+   some additional code emulating it.  */
> -+#ifdef HAVE_ALLOCA
> -+/* Nothing has to be done.  */
> -+# define freea(p) /* nothing */
> -+# define ADD_BLOCK(list, address) /* nothing */
> -+# define FREE_BLOCKS(list) /* nothing */
> -+#else
> -+struct block_list
> -+{
> -+  void *address;
> -+  struct block_list *next;
> -+};
> -+# define ADD_BLOCK(list, addr)
>             \
> -+  do {
>             \
> -+    struct block_list *newp = (struct block_list *) malloc (sizeof
> (*newp));  \
> -+    /* If we cannot get a free block we cannot add the new element to
>    \
> -+       the list.  */
>     \
> -+    if (newp != NULL) {
>            \
> -+      newp->address = (addr);
>    \
> -+      newp->next = (list);
>     \
> -+      (list) = newp;
>     \
> -+    }
>    \
> -+  } while (0)
> -+# define FREE_BLOCKS(list)
>     \
> -+  do {
>             \
> -+    while (list != NULL) {
>     \
> -+      struct block_list *old = list;
>     \
> -+      list = list->next;
>     \
> -+      free (old->address);
>     \
> -+      free (old);
>    \
> -+    }
>    \
> -+  } while (0)
> -+# undef alloca
> -+# define alloca(size) (malloc (size))
> -+# define freea(p) free (p)
> -+#endif        /* have alloca */
> -+
> -+
> -+#ifdef _LIBC
> -+/* List of blocks allocated for translations.  */
> -+typedef struct transmem_list
> -+{
> -+  struct transmem_list *next;
> -+  char data[ZERO];
> -+} transmem_block_t;
> -+static struct transmem_list *transmem_list;
> -+#else
> -+typedef unsigned char transmem_block_t;
> -+#endif
> -+
> -+
> -+/* Names for the libintl functions are a problem.  They must not clash
> -+   with existing names and they should follow ANSI C.  But this source
> -+   code is also used in GNU C Library where the names have a __
> -+   prefix.  So we have to make a difference here.  */
> -+#ifdef _LIBC
> -+# define DCIGETTEXT __dcigettext
> -+#else
> -+# define DCIGETTEXT libintl_dcigettext
> -+#endif
> -+
> -+/* Lock variable to protect the global data in the gettext
> implementation.  */
> -+#ifdef _LIBC
> -+__libc_rwlock_define_initialized (, _nl_state_lock attribute_hidden)
> -+#endif
> -+
> -+/* Checking whether the binaries runs SUID must be done and glibc
> provides
> -+   easier methods therefore we make a difference here.  */
> -+#ifdef _LIBC
> -+# define ENABLE_SECURE __libc_enable_secure
> -+# define DETERMINE_SECURE
> -+#else
> -+# ifndef HAVE_GETUID
> -+#  define getuid() 0
> -+# endif
> -+# ifndef HAVE_GETGID
> -+#  define getgid() 0
> -+# endif
> -+# ifndef HAVE_GETEUID
> -+#  define geteuid() getuid()
> -+# endif
> -+# ifndef HAVE_GETEGID
> -+#  define getegid() getgid()
> -+# endif
> -+static int enable_secure;
> -+# define ENABLE_SECURE (enable_secure == 1)
> -+# define DETERMINE_SECURE \
> -+  if (enable_secure == 0)
>    \
> -+    {
>    \
> -+      if (getuid () != geteuid () || getgid () != getegid ())
>    \
> -+      enable_secure = 1;
>     \
> -+      else
>     \
> -+      enable_secure = -1;
>    \
> -+    }
> -+#endif
> -+
> -+/* Get the function to evaluate the plural expression.  */
> -+#include "eval-plural.h"
> -+
> -+/* Look up MSGID in the DOMAINNAME message catalog for the current
> -+   CATEGORY locale and, if PLURAL is nonzero, search over string
> -+   depending on the plural form determined by N.  */
> -+char *
> -+DCIGETTEXT (const char *domainname, const char *msgid1, const char
> *msgid2,
> -+          int plural, unsigned long int n, int category)
> -+{
> -+#ifndef HAVE_ALLOCA
> -+  struct block_list *block_list = NULL;
> -+#endif
> -+  struct loaded_l10nfile *domain;
> -+  struct binding *binding;
> -+  const char *categoryname;
> -+  const char *categoryvalue;
> -+  char *dirname, *xdomainname;
> -+  char *single_locale;
> -+  char *retval;
> -+  size_t retlen;
> -+  int saved_errno;
> -+#if defined HAVE_TSEARCH || defined _LIBC
> -+  struct known_translation_t *search;
> -+  struct known_translation_t **foundp = NULL;
> -+  size_t msgid_len;
> -+#endif
> -+  size_t domainname_len;
> -+
> -+  /* If no real MSGID is given return NULL.  */
> -+  if (msgid1 == NULL)
> -+    return NULL;
> -+
> -+#ifdef _LIBC
> -+  if (category < 0 || category >= __LC_LAST || category == LC_ALL)
> -+    /* Bogus.  */
> -+    return (plural == 0
> -+          ? (char *) msgid1
> -+          /* Use the Germanic plural rule.  */
> -+          : n == 1 ? (char *) msgid1 : (char *) msgid2);
> -+#endif
> -+
> -+  __libc_rwlock_rdlock (_nl_state_lock);
> -+
> -+  /* If DOMAINNAME is NULL, we are interested in the default domain.  If
> -+     CATEGORY is not LC_MESSAGES this might not make much sense but the
> -+     definition left this undefined.  */
> -+  if (domainname == NULL)
> -+    domainname = _nl_current_default_domain;
> -+
> -+  /* OS/2 specific: backward compatibility with older libintl versions
> */
> -+#ifdef LC_MESSAGES_COMPAT
> -+  if (category == LC_MESSAGES_COMPAT)
> -+    category = LC_MESSAGES;
> -+#endif
> -+
> -+#if defined HAVE_TSEARCH || defined _LIBC
> -+  msgid_len = strlen (msgid1) + 1;
> -+
> -+  /* Try to find the translation among those which we found at
> -+     some time.  */
> -+  search = (struct known_translation_t *)
> -+         alloca (offsetof (struct known_translation_t, msgid) +
> msgid_len);
> -+  memcpy (search->msgid, msgid1, msgid_len);
> -+  search->domainname = (char *) domainname;
> -+  search->category = category;
> -+
> -+  foundp = (struct known_translation_t **) tfind (search, &root,
> transcmp);
> -+  freea (search);
> -+  if (foundp != NULL && (*foundp)->counter == _nl_msg_cat_cntr)
> -+    {
> -+      /* Now deal with plural.  */
> -+      if (plural)
> -+      retval = plural_lookup ((*foundp)->domain, n,
> (*foundp)->translation,
> -+                              (*foundp)->translation_length);
> -+      else
> -+      retval = (char *) (*foundp)->translation;
> -+
> -+      __libc_rwlock_unlock (_nl_state_lock);
> -+      return retval;
> -+    }
> -+#endif
> -+
> -+  /* Preserve the `errno' value.  */
> -+  saved_errno = errno;
> -+
> -+  /* See whether this is a SUID binary or not.  */
> -+  DETERMINE_SECURE;
> -+
> -+  /* First find matching binding.  */
> -+  for (binding = _nl_domain_bindings; binding != NULL; binding =
> binding->next)
> -+    {
> -+      int compare = strcmp (domainname, binding->domainname);
> -+      if (compare == 0)
> -+      /* We found it!  */
> -+      break;
> -+      if (compare < 0)
> -+      {
> -+        /* It is not in the list.  */
> -+        binding = NULL;
> -+        break;
> -+      }
> -+    }
> -+
> -+  if (binding == NULL)
> -+    dirname = (char *) INTUSE(_nl_default_dirname);
> -+  else if (IS_ABSOLUTE_PATH (binding->dirname))
> -+    dirname = binding->dirname;
> -+  else
> -+    {
> -+      /* We have a relative path.  Make it absolute now.  */
> -+      size_t dirname_len = strlen (binding->dirname) + 1;
> -+      size_t path_max;
> -+      char *ret;
> -+
> -+      path_max = (unsigned int) PATH_MAX;
> -+      path_max += 2;          /* The getcwd docs say to do this.  */
> -+
> -+      for (;;)
> -+      {
> -+        dirname = (char *) alloca (path_max + dirname_len);
> -+        ADD_BLOCK (block_list, dirname);
> -+
> -+        __set_errno (0);
> -+        ret = getcwd (dirname, path_max);
> -+        if (ret != NULL || errno != ERANGE)
> -+          break;
> -+
> -+        path_max += path_max / 2;
> -+        path_max += PATH_INCR;
> -+      }
> -+
> -+      if (ret == NULL)
> -+      /* We cannot get the current working directory.  Don't signal an
> -+         error but simply return the default string.  */
> -+      goto return_untranslated;
> -+
> -+      stpcpy (stpcpy (strchr (dirname, '\0'), "/"), binding->dirname);
> -+    }
> -+
> -+  /* Now determine the symbolic name of CATEGORY and its value.  */
> -+  categoryname = category_to_name (category);
> -+  categoryvalue = guess_category_value (category, categoryname);
> -+
> -+  domainname_len = strlen (domainname);
> -+  xdomainname = (char *) alloca (strlen (categoryname)
> -+                               + domainname_len + 5);
> -+  ADD_BLOCK (block_list, xdomainname);
> -+
> -+  stpcpy (mempcpy (stpcpy (stpcpy (xdomainname, categoryname), "/"),
> -+                domainname, domainname_len),
> -+        ".mo");
> -+
> -+  /* Creating working area.  */
> -+  single_locale = (char *) alloca (strlen (categoryvalue) + 1);
> -+  ADD_BLOCK (block_list, single_locale);
> -+
> -+
> -+  /* Search for the given string.  This is a loop because we perhaps
> -+     got an ordered list of languages to consider for the translation.
> */
> -+  while (1)
> -+    {
> -+      /* Make CATEGORYVALUE point to the next element of the list.  */
> -+      while (categoryvalue[0] != '\0' && categoryvalue[0] == ':')
> -+      ++categoryvalue;
> -+      if (categoryvalue[0] == '\0')
> -+      {
> -+        /* The whole contents of CATEGORYVALUE has been searched but
> -+           no valid entry has been found.  We solve this situation
> -+           by implicitly appending a "C" entry, i.e. no translation
> -+           will take place.  */
> -+        single_locale[0] = 'C';
> -+        single_locale[1] = '\0';
> -+      }
> -+      else
> -+      {
> -+        char *cp = single_locale;
> -+        while (categoryvalue[0] != '\0' && categoryvalue[0] != ':')
> -+          *cp++ = *categoryvalue++;
> -+        *cp = '\0';
> -+
> -+        /* When this is a SUID binary we must not allow accessing files
> -+           outside the dedicated directories.  */
> -+        if (ENABLE_SECURE && IS_PATH_WITH_DIR (single_locale))
> -+          /* Ingore this entry.  */
> -+          continue;
> -+      }
> -+
> -+      /* If the current locale value is C (or POSIX) we don't load a
> -+       domain.  Return the MSGID.  */
> -+      if (strcmp (single_locale, "C") == 0
> -+        || strcmp (single_locale, "POSIX") == 0)
> -+      break;
> -+
> -+      /* Find structure describing the message catalog matching the
> -+       DOMAINNAME and CATEGORY.  */
> -+      domain = _nl_find_domain (dirname, single_locale, xdomainname,
> binding);
> -+
> -+      if (domain != NULL)
> -+      {
> -+        retval = _nl_find_msg (domain, binding, msgid1, &retlen);
> -+
> -+        if (retval == NULL)
> -+          {
> -+            int cnt;
> -+
> -+            for (cnt = 0; domain->successor[cnt] != NULL; ++cnt)
> -+              {
> -+                retval = _nl_find_msg (domain->successor[cnt], binding,
> -+                                       msgid1, &retlen);
> -+
> -+                if (retval != NULL)
> -+                  {
> -+                    domain = domain->successor[cnt];
> -+                    break;
> -+                  }
> -+              }
> -+          }
> -+
> -+        if (retval != NULL)
> -+          {
> -+            /* Found the translation of MSGID1 in domain DOMAIN:
> -+               starting at RETVAL, RETLEN bytes.  */
> -+            FREE_BLOCKS (block_list);
> -+#if defined HAVE_TSEARCH || defined _LIBC
> -+            if (foundp == NULL)
> -+              {
> -+                /* Create a new entry and add it to the search tree.  */
> -+                struct known_translation_t *newp;
> -+
> -+                newp = (struct known_translation_t *)
> -+                  malloc (offsetof (struct known_translation_t, msgid)
> -+                          + msgid_len + domainname_len + 1);
> -+                if (newp != NULL)
> -+                  {
> -+                    newp->domainname =
> -+                      mempcpy (newp->msgid, msgid1, msgid_len);
> -+                    memcpy (newp->domainname, domainname, domainname_len
> + 1);
> -+                    newp->category = category;
> -+                    newp->counter = _nl_msg_cat_cntr;
> -+                    newp->domain = domain;
> -+                    newp->translation = retval;
> -+                    newp->translation_length = retlen;
> -+
> -+                    /* Insert the entry in the search tree.  */
> -+                    foundp = (struct known_translation_t **)
> -+                      tsearch (newp, &root, transcmp);
> -+                    if (foundp == NULL
> -+                        || __builtin_expect (*foundp != newp, 0))
> -+                      /* The insert failed.  */
> -+                      free (newp);
> -+                  }
> -+              }
> -+            else
> -+              {
> -+                /* We can update the existing entry.  */
> -+                (*foundp)->counter = _nl_msg_cat_cntr;
> -+                (*foundp)->domain = domain;
> -+                (*foundp)->translation = retval;
> -+                (*foundp)->translation_length = retlen;
> -+              }
> -+#endif
> -+            __set_errno (saved_errno);
> -+
> -+            /* Now deal with plural.  */
> -+            if (plural)
> -+              retval = plural_lookup (domain, n, retval, retlen);
> -+
> -+            __libc_rwlock_unlock (_nl_state_lock);
> -+            return retval;
> -+          }
> -+      }
> -+    }
> -+
> -+ return_untranslated:
> -+  /* Return the untranslated MSGID.  */
> -+  FREE_BLOCKS (block_list);
> -+  __libc_rwlock_unlock (_nl_state_lock);
> -+#ifndef _LIBC
> -+  if (!ENABLE_SECURE)
> -+    {
> -+      extern void _nl_log_untranslated (const char *logfilename,
> -+                                      const char *domainname,
> -+                                      const char *msgid1, const char
> *msgid2,
> -+                                      int plural);
> -+      const char *logfilename = getenv ("GETTEXT_LOG_UNTRANSLATED");
> -+
> -+      if (logfilename != NULL && logfilename[0] != '\0')
> -+      _nl_log_untranslated (logfilename, domainname, msgid1, msgid2,
> plural);
> -+    }
> -+#endif
> -+  __set_errno (saved_errno);
> -+  return (plural == 0
> -+        ? (char *) msgid1
> -+        /* Use the Germanic plural rule.  */
> -+        : n == 1 ? (char *) msgid1 : (char *) msgid2);
> -+}
> -+
> -+
> -+char *
> -+internal_function
> -+_nl_find_msg (struct loaded_l10nfile *domain_file,
> -+            struct binding *domainbinding, const char *msgid,
> -+            size_t *lengthp)
> -+{
> -+  struct loaded_domain *domain;
> -+  nls_uint32 nstrings;
> -+  size_t act;
> -+  char *result;
> -+  size_t resultlen;
> -+
> -+  if (domain_file->decided == 0)
> -+    _nl_load_domain (domain_file, domainbinding);
> -+
> -+  if (domain_file->data == NULL)
> -+    return NULL;
> -+
> -+  domain = (struct loaded_domain *) domain_file->data;
> -+
> -+  nstrings = domain->nstrings;
> -+
> -+  /* Locate the MSGID and its translation.  */
> -+  if (domain->hash_tab != NULL)
> -+    {
> -+      /* Use the hashing table.  */
> -+      nls_uint32 len = strlen (msgid);
> -+      nls_uint32 hash_val = hash_string (msgid);
> -+      nls_uint32 idx = hash_val % domain->hash_size;
> -+      nls_uint32 incr = 1 + (hash_val % (domain->hash_size - 2));
> -+
> -+      while (1)
> -+      {
> -+        nls_uint32 nstr =
> -+          W (domain->must_swap_hash_tab, domain->hash_tab[idx]);
> -+
> -+        if (nstr == 0)
> -+          /* Hash table entry is empty.  */
> -+          return NULL;
> -+
> -+        nstr--;
> -+
> -+        /* Compare msgid with the original string at index nstr.
> -+           We compare the lengths with >=, not ==, because plural entries
> -+           are represented by strings with an embedded NUL.  */
> -+        if (nstr < nstrings
> -+            ? W (domain->must_swap, domain->orig_tab[nstr].length) >= len
> -+              && (strcmp (msgid,
> -+                          domain->data + W (domain->must_swap,
> -+
> domain->orig_tab[nstr].offset))
> -+                  == 0)
> -+            : domain->orig_sysdep_tab[nstr - nstrings].length > len
> -+              && (strcmp (msgid,
> -+                          domain->orig_sysdep_tab[nstr -
> nstrings].pointer)
> -+                  == 0))
> -+          {
> -+            act = nstr;
> -+            goto found;
> -+          }
> -+
> -+        if (idx >= domain->hash_size - incr)
> -+          idx -= domain->hash_size - incr;
> -+        else
> -+          idx += incr;
> -+      }
> -+      /* NOTREACHED */
> -+    }
> -+  else
> -+    {
> -+      /* Try the default method:  binary search in the sorted array of
> -+       messages.  */
> -+      size_t top, bottom;
> -+
> -+      bottom = 0;
> -+      top = nstrings;
> -+      while (bottom < top)
> -+      {
> -+        int cmp_val;
> -+
> -+        act = (bottom + top) / 2;
> -+        cmp_val = strcmp (msgid, (domain->data
> -+                                  + W (domain->must_swap,
> -+                                       domain->orig_tab[act].offset)));
> -+        if (cmp_val < 0)
> -+          top = act;
> -+        else if (cmp_val > 0)
> -+          bottom = act + 1;
> -+        else
> -+          goto found;
> -+      }
> -+      /* No translation was found.  */
> -+      return NULL;
> -+    }
> -+
> -+ found:
> -+  /* The translation was found at index ACT.  If we have to convert the
> -+     string to use a different character set, this is the time.  */
> -+  if (act < nstrings)
> -+    {
> -+      result = (char *)
> -+      (domain->data + W (domain->must_swap,
> domain->trans_tab[act].offset));
> -+      resultlen = W (domain->must_swap, domain->trans_tab[act].length) +
> 1;
> -+    }
> -+  else
> -+    {
> -+      result = (char *) domain->trans_sysdep_tab[act - nstrings].pointer;
> -+      resultlen = domain->trans_sysdep_tab[act - nstrings].length;
> -+    }
> -+
> -+#if defined _LIBC || HAVE_ICONV
> -+  if (domain->codeset_cntr
> -+      != (domainbinding != NULL ? domainbinding->codeset_cntr : 0))
> -+    {
> -+      /* The domain's codeset has changed through
> bind_textdomain_codeset()
> -+       since the message catalog was initialized or last accessed.  We
> -+       have to reinitialize the converter.  */
> -+      _nl_free_domain_conv (domain);
> -+      _nl_init_domain_conv (domain_file, domain, domainbinding);
> -+    }
> -+
> -+  if (
> -+# ifdef _LIBC
> -+      domain->conv != (__gconv_t) -1
> -+# else
> -+#  if HAVE_ICONV
> -+      domain->conv != (iconv_t) -1
> -+#  endif
> -+# endif
> -+      )
> -+    {
> -+      /* We are supposed to do a conversion.  First allocate an
> -+       appropriate table with the same structure as the table
> -+       of translations in the file, where we can put the pointers
> -+       to the converted strings in.
> -+       There is a slight complication with plural entries.  They
> -+       are represented by consecutive NUL terminated strings.  We
> -+       handle this case by converting RESULTLEN bytes, including
> -+       NULs.  */
> -+
> -+      if (domain->conv_tab == NULL
> -+        && ((domain->conv_tab =
> -+               (char **) calloc (nstrings + domain->n_sysdep_strings,
> -+                                 sizeof (char *)))
> -+            == NULL))
> -+      /* Mark that we didn't succeed allocating a table.  */
> -+      domain->conv_tab = (char **) -1;
> -+
> -+      if (__builtin_expect (domain->conv_tab == (char **) -1, 0))
> -+      /* Nothing we can do, no more memory.  */
> -+      goto converted;
> -+
> -+      if (domain->conv_tab[act] == NULL)
> -+      {
> -+        /* We haven't used this string so far, so it is not
> -+           translated yet.  Do this now.  */
> -+        /* We use a bit more efficient memory handling.
> -+           We allocate always larger blocks which get used over
> -+           time.  This is faster than many small allocations.   */
> -+        __libc_lock_define_initialized (static, lock)
> -+# define INITIAL_BLOCK_SIZE   4080
> -+        static unsigned char *freemem;
> -+        static size_t freemem_size;
> -+
> -+        const unsigned char *inbuf;
> -+        unsigned char *outbuf;
> -+        int malloc_count;
> -+# ifndef _LIBC
> -+        transmem_block_t *transmem_list = NULL;
> -+# endif
> -+
> -+        __libc_lock_lock (lock);
> -+
> -+        inbuf = (const unsigned char *) result;
> -+        outbuf = freemem + sizeof (size_t);
> -+
> -+        malloc_count = 0;
> -+        while (1)
> -+          {
> -+            transmem_block_t *newmem;
> -+# ifdef _LIBC
> -+            size_t non_reversible;
> -+            int res;
> -+
> -+            if (freemem_size < sizeof (size_t))
> -+              goto resize_freemem;
> -+
> -+            res = __gconv (domain->conv,
> -+                           &inbuf, inbuf + resultlen,
> -+                           &outbuf,
> -+                           outbuf + freemem_size - sizeof (size_t),
> -+                           &non_reversible);
> -+
> -+            if (res == __GCONV_OK || res == __GCONV_EMPTY_INPUT)
> -+              break;
> -+
> -+            if (res != __GCONV_FULL_OUTPUT)
> -+              {
> -+                __libc_lock_unlock (lock);
> -+                goto converted;
> -+              }
> -+
> -+            inbuf = result;
> -+# else
> -+#  if HAVE_ICONV
> -+            const char *inptr = (const char *) inbuf;
> -+            size_t inleft = resultlen;
> -+            char *outptr = (char *) outbuf;
> -+            size_t outleft;
> -+
> -+            if (freemem_size < sizeof (size_t))
> -+              goto resize_freemem;
> -+
> -+            outleft = freemem_size - sizeof (size_t);
> -+            if (iconv (domain->conv,
> -+                       (ICONV_CONST char **) &inptr, &inleft,
> -+                       &outptr, &outleft)
> -+                != (size_t) (-1))
> -+              {
> -+                outbuf = (unsigned char *) outptr;
> -+                break;
> -+              }
> -+            if (errno != E2BIG)
> -+              {
> -+                __libc_lock_unlock (lock);
> -+                goto converted;
> -+              }
> -+#  endif
> -+# endif
> -+
> -+          resize_freemem:
> -+            /* We must allocate a new buffer or resize the old one.  */
> -+            if (malloc_count > 0)
> -+              {
> -+                ++malloc_count;
> -+                freemem_size = malloc_count * INITIAL_BLOCK_SIZE;
> -+                newmem = (transmem_block_t *) realloc (transmem_list,
> -+                                                       freemem_size);
> -+# ifdef _LIBC
> -+                if (newmem != NULL)
> -+                  transmem_list = transmem_list->next;
> -+                else
> -+                  {
> -+                    struct transmem_list *old = transmem_list;
> -+
> -+                    transmem_list = transmem_list->next;
> -+                    free (old);
> -+                  }
> -+# endif
> -+              }
> -+            else
> -+              {
> -+                malloc_count = 1;
> -+                freemem_size = INITIAL_BLOCK_SIZE;
> -+                newmem = (transmem_block_t *) malloc (freemem_size);
> -+              }
> -+            if (__builtin_expect (newmem == NULL, 0))
> -+              {
> -+                freemem = NULL;
> -+                freemem_size = 0;
> -+                __libc_lock_unlock (lock);
> -+                goto converted;
> -+              }
> -+
> -+# ifdef _LIBC
> -+            /* Add the block to the list of blocks we have to free
> -+                 at some point.  */
> -+            newmem->next = transmem_list;
> -+            transmem_list = newmem;
> -+
> -+            freemem = newmem->data;
> -+            freemem_size -= offsetof (struct transmem_list, data);
> -+# else
> -+            transmem_list = newmem;
> -+            freemem = newmem;
> -+# endif
> -+
> -+            outbuf = freemem + sizeof (size_t);
> -+          }
> -+
> -+        /* We have now in our buffer a converted string.  Put this
> -+           into the table of conversions.  */
> -+        *(size_t *) freemem = outbuf - freemem - sizeof (size_t);
> -+        domain->conv_tab[act] = (char *) freemem;
> -+        /* Shrink freemem, but keep it aligned.  */
> -+        freemem_size -= outbuf - freemem;
> -+        freemem = outbuf;
> -+        freemem += freemem_size & (alignof (size_t) - 1);
> -+        freemem_size = freemem_size & ~ (alignof (size_t) - 1);
> -+
> -+        __libc_lock_unlock (lock);
> -+      }
> -+
> -+      /* Now domain->conv_tab[act] contains the translation of all
> -+       the plural variants.  */
> -+      result = domain->conv_tab[act] + sizeof (size_t);
> -+      resultlen = *(size_t *) domain->conv_tab[act];
> -+    }
> -+
> -+ converted:
> -+  /* The result string is converted.  */
> -+
> -+#endif /* _LIBC || HAVE_ICONV */
> -+
> -+  *lengthp = resultlen;
> -+  return result;
> -+}
> -+
> -+
> -+/* Look up a plural variant.  */
> -+static char *
> -+internal_function
> -+plural_lookup (struct loaded_l10nfile *domain, unsigned long int n,
> -+             const char *translation, size_t translation_len)
> -+{
> -+  struct loaded_domain *domaindata = (struct loaded_domain *)
> domain->data;
> -+  unsigned long int index;
> -+  const char *p;
> -+
> -+  index = plural_eval (domaindata->plural, n);
> -+  if (index >= domaindata->nplurals)
> -+    /* This should never happen.  It means the plural expression and the
> -+       given maximum value do not match.  */
> -+    index = 0;
> -+
> -+  /* Skip INDEX strings at TRANSLATION.  */
> -+  p = translation;
> -+  while (index-- > 0)
> -+    {
> -+#ifdef _LIBC
> -+      p = __rawmemchr (p, '\0');
> -+#else
> -+      p = strchr (p, '\0');
> -+#endif
> -+      /* And skip over the NUL byte.  */
> -+      p++;
> -+
> -+      if (p >= translation + translation_len)
> -+      /* This should never happen.  It means the plural expression
> -+         evaluated to a value larger than the number of variants
> -+         available for MSGID1.  */
> -+      return (char *) translation;
> -+    }
> -+  return (char *) p;
> -+}
> -+
> -+#ifndef _LIBC
> -+/* Return string representation of locale CATEGORY.  */
> -+static const char *
> -+internal_function
> -+category_to_name (int category)
> -+{
> -+  const char *retval;
> -+
> -+  switch (category)
> -+  {
> -+#ifdef LC_COLLATE
> -+  case LC_COLLATE:
> -+    retval = "LC_COLLATE";
> -+    break;
> -+#endif
> -+#ifdef LC_CTYPE
> -+  case LC_CTYPE:
> -+    retval = "LC_CTYPE";
> -+    break;
> -+#endif
> -+#ifdef LC_MONETARY
> -+  case LC_MONETARY:
> -+    retval = "LC_MONETARY";
> -+    break;
> -+#endif
> -+#ifdef LC_NUMERIC
> -+  case LC_NUMERIC:
> -+    retval = "LC_NUMERIC";
> -+    break;
> -+#endif
> -+#ifdef LC_TIME
> -+  case LC_TIME:
> -+    retval = "LC_TIME";
> -+    break;
> -+#endif
> -+#ifdef LC_MESSAGES
> -+  case LC_MESSAGES:
> -+    retval = "LC_MESSAGES";
> -+    break;
> -+#endif
> -+#ifdef LC_RESPONSE
> -+  case LC_RESPONSE:
> -+    retval = "LC_RESPONSE";
> -+    break;
> -+#endif
> -+#ifdef LC_ALL
> -+  case LC_ALL:
> -+    /* This might not make sense but is perhaps better than any other
> -+       value.  */
> -+    retval = "LC_ALL";
> -+    break;
> -+#endif
> -+  default:
> -+    /* If you have a better idea for a default value let me know.  */
> -+    retval = "LC_XXX";
> -+  }
> -+
> -+  return retval;
> -+}
> -+#endif
> -+
> -+/* Guess value of current locale from value of the environment
> variables.  */
> -+static const char *
> -+internal_function
> -+guess_category_value (int category, const char *categoryname)
> -+{
> -+  const char *language;
> -+  const char *retval;
> -+
> -+  /* The highest priority value is the `LANGUAGE' environment
> -+     variable.  But we don't use the value if the currently selected
> -+     locale is the C locale.  This is a GNU extension.  */
> -+  language = getenv ("LANGUAGE");
> -+  if (language != NULL && language[0] == '\0')
> -+    language = NULL;
> -+
> -+  /* We have to proceed with the POSIX methods of looking to `LC_ALL',
> -+     `LC_xxx', and `LANG'.  On some systems this can be done by the
> -+     `setlocale' function itself.  */
> -+#ifdef _LIBC
> -+  retval = __current_locale_name (category);
> -+#else
> -+  retval = _nl_locale_name (category, categoryname);
> -+#endif
> -+
> -+  /* Ignore LANGUAGE if the locale is set to "C" because
> -+     1. "C" locale usually uses the ASCII encoding, and most
> international
> -+      messages use non-ASCII characters. These characters get displayed
> -+      as question marks (if using glibc's iconv()) or as invalid 8-bit
> -+      characters (because other iconv()s refuse to convert most non-ASCII
> -+      characters to ASCII). In any case, the output is ugly.
> -+     2. The precise output of some programs in the "C" locale is
> specified
> -+      by POSIX and should not depend on environment variables like
> -+      "LANGUAGE".  We allow such programs to use gettext().  */
> -+  return language != NULL && strcmp (retval, "C") != 0 ? language :
> retval;
> -+}
> -+
> -+/* @@ begin of epilog @@ */
> -+
> -+/* We don't want libintl.a to depend on any other library.  So we
> -+   avoid the non-standard function stpcpy.  In GNU C Library this
> -+   function is available, though.  Also allow the symbol HAVE_STPCPY
> -+   to be defined.  */
> -+#if !_LIBC && !HAVE_STPCPY
> -+static char *
> -+stpcpy (char *dest, const char *src)
> -+{
> -+  while ((*dest++ = *src++) != '\0')
> -+    /* Do nothing. */ ;
> -+  return dest - 1;
> -+}
> -+#endif
> -+
> -+#if !_LIBC && !HAVE_MEMPCPY
> -+static void *
> -+mempcpy (void *dest, const void *src, size_t n)
> -+{
> -+  return (void *) ((char *) memcpy (dest, src, n) + n);
> -+}
> -+#endif
> -+
> -+
> -+#ifdef _LIBC
> -+/* If we want to free all resources we have to do some work at
> -+   program's end.  */
> -+libc_freeres_fn (free_mem)
> -+{
> -+  void *old;
> -+
> -+  while (_nl_domain_bindings != NULL)
> -+    {
> -+      struct binding *oldp = _nl_domain_bindings;
> -+      _nl_domain_bindings = _nl_domain_bindings->next;
> -+      if (oldp->dirname != INTUSE(_nl_default_dirname))
> -+      /* Yes, this is a pointer comparison.  */
> -+      free (oldp->dirname);
> -+      free (oldp->codeset);
> -+      free (oldp);
> -+    }
> -+
> -+  if (_nl_current_default_domain != _nl_default_default_domain)
> -+    /* Yes, again a pointer comparison.  */
> -+    free ((char *) _nl_current_default_domain);
> -+
> -+  /* Remove the search tree with the known translations.  */
> -+  __tdestroy (root, free);
> -+  root = NULL;
> -+
> -+  while (transmem_list != NULL)
> -+    {
> -+      old = transmem_list;
> -+      transmem_list = transmem_list->next;
> -+      free (old);
> -+    }
> -+}
> -+#endif
> ---- lrzsz-0.12.20.safe/intl/dcngettext.c       1969-12-31
> 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/intl/dcngettext.c    2004-09-12 14:40:34.375745048 -0400
> -@@ -0,0 +1,57 @@
> -+/* Implementation of the dcngettext(3) function.
> -+   Copyright (C) 1995-1999, 2000-2003 Free Software Foundation, Inc.
> -+
> -+   This program is free software; you can redistribute it and/or modify
> it
> -+   under the terms of the GNU Library General Public License as published
> -+   by the Free Software Foundation; either version 2, 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
> -+   Library General Public License for more details.
> -+
> -+   You should have received a copy of the GNU Library 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.  */
> -+
> -+#ifdef HAVE_CONFIG_H
> -+# include <config.h>
> -+#endif
> -+
> -+#include "gettextP.h"
> -+#ifdef _LIBC
> -+# include <libintl.h>
> -+#else
> -+# include "libgnuintl.h"
> -+#endif
> -+
> -+/* @@ end of prolog @@ */
> -+
> -+/* Names for the libintl functions are a problem.  They must not clash
> -+   with existing names and they should follow ANSI C.  But this source
> -+   code is also used in GNU C Library where the names have a __
> -+   prefix.  So we have to make a difference here.  */
> -+#ifdef _LIBC
> -+# define DCNGETTEXT __dcngettext
> -+# define DCIGETTEXT __dcigettext
> -+#else
> -+# define DCNGETTEXT libintl_dcngettext
> -+# define DCIGETTEXT libintl_dcigettext
> -+#endif
> -+
> -+/* Look up MSGID in the DOMAINNAME message catalog for the current
> CATEGORY
> -+   locale.  */
> -+char *
> -+DCNGETTEXT (const char *domainname,
> -+          const char *msgid1, const char *msgid2, unsigned long int n,
> -+          int category)
> -+{
> -+  return DCIGETTEXT (domainname, msgid1, msgid2, 1, n, category);
> -+}
> -+
> -+#ifdef _LIBC
> -+/* Alias for function name in GNU C Library.  */
> -+weak_alias (__dcngettext, dcngettext);
> -+#endif
> ---- lrzsz-0.12.20.safe/intl/dgettext.c 1998-04-26 09:20:52.000000000 -0400
> -+++ lrzsz-0.12.20/intl/dgettext.c      2004-09-12 14:40:34.380744288 -0400
> -@@ -1,32 +1,33 @@
> --/* dgettext.c -- implementation of the dgettext(3) function
> --   Copyright (C) 1995 Software Foundation, Inc.
> -+/* Implementation of the dgettext(3) function.
> -+   Copyright (C) 1995-1997, 2000-2003 Free Software Foundation, Inc.
> -
> --This 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 free software; you can redistribute it and/or modify
> it
> -+   under the terms of the GNU Library General Public License as published
> -+   by the Free Software Foundation; either version 2, 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 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
> -+   Library 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.  */
> -+   You should have received a copy of the GNU Library 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.  */
> -
> - #ifdef HAVE_CONFIG_H
> - # include <config.h>
> - #endif
> -
> --#if defined HAVE_LOCALE_H || defined _LIBC
> --# include <locale.h>
> --#endif
> -+#include "gettextP.h"
> -+
> -+#include <locale.h>
> -
> - #ifdef _LIBC
> - # include <libintl.h>
> - #else
> --# include "libgettext.h"
> -+# include "libgnuintl.h"
> - #endif
> -
> - /* @@ end of prolog @@ */
> -@@ -37,18 +38,16 @@
> -    prefix.  So we have to make a difference here.  */
> - #ifdef _LIBC
> - # define DGETTEXT __dgettext
> --# define DCGETTEXT __dcgettext
> -+# define DCGETTEXT INTUSE(__dcgettext)
> - #else
> --# define DGETTEXT dgettext__
> --# define DCGETTEXT dcgettext__
> -+# define DGETTEXT libintl_dgettext
> -+# define DCGETTEXT libintl_dcgettext
> - #endif
> -
> - /* Look up MSGID in the DOMAINNAME message catalog of the current
> -    LC_MESSAGES locale.  */
> - char *
> --DGETTEXT (domainname, msgid)
> --     const char *domainname;
> --     const char *msgid;
> -+DGETTEXT (const char *domainname, const char *msgid)
> - {
> -   return DCGETTEXT (domainname, msgid, LC_MESSAGES);
> - }
> ---- lrzsz-0.12.20.safe/intl/dngettext.c        1969-12-31
> 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/intl/dngettext.c     2004-09-12 14:40:34.385743528 -0400
> -@@ -0,0 +1,59 @@
> -+/* Implementation of the dngettext(3) function.
> -+   Copyright (C) 1995-1997, 2000-2003 Free Software Foundation, Inc.
> -+
> -+   This program is free software; you can redistribute it and/or modify
> it
> -+   under the terms of the GNU Library General Public License as published
> -+   by the Free Software Foundation; either version 2, 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
> -+   Library General Public License for more details.
> -+
> -+   You should have received a copy of the GNU Library 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.  */
> -+
> -+#ifdef HAVE_CONFIG_H
> -+# include <config.h>
> -+#endif
> -+
> -+#include "gettextP.h"
> -+
> -+#include <locale.h>
> -+
> -+#ifdef _LIBC
> -+# include <libintl.h>
> -+#else
> -+# include "libgnuintl.h"
> -+#endif
> -+
> -+/* @@ end of prolog @@ */
> -+
> -+/* Names for the libintl functions are a problem.  They must not clash
> -+   with existing names and they should follow ANSI C.  But this source
> -+   code is also used in GNU C Library where the names have a __
> -+   prefix.  So we have to make a difference here.  */
> -+#ifdef _LIBC
> -+# define DNGETTEXT __dngettext
> -+# define DCNGETTEXT __dcngettext
> -+#else
> -+# define DNGETTEXT libintl_dngettext
> -+# define DCNGETTEXT libintl_dcngettext
> -+#endif
> -+
> -+/* Look up MSGID in the DOMAINNAME message catalog of the current
> -+   LC_MESSAGES locale and skip message according to the plural form.  */
> -+char *
> -+DNGETTEXT (const char *domainname,
> -+         const char *msgid1, const char *msgid2, unsigned long int n)
> -+{
> -+  return DCNGETTEXT (domainname, msgid1, msgid2, n, LC_MESSAGES);
> -+}
> -+
> -+#ifdef _LIBC
> -+/* Alias for function name in GNU C Library.  */
> -+weak_alias (__dngettext, dngettext);
> -+#endif
> ---- lrzsz-0.12.20.safe/intl/eval-plural.h      1969-12-31
> 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/intl/eval-plural.h   2004-09-12 14:40:34.390742768 -0400
> -@@ -0,0 +1,108 @@
> -+/* Plural expression evaluation.
> -+   Copyright (C) 2000-2003 Free Software Foundation, Inc.
> -+
> -+   This program is free software; you can redistribute it and/or modify
> it
> -+   under the terms of the GNU Library General Public License as published
> -+   by the Free Software Foundation; either version 2, 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
> -+   Library General Public License for more details.
> -+
> -+   You should have received a copy of the GNU Library 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.  */
> -+
> -+#ifndef STATIC
> -+#define STATIC static
> -+#endif
> -+
> -+/* Evaluate the plural expression and return an index value.  */
> -+STATIC
> -+unsigned long int
> -+internal_function
> -+plural_eval (struct expression *pexp, unsigned long int n)
> -+{
> -+  switch (pexp->nargs)
> -+    {
> -+    case 0:
> -+      switch (pexp->operation)
> -+      {
> -+      case var:
> -+        return n;
> -+      case num:
> -+        return pexp->val.num;
> -+      default:
> -+        break;
> -+      }
> -+      /* NOTREACHED */
> -+      break;
> -+    case 1:
> -+      {
> -+      /* pexp->operation must be lnot.  */
> -+      unsigned long int arg = plural_eval (pexp->val.args[0], n);
> -+      return ! arg;
> -+      }
> -+    case 2:
> -+      {
> -+      unsigned long int leftarg = plural_eval (pexp->val.args[0], n);
> -+      if (pexp->operation == lor)
> -+        return leftarg || plural_eval (pexp->val.args[1], n);
> -+      else if (pexp->operation == land)
> -+        return leftarg && plural_eval (pexp->val.args[1], n);
> -+      else
> -+        {
> -+          unsigned long int rightarg = plural_eval (pexp->val.args[1],
> n);
> -+
> -+          switch (pexp->operation)
> -+            {
> -+            case mult:
> -+              return leftarg * rightarg;
> -+            case divide:
> -+#if !INTDIV0_RAISES_SIGFPE
> -+              if (rightarg == 0)
> -+                raise (SIGFPE);
> -+#endif
> -+              return leftarg / rightarg;
> -+            case module:
> -+#if !INTDIV0_RAISES_SIGFPE
> -+              if (rightarg == 0)
> -+                raise (SIGFPE);
> -+#endif
> -+              return leftarg % rightarg;
> -+            case plus:
> -+              return leftarg + rightarg;
> -+            case minus:
> -+              return leftarg - rightarg;
> -+            case less_than:
> -+              return leftarg < rightarg;
> -+            case greater_than:
> -+              return leftarg > rightarg;
> -+            case less_or_equal:
> -+              return leftarg <= rightarg;
> -+            case greater_or_equal:
> -+              return leftarg >= rightarg;
> -+            case equal:
> -+              return leftarg == rightarg;
> -+            case not_equal:
> -+              return leftarg != rightarg;
> -+            default:
> -+              break;
> -+            }
> -+        }
> -+      /* NOTREACHED */
> -+      break;
> -+      }
> -+    case 3:
> -+      {
> -+      /* pexp->operation must be qmop.  */
> -+      unsigned long int boolarg = plural_eval (pexp->val.args[0], n);
> -+      return plural_eval (pexp->val.args[boolarg ? 1 : 2], n);
> -+      }
> -+    }
> -+  /* NOTREACHED */
> -+  return 0;
> -+}
> ---- lrzsz-0.12.20.safe/intl/explodename.c      1998-04-26
> 09:22:37.000000000 -0400
> -+++ lrzsz-0.12.20/intl/explodename.c   2004-09-12 14:40:34.395742008 -0400
> -@@ -1,19 +1,20 @@
> --/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
> -+/* Copyright (C) 1995-1998, 2000-2001, 2003 Free Software Foundation,
> Inc.
> -    Contributed by Ulrich Drepper <drepper at gnu.ai.mit.edu>, 1995.
> -
> --   This 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)
> -+   This program is free software; you can redistribute it and/or modify
> it
> -+   under the terms of the GNU Library General Public License as published
> -+   by the Free Software Foundation; either version 2, 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.
> -+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> -+   Library General Public License for more details.
> -
> --   You should have received a copy of the GNU 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.  */
> -+   You should have received a copy of the GNU Library 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.  */
> -
> - #ifdef HAVE_CONFIG_H
> - # include <config.h>
> -@@ -36,18 +37,23 @@
> -
> - /* @@ end of prolog @@ */
> -
> -+char *
> -+_nl_find_language (const char *name)
> -+{
> -+  while (name[0] != '\0' && name[0] != '_' && name[0] != '@'
> -+       && name[0] != '+' && name[0] != ',')
> -+    ++name;
> -+
> -+  return (char *) name;
> -+}
> -+
> -+
> - int
> --_nl_explode_name (name, language, modifier, territory, codeset,
> --                normalized_codeset, special, sponsor, revision)
> --     char *name;
> --     const char **language;
> --     const char **modifier;
> --     const char **territory;
> --     const char **codeset;
> --     const char **normalized_codeset;
> --     const char **special;
> --     const char **sponsor;
> --     const char **revision;
> -+_nl_explode_name (char *name,
> -+                const char **language, const char **modifier,
> -+                const char **territory, const char **codeset,
> -+                const char **normalized_codeset, const char **special,
> -+                const char **sponsor, const char **revision)
> - {
> -   enum { undecided, xpg, cen } syntax;
> -   char *cp;
> -@@ -67,9 +73,7 @@
> -   mask = 0;
> -   syntax = undecided;
> -   *language = cp = name;
> --  while (cp[0] != '\0' && cp[0] != '_' && cp[0] != '@'
> --       && cp[0] != '+' && cp[0] != ',')
> --    ++cp;
> -+  cp = _nl_find_language (*language);
> -
> -   if (*language == cp)
> -     /* This does not make sense: language has to be specified.  Use
> ---- lrzsz-0.12.20.safe/intl/finddomain.c       1998-04-26
> 09:22:36.000000000 -0400
> -+++ lrzsz-0.12.20/intl/finddomain.c    2004-09-12 14:40:34.415738968 -0400
> -@@ -1,64 +1,40 @@
> - /* Handle list of needed message catalogs
> --   Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
> --   Written by Ulrich Drepper <drepper at gnu.ai.mit.edu>, 1995.
> -+   Copyright (C) 1995-1999, 2000-2001, 2003 Free Software Foundation,
> Inc.
> -+   Written by Ulrich Drepper <drepper at gnu.org>, 1995.
> -
> --   This 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)
> -+   This program is free software; you can redistribute it and/or modify
> it
> -+   under the terms of the GNU Library General Public License as published
> -+   by the Free Software Foundation; either version 2, 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.
> -+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> -+   Library General Public License for more details.
> -
> --   You should have received a copy of the GNU 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.  */
> -+   You should have received a copy of the GNU Library 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.  */
> -
> - #ifdef HAVE_CONFIG_H
> - # include <config.h>
> - #endif
> -
> --#include <ctype.h>
> --#include <errno.h>
> - #include <stdio.h>
> - #include <sys/types.h>
> --
> --#if defined STDC_HEADERS || defined _LIBC
> --# include <stdlib.h>
> --#else
> --# ifdef HAVE_MALLOC_H
> --#  include <malloc.h>
> --# else
> --void free ();
> --# endif
> --#endif
> --
> --#if defined HAVE_STRING_H || defined _LIBC
> --# include <string.h>
> --#else
> --# include <strings.h>
> --# ifndef memcpy
> --#  define memcpy(Dst, Src, Num) bcopy (Src, Dst, Num)
> --# endif
> --#endif
> --#if !HAVE_STRCHR && !defined _LIBC
> --# ifndef strchr
> --#  define strchr index
> --# endif
> --#endif
> -+#include <stdlib.h>
> -+#include <string.h>
> -
> - #if defined HAVE_UNISTD_H || defined _LIBC
> - # include <unistd.h>
> - #endif
> -
> --#include "gettext.h"
> - #include "gettextP.h"
> - #ifdef _LIBC
> - # include <libintl.h>
> - #else
> --# include "libgettext.h"
> -+# include "libgnuintl.h"
> - #endif
> -
> - /* @@ end of prolog @@ */
> -@@ -70,10 +46,9 @@
> -    the DOMAINNAME and CATEGORY parameters with respect to the currently
> -    established bindings.  */
> - struct loaded_l10nfile *
> --_nl_find_domain (dirname, locale, domainname)
> --     const char *dirname;
> --     char *locale;
> --     const char *domainname;
> -+internal_function
> -+_nl_find_domain (const char *dirname, char *locale,
> -+               const char *domainname, struct binding *domainbinding)
> - {
> -   struct loaded_l10nfile *retval;
> -   const char *language;
> -@@ -95,9 +70,9 @@
> -
> -       language[_territory][+audience][+special][,[sponsor][_revision]]
> -
> --     Beside the first all of them are allowed to be missing.  If the
> --     full specified locale is not found, the less specific one are
> --     looked for.  The various part will be stripped of according to
> -+     Beside the first part all of them are allowed to be missing.  If
> -+     the full specified locale is not found, the less specific one are
> -+     looked for.  The various parts will be stripped off according to
> -      the following order:
> -               (1) revision
> -               (2) sponsor
> -@@ -119,7 +94,7 @@
> -       int cnt;
> -
> -       if (retval->decided == 0)
> --      _nl_load_domain (retval);
> -+      _nl_load_domain (retval, domainbinding);
> -
> -       if (retval->data != NULL)
> -       return retval;
> -@@ -127,7 +102,7 @@
> -       for (cnt = 0; retval->successor[cnt] != NULL; ++cnt)
> -       {
> -         if (retval->successor[cnt]->decided == 0)
> --          _nl_load_domain (retval->successor[cnt]);
> -+          _nl_load_domain (retval->successor[cnt], domainbinding);
> -
> -         if (retval->successor[cnt]->data != NULL)
> -           break;
> -@@ -142,12 +117,18 @@
> -   alias_value = _nl_expand_alias (locale);
> -   if (alias_value != NULL)
> -     {
> -+#if defined _LIBC || defined HAVE_STRDUP
> -+      locale = strdup (alias_value);
> -+      if (locale == NULL)
> -+      return NULL;
> -+#else
> -       size_t len = strlen (alias_value) + 1;
> -       locale = (char *) malloc (len);
> -       if (locale == NULL)
> -       return NULL;
> -
> -       memcpy (locale, alias_value, len);
> -+#endif
> -     }
> -
> -   /* Now we determine the single parts of the locale name.  First
> -@@ -168,14 +149,14 @@
> -     return NULL;
> -
> -   if (retval->decided == 0)
> --    _nl_load_domain (retval);
> -+    _nl_load_domain (retval, domainbinding);
> -   if (retval->data == NULL)
> -     {
> -       int cnt;
> -       for (cnt = 0; retval->successor[cnt] != NULL; ++cnt)
> -       {
> -         if (retval->successor[cnt]->decided == 0)
> --          _nl_load_domain (retval->successor[cnt]);
> -+          _nl_load_domain (retval->successor[cnt], domainbinding);
> -         if (retval->successor[cnt]->data != NULL)
> -           break;
> -       }
> -@@ -185,5 +166,27 @@
> -   if (alias_value != NULL)
> -     free (locale);
> -
> -+  /* The space for normalized_codeset is dynamically allocated.  Free
> it.  */
> -+  if (mask & XPG_NORM_CODESET)
> -+    free ((void *) normalized_codeset);
> -+
> -   return retval;
> - }
> -+
> -+
> -+#ifdef _LIBC
> -+libc_freeres_fn (free_mem)
> -+{
> -+  struct loaded_l10nfile *runp = _nl_loaded_domains;
> -+
> -+  while (runp != NULL)
> -+    {
> -+      struct loaded_l10nfile *here = runp;
> -+      if (runp->data != NULL)
> -+      _nl_unload_domain ((struct loaded_domain *) runp->data);
> -+      runp = runp->next;
> -+      free ((char *) here->filename);
> -+      free (here);
> -+    }
> -+}
> -+#endif
> ---- lrzsz-0.12.20.safe/intl/gettext.c  1998-04-26 09:22:36.000000000 -0400
> -+++ lrzsz-0.12.20/intl/gettext.c       2004-09-12 14:40:34.420738208 -0400
> -@@ -1,19 +1,20 @@
> --/* Implementation of gettext(3) function
> --   Copyright (C) 1995, 1997 Free Software Foundation, Inc.
> -+/* Implementation of gettext(3) function.
> -+   Copyright (C) 1995, 1997, 2000-2003 Free Software Foundation, Inc.
> -
> --   This 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)
> -+   This program is free software; you can redistribute it and/or modify
> it
> -+   under the terms of the GNU Library General Public License as published
> -+   by the Free Software Foundation; either version 2, 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.
> -+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> -+   Library General Public License for more details.
> -
> --   You should have received a copy of the GNU 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.  */
> -+   You should have received a copy of the GNU Library 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.  */
> -
> - #ifdef HAVE_CONFIG_H
> - # include <config.h>
> -@@ -23,21 +24,14 @@
> - # define __need_NULL
> - # include <stddef.h>
> - #else
> --# ifdef STDC_HEADERS
> --#  include <stdlib.h>         /* Just for NULL.  */
> --# else
> --#  ifdef HAVE_STRING_H
> --#   include <string.h>
> --#  else
> --#   define NULL ((void *) 0)
> --#  endif
> --# endif
> -+# include <stdlib.h>          /* Just for NULL.  */
> - #endif
> -
> -+#include "gettextP.h"
> - #ifdef _LIBC
> - # include <libintl.h>
> - #else
> --# include "libgettext.h"
> -+# include "libgnuintl.h"
> - #endif
> -
> - /* @@ end of prolog @@ */
> -@@ -48,20 +42,19 @@
> -    prefix.  So we have to make a difference here.  */
> - #ifdef _LIBC
> - # define GETTEXT __gettext
> --# define DGETTEXT __dgettext
> -+# define DCGETTEXT INTUSE(__dcgettext)
> - #else
> --# define GETTEXT gettext__
> --# define DGETTEXT dgettext__
> -+# define GETTEXT libintl_gettext
> -+# define DCGETTEXT libintl_dcgettext
> - #endif
> -
> - /* Look up MSGID in the current default message catalog for the current
> -    LC_MESSAGES locale.  If not found, returns MSGID itself (the default
> -    text).  */
> - char *
> --GETTEXT (msgid)
> --     const char *msgid;
> -+GETTEXT (const char *msgid)
> - {
> --  return DGETTEXT (NULL, msgid);
> -+  return DCGETTEXT (NULL, msgid, LC_MESSAGES);
> - }
> -
> - #ifdef _LIBC
> ---- lrzsz-0.12.20.safe/intl/gettext.h  1998-04-26 09:22:35.000000000 -0400
> -+++ lrzsz-0.12.20/intl/gettext.h       1969-12-31 19:00:00.000000000 -0500
> -@@ -1,105 +0,0 @@
> --/* Internal header for GNU gettext internationalization functions
> --   Copyright (C) 1995, 1997 Free Software Foundation, Inc.
> --
> --   This 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 Library General Public
> --   License along with the GNU C Library; see the file COPYING.LIB.  If
> not,
> --   write to the Free Software Foundation, Inc., 59 Temple Place - Suite
> 330,
> --   Boston, MA 02111-1307, USA.  */
> --
> --#ifndef _GETTEXT_H
> --#define _GETTEXT_H 1
> --
> --#include <stdio.h>
> --
> --#if HAVE_LIMITS_H || _LIBC
> --# include <limits.h>
> --#endif
> --
> --/* @@ end of prolog @@ */
> --
> --/* The magic number of the GNU message catalog format.  */
> --#define _MAGIC 0x950412de
> --#define _MAGIC_SWAPPED 0xde120495
> --
> --/* Revision number of the currently used .mo (binary) file format.  */
> --#define MO_REVISION_NUMBER 0
> --
> --/* The following contortions are an attempt to use the C preprocessor
> --   to determine an unsigned integral type that is 32 bits wide.  An
> --   alternative approach is to use autoconf's AC_CHECK_SIZEOF macro, but
> --   doing that would require that the configure script compile and *run*
> --   the resulting executable.  Locally running cross-compiled executables
> --   is usually not possible.  */
> --
> --#if __STDC__
> --# define UINT_MAX_32_BITS 4294967295U
> --#else
> --# define UINT_MAX_32_BITS 0xFFFFFFFF
> --#endif
> --
> --/* If UINT_MAX isn't defined, assume it's a 32-bit type.
> --   This should be valid for all systems GNU cares about because
> --   that doesn't include 16-bit systems, and only modern systems
> --   (that certainly have <limits.h>) have 64+-bit integral types.  */
> --
> --#ifndef UINT_MAX
> --# define UINT_MAX UINT_MAX_32_BITS
> --#endif
> --
> --#if UINT_MAX == UINT_MAX_32_BITS
> --typedef unsigned nls_uint32;
> --#else
> --# if USHRT_MAX == UINT_MAX_32_BITS
> --typedef unsigned short nls_uint32;
> --# else
> --#  if ULONG_MAX == UINT_MAX_32_BITS
> --typedef unsigned long nls_uint32;
> --#  else
> --  /* The following line is intended to throw an error.  Using #error is
> --     not portable enough.  */
> --  "Cannot determine unsigned 32-bit data type."
> --#  endif
> --# endif
> --#endif
> --
> --
> --/* Header for binary .mo file format.  */
> --struct mo_file_header
> --{
> --  /* The magic number.  */
> --  nls_uint32 magic;
> --  /* The revision number of the file format.  */
> --  nls_uint32 revision;
> --  /* The number of strings pairs.  */
> --  nls_uint32 nstrings;
> --  /* Offset of table with start offsets of original strings.  */
> --  nls_uint32 orig_tab_offset;
> --  /* Offset of table with start offsets of translation strings.  */
> --  nls_uint32 trans_tab_offset;
> --  /* Size of hashing table.  */
> --  nls_uint32 hash_tab_size;
> --  /* Offset of first hashing entry.  */
> --  nls_uint32 hash_tab_offset;
> --};
> --
> --struct string_desc
> --{
> --  /* Length of addressed string.  */
> --  nls_uint32 length;
> --  /* Offset of string in file.  */
> --  nls_uint32 offset;
> --};
> --
> --/* @@ begin of epilog @@ */
> --
> --#endif        /* gettext.h  */
> ---- lrzsz-0.12.20.safe/intl/gettextP.h 1998-04-26 09:22:35.000000000 -0400
> -+++ lrzsz-0.12.20/intl/gettextP.h      2004-09-12 14:40:34.426737296 -0400
> -@@ -1,33 +1,53 @@
> --/* Header describing internals of gettext library
> --   Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
> -+/* Header describing internals of libintl library.
> -+   Copyright (C) 1995-1999, 2000-2003 Free Software Foundation, Inc.
> -+   Written by Ulrich Drepper <drepper at cygnus.com>, 1995.
> -
> --   This 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)
> -+   This program is free software; you can redistribute it and/or modify
> it
> -+   under the terms of the GNU Library General Public License as published
> -+   by the Free Software Foundation; either version 2, 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.
> -+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> -+   Library General Public License for more details.
> -
> --   You should have received a copy of the GNU 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.  */
> -+   You should have received a copy of the GNU Library 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.  */
> -
> - #ifndef _GETTEXTP_H
> - #define _GETTEXTP_H
> -
> -+#include <stddef.h>           /* Get size_t.  */
> -+
> -+#ifdef _LIBC
> -+# include "../iconv/gconv_int.h"
> -+#else
> -+# if HAVE_ICONV
> -+#  include <iconv.h>
> -+# endif
> -+#endif
> -+
> - #include "loadinfo.h"
> -
> -+#include "gmo.h"              /* Get nls_uint32.  */
> -+
> - /* @@ end of prolog @@ */
> -
> --#ifndef PARAMS
> --# if __STDC__
> --#  define PARAMS(args) args
> --# else
> --#  define PARAMS(args) ()
> --# endif
> -+#ifndef internal_function
> -+# define internal_function
> -+#endif
> -+
> -+#ifndef attribute_hidden
> -+# define attribute_hidden
> -+#endif
> -+
> -+/* Tell the compiler when a conditional or integer expression is
> -+   almost always true or almost always false.  */
> -+#ifndef HAVE_BUILTIN_EXPECT
> -+# define __builtin_expect(expr, val) (expr)
> - #endif
> -
> - #ifndef W
> -@@ -35,38 +55,160 @@
> - #endif
> -
> -
> --static nls_uint32 SWAP PARAMS ((nls_uint32 i));
> --
> -+#ifdef _LIBC
> -+# include <byteswap.h>
> -+# define SWAP(i) bswap_32 (i)
> -+#else
> - static inline nls_uint32
> - SWAP (i)
> -      nls_uint32 i;
> - {
> -   return (i << 24) | ((i & 0xff00) << 8) | ((i >> 8) & 0xff00) | (i >>
> 24);
> - }
> -+#endif
> -+
> -
> -+/* In-memory representation of system dependent string.  */
> -+struct sysdep_string_desc
> -+{
> -+  /* Length of addressed string, including the trailing NUL.  */
> -+  size_t length;
> -+  /* Pointer to addressed string.  */
> -+  const char *pointer;
> -+};
> -
> -+/* The representation of an opened message catalog.  */
> - struct loaded_domain
> - {
> -+  /* Pointer to memory containing the .mo file.  */
> -   const char *data;
> -+  /* 1 if the memory is mmap()ed, 0 if the memory is malloc()ed.  */
> -+  int use_mmap;
> -+  /* Size of mmap()ed memory.  */
> -+  size_t mmap_size;
> -+  /* 1 if the .mo file uses a different endianness than this machine.  */
> -   int must_swap;
> -+  /* Pointer to additional malloc()ed memory.  */
> -+  void *malloced;
> -+
> -+  /* Number of static strings pairs.  */
> -   nls_uint32 nstrings;
> --  struct string_desc *orig_tab;
> --  struct string_desc *trans_tab;
> -+  /* Pointer to descriptors of original strings in the file.  */
> -+  const struct string_desc *orig_tab;
> -+  /* Pointer to descriptors of translated strings in the file.  */
> -+  const struct string_desc *trans_tab;
> -+
> -+  /* Number of system dependent strings pairs.  */
> -+  nls_uint32 n_sysdep_strings;
> -+  /* Pointer to descriptors of original sysdep strings.  */
> -+  const struct sysdep_string_desc *orig_sysdep_tab;
> -+  /* Pointer to descriptors of translated sysdep strings.  */
> -+  const struct sysdep_string_desc *trans_sysdep_tab;
> -+
> -+  /* Size of hash table.  */
> -   nls_uint32 hash_size;
> --  nls_uint32 *hash_tab;
> -+  /* Pointer to hash table.  */
> -+  const nls_uint32 *hash_tab;
> -+  /* 1 if the hash table uses a different endianness than this machine.
> */
> -+  int must_swap_hash_tab;
> -+
> -+  int codeset_cntr;
> -+#ifdef _LIBC
> -+  __gconv_t conv;
> -+#else
> -+# if HAVE_ICONV
> -+  iconv_t conv;
> -+# endif
> -+#endif
> -+  char **conv_tab;
> -+
> -+  struct expression *plural;
> -+  unsigned long int nplurals;
> - };
> -
> -+/* We want to allocate a string at the end of the struct.  But ISO C
> -+   doesn't allow zero sized arrays.  */
> -+#ifdef __GNUC__
> -+# define ZERO 0
> -+#else
> -+# define ZERO 1
> -+#endif
> -+
> -+/* A set of settings bound to a message domain.  Used to store settings
> -+   from bindtextdomain() and bind_textdomain_codeset().  */
> - struct binding
> - {
> -   struct binding *next;
> --  char *domainname;
> -   char *dirname;
> -+  int codeset_cntr;   /* Incremented each time codeset changes.  */
> -+  char *codeset;
> -+  char domainname[ZERO];
> - };
> -
> --struct loaded_l10nfile *_nl_find_domain PARAMS ((const char *__dirname,
> --                                               char *__locale,
> --                                               const char
> *__domainname));
> --void _nl_load_domain PARAMS ((struct loaded_l10nfile *__domain));
> -+/* A counter which is incremented each time some previous translations
> -+   become invalid.
> -+   This variable is part of the external ABI of the GNU libintl.  */
> -+extern int _nl_msg_cat_cntr;
> -+
> -+#ifndef _LIBC
> -+const char *_nl_locale_name (int category, const char *categoryname);
> -+#endif
> -+
> -+struct loaded_l10nfile *_nl_find_domain (const char *__dirname, char
> *__locale,
> -+                                       const char *__domainname,
> -+                                       struct binding *__domainbinding)
> -+     internal_function;
> -+void _nl_load_domain (struct loaded_l10nfile *__domain,
> -+                    struct binding *__domainbinding)
> -+     internal_function;
> -+void _nl_unload_domain (struct loaded_domain *__domain)
> -+     internal_function;
> -+const char *_nl_init_domain_conv (struct loaded_l10nfile *__domain_file,
> -+                                struct loaded_domain *__domain,
> -+                                struct binding *__domainbinding)
> -+     internal_function;
> -+void _nl_free_domain_conv (struct loaded_domain *__domain)
> -+     internal_function;
> -+
> -+char *_nl_find_msg (struct loaded_l10nfile *domain_file,
> -+                  struct binding *domainbinding, const char *msgid,
> -+                  size_t *lengthp)
> -+     internal_function;
> -+
> -+#ifdef _LIBC
> -+extern char *__gettext (const char *__msgid);
> -+extern char *__dgettext (const char *__domainname, const char *__msgid);
> -+extern char *__dcgettext (const char *__domainname, const char *__msgid,
> -+                        int __category);
> -+extern char *__ngettext (const char *__msgid1, const char *__msgid2,
> -+                       unsigned long int __n);
> -+extern char *__dngettext (const char *__domainname,
> -+                        const char *__msgid1, const char *__msgid2,
> -+                        unsigned long int n);
> -+extern char *__dcngettext (const char *__domainname,
> -+                         const char *__msgid1, const char *__msgid2,
> -+                         unsigned long int __n, int __category);
> -+extern char *__dcigettext (const char *__domainname,
> -+                         const char *__msgid1, const char *__msgid2,
> -+                         int __plural, unsigned long int __n,
> -+                         int __category);
> -+extern char *__textdomain (const char *__domainname);
> -+extern char *__bindtextdomain (const char *__domainname,
> -+                             const char *__dirname);
> -+extern char *__bind_textdomain_codeset (const char *__domainname,
> -+                                      const char *__codeset);
> -+#else
> -+/* Declare the exported libintl_* functions, in a way that allows us to
> -+   call them under their real name.  */
> -+# undef _INTL_REDIRECT_INLINE
> -+# undef _INTL_REDIRECT_MACROS
> -+# define _INTL_REDIRECT_MACROS
> -+# include "libgnuintl.h"
> -+extern char *libintl_dcigettext (const char *__domainname,
> -+                               const char *__msgid1, const char
> *__msgid2,
> -+                               int __plural, unsigned long int __n,
> -+                               int __category);
> -+#endif
> -
> - /* @@ begin of epilog @@ */
> -
> ---- lrzsz-0.12.20.safe/intl/gmo.h      1969-12-31 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/intl/gmo.h   2004-09-12 14:40:34.431736536 -0400
> -@@ -0,0 +1,149 @@
> -+/* Description of GNU message catalog format: general file layout.
> -+   Copyright (C) 1995, 1997, 2000-2002, 2004 Free Software Foundation,
> Inc.
> -+
> -+   This program is free software; you can redistribute it and/or modify
> it
> -+   under the terms of the GNU Library General Public License as published
> -+   by the Free Software Foundation; either version 2, 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
> -+   Library General Public License for more details.
> -+
> -+   You should have received a copy of the GNU Library 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.  */
> -+
> -+#ifndef _GETTEXT_H
> -+#define _GETTEXT_H 1
> -+
> -+#include <limits.h>
> -+
> -+/* @@ end of prolog @@ */
> -+
> -+/* The magic number of the GNU message catalog format.  */
> -+#define _MAGIC 0x950412de
> -+#define _MAGIC_SWAPPED 0xde120495
> -+
> -+/* Revision number of the currently used .mo (binary) file format.  */
> -+#define MO_REVISION_NUMBER 0
> -+#define MO_REVISION_NUMBER_WITH_SYSDEP_I 1
> -+
> -+/* The following contortions are an attempt to use the C preprocessor
> -+   to determine an unsigned integral type that is 32 bits wide.  An
> -+   alternative approach is to use autoconf's AC_CHECK_SIZEOF macro, but
> -+   as of version autoconf-2.13, the AC_CHECK_SIZEOF macro doesn't work
> -+   when cross-compiling.  */
> -+
> -+#if __STDC__
> -+# define UINT_MAX_32_BITS 4294967295U
> -+#else
> -+# define UINT_MAX_32_BITS 0xFFFFFFFF
> -+#endif
> -+
> -+/* If UINT_MAX isn't defined, assume it's a 32-bit type.
> -+   This should be valid for all systems GNU cares about because
> -+   that doesn't include 16-bit systems, and only modern systems
> -+   (that certainly have <limits.h>) have 64+-bit integral types.  */
> -+
> -+#ifndef UINT_MAX
> -+# define UINT_MAX UINT_MAX_32_BITS
> -+#endif
> -+
> -+#if UINT_MAX == UINT_MAX_32_BITS
> -+typedef unsigned nls_uint32;
> -+#else
> -+# if USHRT_MAX == UINT_MAX_32_BITS
> -+typedef unsigned short nls_uint32;
> -+# else
> -+#  if ULONG_MAX == UINT_MAX_32_BITS
> -+typedef unsigned long nls_uint32;
> -+#  else
> -+  /* The following line is intended to throw an error.  Using #error is
> -+     not portable enough.  */
> -+  "Cannot determine unsigned 32-bit data type."
> -+#  endif
> -+# endif
> -+#endif
> -+
> -+
> -+/* Header for binary .mo file format.  */
> -+struct mo_file_header
> -+{
> -+  /* The magic number.  */
> -+  nls_uint32 magic;
> -+  /* The revision number of the file format.  */
> -+  nls_uint32 revision;
> -+
> -+  /* The following are only used in .mo files with major revision 0 or
> 1.  */
> -+
> -+  /* The number of strings pairs.  */
> -+  nls_uint32 nstrings;
> -+  /* Offset of table with start offsets of original strings.  */
> -+  nls_uint32 orig_tab_offset;
> -+  /* Offset of table with start offsets of translated strings.  */
> -+  nls_uint32 trans_tab_offset;
> -+  /* Size of hash table.  */
> -+  nls_uint32 hash_tab_size;
> -+  /* Offset of first hash table entry.  */
> -+  nls_uint32 hash_tab_offset;
> -+
> -+  /* The following are only used in .mo files with minor revision >= 1.
> */
> -+
> -+  /* The number of system dependent segments.  */
> -+  nls_uint32 n_sysdep_segments;
> -+  /* Offset of table describing system dependent segments.  */
> -+  nls_uint32 sysdep_segments_offset;
> -+  /* The number of system dependent strings pairs.  */
> -+  nls_uint32 n_sysdep_strings;
> -+  /* Offset of table with start offsets of original sysdep strings.  */
> -+  nls_uint32 orig_sysdep_tab_offset;
> -+  /* Offset of table with start offsets of translated sysdep strings.  */
> -+  nls_uint32 trans_sysdep_tab_offset;
> -+};
> -+
> -+/* Descriptor for static string contained in the binary .mo file.  */
> -+struct string_desc
> -+{
> -+  /* Length of addressed string, not including the trailing NUL.  */
> -+  nls_uint32 length;
> -+  /* Offset of string in file.  */
> -+  nls_uint32 offset;
> -+};
> -+
> -+/* The following are only used in .mo files with minor revision >= 1.  */
> -+
> -+/* Descriptor for system dependent string segment.  */
> -+struct sysdep_segment
> -+{
> -+  /* Length of addressed string, including the trailing NUL.  */
> -+  nls_uint32 length;
> -+  /* Offset of string in file.  */
> -+  nls_uint32 offset;
> -+};
> -+
> -+/* Descriptor for system dependent string.  */
> -+struct sysdep_string
> -+{
> -+  /* Offset of static string segments in file.  */
> -+  nls_uint32 offset;
> -+  /* Alternating sequence of static and system dependent segments.
> -+     The last segment is a static segment, including the trailing NUL.
> */
> -+  struct segment_pair
> -+  {
> -+    /* Size of static segment.  */
> -+    nls_uint32 segsize;
> -+    /* Reference to system dependent string segment, or ~0 at the end.
> */
> -+    nls_uint32 sysdepref;
> -+  } segments[1];
> -+};
> -+
> -+/* Marker for the end of the segments[] array.  This has the value
> 0xFFFFFFFF,
> -+   regardless whether 'int' is 16 bit, 32 bit, or 64 bit.  */
> -+#define SEGMENTS_END ((nls_uint32) ~0)
> -+
> -+/* @@ begin of epilog @@ */
> -+
> -+#endif        /* gettext.h  */
> ---- lrzsz-0.12.20.safe/intl/hash-string.h      1998-04-26
> 09:22:36.000000000 -0400
> -+++ lrzsz-0.12.20/intl/hash-string.h   2004-09-12 14:40:34.436735776 -0400
> -@@ -1,35 +1,23 @@
> --/* Implements a string hashing function.
> --   Copyright (C) 1995, 1997 Free Software Foundation, Inc.
> -+/* Description of GNU message catalog format: string hashing function.
> -+   Copyright (C) 1995, 1997-1998, 2000-2003 Free Software Foundation,
> Inc.
> -
> --   This 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)
> -+   This program is free software; you can redistribute it and/or modify
> it
> -+   under the terms of the GNU Library General Public License as published
> -+   by the Free Software Foundation; either version 2, 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.
> -+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> -+   Library General Public License for more details.
> -
> -    You should have received a copy of the GNU Library General Public
> --   License along with the GNU C Library; see the file COPYING.LIB.  If
> not,
> --   write to the Free Software Foundation, Inc., 59 Temple Place - Suite
> 330,
> --   Boston, MA 02111-1307, USA.  */
> --
> --#ifdef HAVE_VALUES_H
> --# include <values.h>
> --#endif
> -+   License along with this program; if not, write to the Free Software
> -+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
> -+   USA.  */
> -
> - /* @@ end of prolog @@ */
> -
> --#ifndef PARAMS
> --# if __STDC__
> --#  define PARAMS(Args) Args
> --# else
> --#  define PARAMS(Args) ()
> --# endif
> --#endif
> --
> - /* We assume to have `unsigned long int' value with at least 32 bits.  */
> - #define HASHWORDBITS 32
> -
> -@@ -37,11 +25,8 @@
> - /* Defines the so called `hashpjw' function by P.J. Weinberger
> -    [see Aho/Sethi/Ullman, COMPILERS: Principles, Techniques and Tools,
> -    1986, 1987 Bell Telephone Laboratories, Inc.]  */
> --static unsigned long hash_string PARAMS ((const char *__str_param));
> --
> --static inline unsigned long
> --hash_string (str_param)
> --     const char *str_param;
> -+static inline unsigned long int
> -+hash_string (const char *str_param)
> - {
> -   unsigned long int hval, g;
> -   const char *str = str_param;
> -@@ -51,8 +36,8 @@
> -   while (*str != '\0')
> -     {
> -       hval <<= 4;
> --      hval += (unsigned long) *str++;
> --      g = hval & ((unsigned long) 0xf << (HASHWORDBITS - 4));
> -+      hval += (unsigned char) *str++;
> -+      g = hval & ((unsigned long int) 0xf << (HASHWORDBITS - 4));
> -       if (g != 0)
> -       {
> -         hval ^= g >> (HASHWORDBITS - 8);
> ---- lrzsz-0.12.20.safe/intl/intl-compat.c      1998-04-26
> 09:20:52.000000000 -0400
> -+++ lrzsz-0.12.20/intl/intl-compat.c   2004-09-12 14:40:34.441735016 -0400
> -@@ -1,76 +1,131 @@
> - /* intl-compat.c - Stub functions to call gettext functions from GNU
> gettext
> -    Library.
> --   Copyright (C) 1995 Software Foundation, Inc.
> -+   Copyright (C) 1995, 2000-2003 Software Foundation, Inc.
> -
> --This 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 free software; you can redistribute it and/or modify
> it
> -+   under the terms of the GNU Library General Public License as published
> -+   by the Free Software Foundation; either version 2, 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 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
> -+   Library 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.  */
> -+   You should have received a copy of the GNU Library 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.  */
> -
> - #ifdef HAVE_CONFIG_H
> - # include <config.h>
> - #endif
> -
> --#include "libgettext.h"
> -+#include "gettextP.h"
> -
> - /* @@ end of prolog @@ */
> -
> -+/* This file redirects the gettext functions (without prefix) to those
> -+   defined in the included GNU libintl library (with "libintl_" prefix).
> -+   It is compiled into libintl in order to make the AM_GNU_GETTEXT test
> -+   of gettext <= 0.11.2 work with the libintl library >= 0.11.3 which
> -+   has the redirections primarily in the <libintl.h> include file.
> -+   It is also compiled into libgnuintl so that libgnuintl.so can be used
> -+   as LD_PRELOADable library on glibc systems, to provide the extra
> -+   features that the functions in the libc don't have (namely,
> logging).  */
> -+
> -
> - #undef gettext
> - #undef dgettext
> - #undef dcgettext
> -+#undef ngettext
> -+#undef dngettext
> -+#undef dcngettext
> - #undef textdomain
> - #undef bindtextdomain
> -+#undef bind_textdomain_codeset
> -+
> -+
> -+/* When building a DLL, we must export some functions.  Note that because
> -+   the functions are only defined for binary backward compatibility, we
> -+   don't need to use __declspec(dllimport) in any case.  */
> -+#if defined _MSC_VER && BUILDING_DLL
> -+# define DLL_EXPORTED __declspec(dllexport)
> -+#else
> -+# define DLL_EXPORTED
> -+#endif
> -
> -
> -+DLL_EXPORTED
> - char *
> --bindtextdomain (domainname, dirname)
> --     const char *domainname;
> --     const char *dirname;
> -+gettext (const char *msgid)
> - {
> --  return bindtextdomain__ (domainname, dirname);
> -+  return libintl_gettext (msgid);
> - }
> -
> -
> -+DLL_EXPORTED
> - char *
> --dcgettext (domainname, msgid, category)
> --     const char *domainname;
> --     const char *msgid;
> --     int category;
> -+dgettext (const char *domainname, const char *msgid)
> - {
> --  return dcgettext__ (domainname, msgid, category);
> -+  return libintl_dgettext (domainname, msgid);
> - }
> -
> -
> -+DLL_EXPORTED
> - char *
> --dgettext (domainname, msgid)
> --     const char *domainname;
> --     const char *msgid;
> -+dcgettext (const char *domainname, const char *msgid, int category)
> - {
> --  return dgettext__ (domainname, msgid);
> -+  return libintl_dcgettext (domainname, msgid, category);
> - }
> -
> -
> -+DLL_EXPORTED
> - char *
> --gettext (msgid)
> --     const char *msgid;
> -+ngettext (const char *msgid1, const char *msgid2, unsigned long int n)
> - {
> --  return gettext__ (msgid);
> -+  return libintl_ngettext (msgid1, msgid2, n);
> - }
> -
> -
> -+DLL_EXPORTED
> - char *
> --textdomain (domainname)
> --     const char *domainname;
> -+dngettext (const char *domainname,
> -+         const char *msgid1, const char *msgid2, unsigned long int n)
> - {
> --  return textdomain__ (domainname);
> -+  return libintl_dngettext (domainname, msgid1, msgid2, n);
> -+}
> -+
> -+
> -+DLL_EXPORTED
> -+char *
> -+dcngettext (const char *domainname,
> -+          const char *msgid1, const char *msgid2, unsigned long int n,
> -+          int category)
> -+{
> -+  return libintl_dcngettext (domainname, msgid1, msgid2, n, category);
> -+}
> -+
> -+
> -+DLL_EXPORTED
> -+char *
> -+textdomain (const char *domainname)
> -+{
> -+  return libintl_textdomain (domainname);
> -+}
> -+
> -+
> -+DLL_EXPORTED
> -+char *
> -+bindtextdomain (const char *domainname, const char *dirname)
> -+{
> -+  return libintl_bindtextdomain (domainname, dirname);
> -+}
> -+
> -+
> -+DLL_EXPORTED
> -+char *
> -+bind_textdomain_codeset (const char *domainname, const char *codeset)
> -+{
> -+  return libintl_bind_textdomain_codeset (domainname, codeset);
> - }
> ---- lrzsz-0.12.20.safe/intl/l10nflist.c        1998-04-26
> 09:22:37.000000000 -0400
> -+++ lrzsz-0.12.20/intl/l10nflist.c     2004-09-12 14:40:34.457732584 -0400
> -@@ -1,52 +1,40 @@
> --/* Handle list of needed message catalogs
> --   Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
> --   Written by Ulrich Drepper <drepper at gnu.ai.mit.edu>, 1995.
> -+/* Copyright (C) 1995-1999, 2000-2003 Free Software Foundation, Inc.
> -+   Contributed by Ulrich Drepper <drepper at gnu.ai.mit.edu>, 1995.
> -
> --   This 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)
> -+   This program is free software; you can redistribute it and/or modify
> it
> -+   under the terms of the GNU Library General Public License as published
> -+   by the Free Software Foundation; either version 2, 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.
> -+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> -+   Library General Public License for more details.
> -
> --   You should have received a copy of the GNU 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.  */
> -+   You should have received a copy of the GNU Library 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.  */
> -+
> -+/* Tell glibc's <string.h> to provide a prototype for stpcpy().
> -+   This must come before <config.h> because <config.h> may include
> -+   <features.h>, and once <features.h> has been included, it's too
> late.  */
> -+#ifndef _GNU_SOURCE
> -+# define _GNU_SOURCE  1
> -+#endif
> -
> - #ifdef HAVE_CONFIG_H
> - # include <config.h>
> - #endif
> -
> --
> --#if defined HAVE_STRING_H || defined _LIBC
> --# ifndef _GNU_SOURCE
> --#  define _GNU_SOURCE 1
> --# endif
> --# include <string.h>
> --#else
> --# include <strings.h>
> --# ifndef memcpy
> --#  define memcpy(Dst, Src, Num) bcopy (Src, Dst, Num)
> --# endif
> --#endif
> --#if !HAVE_STRCHR && !defined _LIBC
> --# ifndef strchr
> --#  define strchr index
> --# endif
> --#endif
> -+#include <string.h>
> -
> - #if defined _LIBC || defined HAVE_ARGZ_H
> - # include <argz.h>
> - #endif
> - #include <ctype.h>
> - #include <sys/types.h>
> --
> --#if defined STDC_HEADERS || defined _LIBC
> --# include <stdlib.h>
> --#endif
> -+#include <stdlib.h>
> -
> - #include "loadinfo.h"
> -
> -@@ -65,23 +53,39 @@
> - /* Rename the non ANSI C functions.  This is required by the standard
> -    because some ANSI C functions will require linking with this object
> -    file and the name space must not be polluted.  */
> --# define stpcpy(dest, src) __stpcpy(dest, src)
> -+# ifndef stpcpy
> -+#  define stpcpy(dest, src) __stpcpy(dest, src)
> -+# endif
> - #else
> - # ifndef HAVE_STPCPY
> --static char *stpcpy PARAMS ((char *dest, const char *src));
> -+static char *stpcpy (char *dest, const char *src);
> - # endif
> - #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.
> -+ */
> -+#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined
> __DJGPP__
> -+  /* Win32, 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))
> -+#else
> -+  /* Unix */
> -+# define ISSLASH(C) ((C) == '/')
> -+# define IS_ABSOLUTE_PATH(P) ISSLASH ((P)[0])
> -+#endif
> -+
> - /* Define function which are usually not available.  */
> -
> - #if !defined _LIBC && !defined HAVE___ARGZ_COUNT
> - /* Returns the number of strings in ARGZ.  */
> --static size_t argz_count__ PARAMS ((const char *argz, size_t len));
> --
> - static size_t
> --argz_count__ (argz, len)
> --     const char *argz;
> --     size_t len;
> -+argz_count__ (const char *argz, size_t len)
> - {
> -   size_t count = 0;
> -   while (len > 0)
> -@@ -95,18 +99,17 @@
> - }
> - # undef __argz_count
> - # define __argz_count(argz, len) argz_count__ (argz, len)
> -+#else
> -+# ifdef _LIBC
> -+#  define __argz_count(argz, len) INTUSE(__argz_count) (argz, len)
> -+# endif
> - #endif        /* !_LIBC && !HAVE___ARGZ_COUNT */
> -
> - #if !defined _LIBC && !defined HAVE___ARGZ_STRINGIFY
> - /* Make '\0' separated arg vector ARGZ printable by converting all the
> '\0's
> -    except the last into the character SEP.  */
> --static void argz_stringify__ PARAMS ((char *argz, size_t len, int sep));
> --
> - static void
> --argz_stringify__ (argz, len, sep)
> --     char *argz;
> --     size_t len;
> --     int sep;
> -+argz_stringify__ (char *argz, size_t len, int sep)
> - {
> -   while (len > 0)
> -     {
> -@@ -119,17 +122,16 @@
> - }
> - # undef __argz_stringify
> - # define __argz_stringify(argz, len, sep) argz_stringify__ (argz, len,
> sep)
> -+#else
> -+# ifdef _LIBC
> -+#  define __argz_stringify(argz, len, sep) \
> -+  INTUSE(__argz_stringify) (argz, len, sep)
> -+# endif
> - #endif        /* !_LIBC && !HAVE___ARGZ_STRINGIFY */
> -
> - #if !defined _LIBC && !defined HAVE___ARGZ_NEXT
> --static char *argz_next__ PARAMS ((char *argz, size_t argz_len,
> --                                const char *entry));
> --
> - static char *
> --argz_next__ (argz, argz_len, entry)
> --     char *argz;
> --     size_t argz_len;
> --     const char *entry;
> -+argz_next__ (char *argz, size_t argz_len, const char *entry)
> - {
> -   if (entry)
> -     {
> -@@ -150,11 +152,8 @@
> -
> -
> - /* Return number of bits set in X.  */
> --static int pop PARAMS ((int x));
> --
> - static inline int
> --pop (x)
> --     int x;
> -+pop (int x)
> - {
> -   /* We assume that no more than 16 bits are used.  */
> -   x = ((x & ~0x5555) >> 1) + (x & 0x5555);
> -@@ -167,31 +166,27 @@
> -
> -
> - struct loaded_l10nfile *
> --_nl_make_l10nflist (l10nfile_list, dirlist, dirlist_len, mask, language,
> --                  territory, codeset, normalized_codeset, modifier,
> special,
> --                  sponsor, revision, filename, do_allocate)
> --     struct loaded_l10nfile **l10nfile_list;
> --     const char *dirlist;
> --     size_t dirlist_len;
> --     int mask;
> --     const char *language;
> --     const char *territory;
> --     const char *codeset;
> --     const char *normalized_codeset;
> --     const char *modifier;
> --     const char *special;
> --     const char *sponsor;
> --     const char *revision;
> --     const char *filename;
> --     int do_allocate;
> -+_nl_make_l10nflist (struct loaded_l10nfile **l10nfile_list,
> -+                  const char *dirlist, size_t dirlist_len,
> -+                  int mask, const char *language, const char *territory,
> -+                  const char *codeset, const char *normalized_codeset,
> -+                  const char *modifier, const char *special,
> -+                  const char *sponsor, const char *revision,
> -+                  const char *filename, int do_allocate)
> - {
> -   char *abs_filename;
> --  struct loaded_l10nfile *last = NULL;
> -+  struct loaded_l10nfile **lastp;
> -   struct loaded_l10nfile *retval;
> -   char *cp;
> -+  size_t dirlist_count;
> -   size_t entries;
> -   int cnt;
> -
> -+  /* If LANGUAGE contains an absolute directory specification, we ignore
> -+     DIRLIST.  */
> -+  if (IS_ABSOLUTE_PATH (language))
> -+    dirlist_len = 0;
> -+
> -   /* Allocate room for the full file name.  */
> -   abs_filename = (char *) malloc (dirlist_len
> -                                 + strlen (language)
> -@@ -209,7 +204,7 @@
> -                                 + (((mask & CEN_SPONSOR) != 0
> -                                     || (mask & CEN_REVISION) != 0)
> -                                    ? (1 + ((mask & CEN_SPONSOR) != 0
> --                                           ? strlen (sponsor) + 1 : 0)
> -+                                           ? strlen (sponsor) : 0)
> -                                       + ((mask & CEN_REVISION) != 0
> -                                          ? strlen (revision) + 1 : 0)) :
> 0)
> -                                 + 1 + strlen (filename) + 1);
> -@@ -217,14 +212,16 @@
> -   if (abs_filename == NULL)
> -     return NULL;
> -
> --  retval = NULL;
> --  last = NULL;
> --
> -   /* Construct file name.  */
> --  memcpy (abs_filename, dirlist, dirlist_len);
> --  __argz_stringify (abs_filename, dirlist_len, ':');
> --  cp = abs_filename + (dirlist_len - 1);
> --  *cp++ = '/';
> -+  cp = abs_filename;
> -+  if (dirlist_len > 0)
> -+    {
> -+      memcpy (cp, dirlist, dirlist_len);
> -+      __argz_stringify (cp, dirlist_len, PATH_SEPARATOR);
> -+      cp += dirlist_len;
> -+      cp[-1] = '/';
> -+    }
> -+
> -   cp = stpcpy (cp, language);
> -
> -   if ((mask & TERRITORY) != 0)
> -@@ -271,7 +268,7 @@
> -
> -   /* Look in list of already loaded domains whether it is already
> -      available.  */
> --  last = NULL;
> -+  lastp = l10nfile_list;
> -   for (retval = *l10nfile_list; retval != NULL; retval = retval->next)
> -     if (retval->filename != NULL)
> -       {
> -@@ -286,7 +283,7 @@
> -           break;
> -         }
> -
> --      last = retval;
> -+      lastp = &retval->next;
> -       }
> -
> -   if (retval != NULL || do_allocate == 0)
> -@@ -295,48 +292,66 @@
> -       return retval;
> -     }
> -
> --  retval = (struct loaded_l10nfile *)
> --    malloc (sizeof (*retval) + (__argz_count (dirlist, dirlist_len)
> --                              * (1 << pop (mask))
> --                              * sizeof (struct loaded_l10nfile *)));
> -+  dirlist_count = (dirlist_len > 0 ? __argz_count (dirlist, dirlist_len)
> : 1);
> -+
> -+  /* Allocate a new loaded_l10nfile.  */
> -+  retval =
> -+    (struct loaded_l10nfile *)
> -+    malloc (sizeof (*retval)
> -+          + (((dirlist_count << pop (mask)) + (dirlist_count > 1 ? 1 :
> 0))
> -+             * sizeof (struct loaded_l10nfile *)));
> -   if (retval == NULL)
> -     return NULL;
> -
> -   retval->filename = abs_filename;
> --  retval->decided = (__argz_count (dirlist, dirlist_len) != 1
> -+
> -+  /* We set retval->data to NULL here; it is filled in later.
> -+     Setting retval->decided to 1 here means that retval does not
> -+     correspond to a real file (dirlist_count > 1) or is not worth
> -+     looking up (if an unnormalized codeset was specified).  */
> -+  retval->decided = (dirlist_count > 1
> -                    || ((mask & XPG_CODESET) != 0
> -                        && (mask & XPG_NORM_CODESET) != 0));
> -   retval->data = NULL;
> -
> --  if (last == NULL)
> --    {
> --      retval->next = *l10nfile_list;
> --      *l10nfile_list = retval;
> --    }
> --  else
> --    {
> --      retval->next = last->next;
> --      last->next = retval;
> --    }
> -+  retval->next = *lastp;
> -+  *lastp = retval;
> -
> -   entries = 0;
> --  /* If the DIRLIST is a real list the RETVAL entry corresponds not to
> --     a real file.  So we have to use the DIRLIST separation mechanism
> --     of the inner loop.  */
> --  cnt = __argz_count (dirlist, dirlist_len) == 1 ? mask - 1 : mask;
> --  for (; cnt >= 0; --cnt)
> -+  /* Recurse to fill the inheritance list of RETVAL.
> -+     If the DIRLIST is a real list (i.e. DIRLIST_COUNT > 1), the RETVAL
> -+     entry does not correspond to a real file; retval->filename contains
> -+     colons.  In this case we loop across all elements of DIRLIST and
> -+     across all bit patterns dominated by MASK.
> -+     If the DIRLIST is a single directory or entirely redundant (i.e.
> -+     DIRLIST_COUNT == 1), we loop across all bit patterns dominated by
> -+     MASK, excluding MASK itself.
> -+     In either case, we loop down from MASK to 0.  This has the effect
> -+     that the extra bits in the locale name are dropped in this order:
> -+     first the modifier, then the territory, then the codeset, then the
> -+     normalized_codeset.  */
> -+  for (cnt = dirlist_count > 1 ? mask : mask - 1; cnt >= 0; --cnt)
> -     if ((cnt & ~mask) == 0
> -       && ((cnt & CEN_SPECIFIC) == 0 || (cnt & XPG_SPECIFIC) == 0)
> -       && ((cnt & XPG_CODESET) == 0 || (cnt & XPG_NORM_CODESET) == 0))
> -       {
> --      /* Iterate over all elements of the DIRLIST.  */
> --      char *dir = NULL;
> -+      if (dirlist_count > 1)
> -+        {
> -+          /* Iterate over all elements of the DIRLIST.  */
> -+          char *dir = NULL;
> -
> --      while ((dir = __argz_next ((char *) dirlist, dirlist_len, dir))
> --             != NULL)
> -+          while ((dir = __argz_next ((char *) dirlist, dirlist_len, dir))
> -+                 != NULL)
> -+            retval->successor[entries++]
> -+              = _nl_make_l10nflist (l10nfile_list, dir, strlen (dir) + 1,
> -+                                    cnt, language, territory, codeset,
> -+                                    normalized_codeset, modifier,
> special,
> -+                                    sponsor, revision, filename, 1);
> -+        }
> -+      else
> -         retval->successor[entries++]
> --          = _nl_make_l10nflist (l10nfile_list, dir, strlen (dir) + 1,
> cnt,
> --                                language, territory, codeset,
> -+          = _nl_make_l10nflist (l10nfile_list, dirlist, dirlist_len,
> -+                                cnt, language, territory, codeset,
> -                                 normalized_codeset, modifier, special,
> -                                 sponsor, revision, filename, 1);
> -       }
> -@@ -347,11 +362,10 @@
> -
> - /* Normalize codeset name.  There is no standard for the codeset
> -    names.  Normalization allows the user to use any of the common
> --   names.  */
> -+   names.  The return value is dynamically allocated and has to be
> -+   freed by the caller.  */
> - const char *
> --_nl_normalize_codeset (codeset, name_len)
> --     const char *codeset;
> --     size_t name_len;
> -+_nl_normalize_codeset (const char *codeset, size_t name_len)
> - {
> -   int len = 0;
> -   int only_digit = 1;
> -@@ -360,11 +374,11 @@
> -   size_t cnt;
> -
> -   for (cnt = 0; cnt < name_len; ++cnt)
> --    if (isalnum (codeset[cnt]))
> -+    if (isalnum ((unsigned char) codeset[cnt]))
> -       {
> -       ++len;
> -
> --      if (isalpha (codeset[cnt]))
> -+      if (isalpha ((unsigned char) codeset[cnt]))
> -         only_digit = 0;
> -       }
> -
> -@@ -378,9 +392,9 @@
> -       wp = retval;
> -
> -       for (cnt = 0; cnt < name_len; ++cnt)
> --      if (isalpha (codeset[cnt]))
> --        *wp++ = tolower (codeset[cnt]);
> --      else if (isdigit (codeset[cnt]))
> -+      if (isalpha ((unsigned char) codeset[cnt]))
> -+        *wp++ = tolower ((unsigned char) codeset[cnt]);
> -+      else if (isdigit ((unsigned char) codeset[cnt]))
> -         *wp++ = codeset[cnt];
> -
> -       *wp = '\0';
> -@@ -398,9 +412,7 @@
> -    to be defined.  */
> - #if !_LIBC && !HAVE_STPCPY
> - static char *
> --stpcpy (dest, src)
> --     char *dest;
> --     const char *src;
> -+stpcpy (char *dest, const char *src)
> - {
> -   while ((*dest++ = *src++) != '\0')
> -     /* Do nothing. */ ;
> ---- lrzsz-0.12.20.safe/intl/libgettext.h       1998-04-26
> 09:22:36.000000000 -0400
> -+++ lrzsz-0.12.20/intl/libgettext.h    1969-12-31 19:00:00.000000000 -0500
> -@@ -1,182 +0,0 @@
> --/* Message catalogs for internationalization.
> --   Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
> --
> --   This 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, write to the Free Software
> Foundation,
> --   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
> --
> --/* Because on some systems (e.g. Solaris) we sometimes have to include
> --   the systems libintl.h as well as this file we have more complex
> --   include protection above.  But the systems header might perhaps also
> --   define _LIBINTL_H and therefore we have to protect the definition
> here.  */
> --
> --#if !defined (_LIBINTL_H) || !defined (_LIBGETTEXT_H)
> --#if !defined (_LIBINTL_H)
> --# define _LIBINTL_H   1
> --#endif
> --#define _LIBGETTEXT_H 1
> --
> --/* We define an additional symbol to signal that we use the GNU
> --   implementation of gettext.  */
> --#define __USE_GNU_GETTEXT 1
> --
> --#include <sys/types.h>
> --
> --#if HAVE_LOCALE_H
> --# include <locale.h>
> --#endif
> --
> --
> --#ifdef __cplusplus
> --extern "C" {
> --#endif
> --
> --/* @@ end of prolog @@ */
> --
> --#ifndef PARAMS
> --# if __STDC__
> --#  define PARAMS(args) args
> --# else
> --#  define PARAMS(args) ()
> --# endif
> --#endif
> --
> --#ifndef NULL
> --# if !defined __cplusplus || defined __GNUC__
> --#  define NULL ((void *) 0)
> --# else
> --#  define NULL (0)
> --# endif
> --#endif
> --
> --#if !HAVE_LC_MESSAGES
> --/* This value determines the behaviour of the gettext() and dgettext()
> --   function.  But some system does not have this defined.  Define it
> --   to a default value.  */
> --# define LC_MESSAGES (-1)
> --#endif
> --
> --
> --/* Declarations for gettext-using-catgets interface.  Derived from
> --   Jim Meyering's libintl.h.  */
> --struct _msg_ent
> --{
> --  const char *_msg;
> --  int _msg_number;
> --};
> --
> --
> --#if HAVE_CATGETS
> --/* These two variables are defined in the automatically by po-to-tbl.sed
> --   generated file `cat-id-tbl.c'.  */
> --extern const struct _msg_ent _msg_tbl[];
> --extern int _msg_tbl_length;
> --#endif
> --
> --
> --/* For automatical extraction of messages sometimes no real
> --   translation is needed.  Instead the string itself is the result.  */
> --#define gettext_noop(Str) (Str)
> --
> --/* Look up MSGID in the current default message catalog for the current
> --   LC_MESSAGES locale.  If not found, returns MSGID itself (the default
> --   text).  */
> --extern char *gettext PARAMS ((const char *__msgid));
> --extern char *gettext__ PARAMS ((const char *__msgid));
> --
> --/* Look up MSGID in the DOMAINNAME message catalog for the current
> --   LC_MESSAGES locale.  */
> --extern char *dgettext PARAMS ((const char *__domainname, const char
> *__msgid));
> --extern char *dgettext__ PARAMS ((const char *__domainname,
> --                               const char *__msgid));
> --
> --/* Look up MSGID in the DOMAINNAME message catalog for the current
> CATEGORY
> --   locale.  */
> --extern char *dcgettext PARAMS ((const char *__domainname, const char
> *__msgid,
> --                              int __category));
> --extern char *dcgettext__ PARAMS ((const char *__domainname,
> --                                const char *__msgid, int __category));
> --
> --
> --/* Set the current default message catalog to DOMAINNAME.
> --   If DOMAINNAME is null, return the current default.
> --   If DOMAINNAME is "", reset to the default of "messages".  */
> --extern char *textdomain PARAMS ((const char *__domainname));
> --extern char *textdomain__ PARAMS ((const char *__domainname));
> --
> --/* Specify that the DOMAINNAME message catalog will be found
> --   in DIRNAME rather than in the system locale data base.  */
> --extern char *bindtextdomain PARAMS ((const char *__domainname,
> --                                const char *__dirname));
> --extern char *bindtextdomain__ PARAMS ((const char *__domainname,
> --                                  const char *__dirname));
> --
> --#if ENABLE_NLS
> --
> --/* Solaris 2.3 has the gettext function but dcgettext is missing.
> --   So we omit this optimization for Solaris 2.3.  BTW, Solaris 2.4
> --   has dcgettext.  */
> --# if !HAVE_CATGETS && (!HAVE_GETTEXT || HAVE_DCGETTEXT)
> --
> --#  define gettext(Msgid)
>     \
> --     dgettext (NULL, Msgid)
> --
> --#  define dgettext(Domainname, Msgid)
>    \
> --     dcgettext (Domainname, Msgid, LC_MESSAGES)
> --
> --#  if defined __GNUC__ && __GNUC__ == 2 && __GNUC_MINOR__ >= 7
> --/* This global variable is defined in loadmsgcat.c.  We need a sign,
> --   whether a new catalog was loaded, which can be associated with all
> --   translations.  */
> --extern int _nl_msg_cat_cntr;
> --
> --#   define dcgettext(Domainname, Msgid, Category)
>    \
> --  (__extension__
>     \
> --   ({
>    \
> --     char *__result;
>     \
> --     if (__builtin_constant_p (Msgid))
>             \
> --       {
>     \
> --       static char *__translation__;
>     \
> --       static int __catalog_counter__;
>     \
> --       if (! __translation__ || __catalog_counter__ !=
> _nl_msg_cat_cntr)    \
> --         {
>     \
> --           __translation__ =
>     \
> --             dcgettext__ (Domainname, Msgid, Category);
>    \
> --           __catalog_counter__ = _nl_msg_cat_cntr;
>     \
> --         }
>     \
> --       __result = __translation__;
>     \
> --       }
>     \
> --     else
>    \
> --       __result = dcgettext__ (Domainname, Msgid, Category);
>     \
> --     __result;
>             \
> --    }))
> --#  endif
> --# endif
> --
> --#else
> --
> --# define gettext(Msgid) (Msgid)
> --# define dgettext(Domainname, Msgid) (Msgid)
> --# define dcgettext(Domainname, Msgid, Category) (Msgid)
> --# define textdomain(Domainname) while (0) /* nothing */
> --# define bindtextdomain(Domainname, Dirname) while (0) /* nothing */
> --
> --#endif
> --
> --/* @@ begin of epilog @@ */
> --
> --#ifdef __cplusplus
> --}
> --#endif
> --
> --#endif
> ---- lrzsz-0.12.20.safe/intl/libgnuintl.h.in    1969-12-31
> 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/intl/libgnuintl.h.in 2004-09-12 14:40:34.462731824
> -0400
> -@@ -0,0 +1,383 @@
> -+/* Message catalogs for internationalization.
> -+   Copyright (C) 1995-1997, 2000-2003 Free Software Foundation, Inc.
> -+
> -+   This program is free software; you can redistribute it and/or modify
> it
> -+   under the terms of the GNU Library General Public License as published
> -+   by the Free Software Foundation; either version 2, 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
> -+   Library General Public License for more details.
> -+
> -+   You should have received a copy of the GNU Library 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.  */
> -+
> -+#ifndef _LIBINTL_H
> -+#define _LIBINTL_H    1
> -+
> -+#include <locale.h>
> -+
> -+/* The LC_MESSAGES locale category is the category used by the functions
> -+   gettext() and dgettext().  It is specified in POSIX, but not in ANSI
> C.
> -+   On systems that don't define it, use an arbitrary value instead.
> -+   On Solaris, <locale.h> defines __LOCALE_H (or _LOCALE_H in Solaris
> 2.5)
> -+   then includes <libintl.h> (i.e. this file!) and then only defines
> -+   LC_MESSAGES.  To avoid a redefinition warning, don't define
> LC_MESSAGES
> -+   in this case.  */
> -+#if !defined LC_MESSAGES && !(defined __LOCALE_H || (defined _LOCALE_H
> && defined __sun))
> -+# define LC_MESSAGES 1729
> -+#endif
> -+
> -+/* We define an additional symbol to signal that we use the GNU
> -+   implementation of gettext.  */
> -+#define __USE_GNU_GETTEXT 1
> -+
> -+/* Provide information about the supported file formats.  Returns the
> -+   maximum minor revision number supported for a given major revision.
> */
> -+#define __GNU_GETTEXT_SUPPORTED_REVISION(major) \
> -+  ((major) == 0 ? 1 : -1)
> -+
> -+/* Resolve a platform specific conflict on DJGPP.  GNU gettext takes
> -+   precedence over _conio_gettext.  */
> -+#ifdef __DJGPP__
> -+# undef gettext
> -+#endif
> -+
> -+#ifdef __cplusplus
> -+extern "C" {
> -+#endif
> -+
> -+
> -+/* We redirect the functions to those prefixed with "libintl_".  This is
> -+   necessary, because some systems define gettext/textdomain/... in the C
> -+   library (namely, Solaris 2.4 and newer, and GNU libc 2.0 and newer).
> -+   If we used the unprefixed names, there would be cases where the
> -+   definition in the C library would override the one in the libintl.so
> -+   shared library.  Recall that on ELF systems, the symbols are looked
> -+   up in the following order:
> -+     1. in the executable,
> -+     2. in the shared libraries specified on the link command line, in
> order,
> -+     3. in the dependencies of the shared libraries specified on the link
> -+        command line,
> -+     4. in the dlopen()ed shared libraries, in the order in which they
> were
> -+        dlopen()ed.
> -+   The definition in the C library would override the one in libintl.so
> if
> -+   either
> -+     * -lc is given on the link command line and -lintl isn't, or
> -+     * -lc is given on the link command line before -lintl, or
> -+     * libintl.so is a dependency of a dlopen()ed shared library but not
> -+       linked to the executable at link time.
> -+   Since Solaris gettext() behaves differently than GNU gettext(), this
> -+   would be unacceptable.
> -+
> -+   The redirection happens by default through macros in C, so that
> &gettext
> -+   is independent of the compilation unit, but through inline functions
> in
> -+   C++, in order not to interfere with the name mangling of class fields
> or
> -+   class methods called 'gettext'.  */
> -+
> -+/* The user can define _INTL_REDIRECT_INLINE or _INTL_REDIRECT_MACROS.
> -+   If he doesn't, we choose the method.  A third possible method is
> -+   _INTL_REDIRECT_ASM, supported only by GCC.  */
> -+#if !(defined _INTL_REDIRECT_INLINE || defined _INTL_REDIRECT_MACROS)
> -+# if __GNUC__ >= 2 && !defined __APPLE_CC__ && !defined __MINGW32__ &&
> !(__GNUC__ == 2 && defined _AIX) && (defined __STDC__ || defined
> __cplusplus)
> -+#  define _INTL_REDIRECT_ASM
> -+# else
> -+#  ifdef __cplusplus
> -+#   define _INTL_REDIRECT_INLINE
> -+#  else
> -+#   define _INTL_REDIRECT_MACROS
> -+#  endif
> -+# endif
> -+#endif
> -+/* Auxiliary macros.  */
> -+#ifdef _INTL_REDIRECT_ASM
> -+# define _INTL_ASM(cname) __asm__ (_INTL_ASMNAME (__USER_LABEL_PREFIX__,
> #cname))
> -+# define _INTL_ASMNAME(prefix,cnamestring) _INTL_STRINGIFY (prefix)
> cnamestring
> -+# define _INTL_STRINGIFY(prefix) #prefix
> -+#else
> -+# define _INTL_ASM(cname)
> -+#endif
> -+
> -+/* Look up MSGID in the current default message catalog for the current
> -+   LC_MESSAGES locale.  If not found, returns MSGID itself (the default
> -+   text).  */
> -+#ifdef _INTL_REDIRECT_INLINE
> -+extern char *libintl_gettext (const char *__msgid);
> -+static inline char *gettext (const char *__msgid)
> -+{
> -+  return libintl_gettext (__msgid);
> -+}
> -+#else
> -+#ifdef _INTL_REDIRECT_MACROS
> -+# define gettext libintl_gettext
> -+#endif
> -+extern char *gettext (const char *__msgid)
> -+       _INTL_ASM (libintl_gettext);
> -+#endif
> -+
> -+/* Look up MSGID in the DOMAINNAME message catalog for the current
> -+   LC_MESSAGES locale.  */
> -+#ifdef _INTL_REDIRECT_INLINE
> -+extern char *libintl_dgettext (const char *__domainname, const char
> *__msgid);
> -+static inline char *dgettext (const char *__domainname, const char
> *__msgid)
> -+{
> -+  return libintl_dgettext (__domainname, __msgid);
> -+}
> -+#else
> -+#ifdef _INTL_REDIRECT_MACROS
> -+# define dgettext libintl_dgettext
> -+#endif
> -+extern char *dgettext (const char *__domainname, const char *__msgid)
> -+       _INTL_ASM (libintl_dgettext);
> -+#endif
> -+
> -+/* Look up MSGID in the DOMAINNAME message catalog for the current
> CATEGORY
> -+   locale.  */
> -+#ifdef _INTL_REDIRECT_INLINE
> -+extern char *libintl_dcgettext (const char *__domainname, const char
> *__msgid,
> -+                              int __category);
> -+static inline char *dcgettext (const char *__domainname, const char
> *__msgid,
> -+                             int __category)
> -+{
> -+  return libintl_dcgettext (__domainname, __msgid, __category);
> -+}
> -+#else
> -+#ifdef _INTL_REDIRECT_MACROS
> -+# define dcgettext libintl_dcgettext
> -+#endif
> -+extern char *dcgettext (const char *__domainname, const char *__msgid,
> -+                      int __category)
> -+       _INTL_ASM (libintl_dcgettext);
> -+#endif
> -+
> -+
> -+/* Similar to `gettext' but select the plural form corresponding to the
> -+   number N.  */
> -+#ifdef _INTL_REDIRECT_INLINE
> -+extern char *libintl_ngettext (const char *__msgid1, const char
> *__msgid2,
> -+                             unsigned long int __n);
> -+static inline char *ngettext (const char *__msgid1, const char *__msgid2,
> -+                            unsigned long int __n)
> -+{
> -+  return libintl_ngettext (__msgid1, __msgid2, __n);
> -+}
> -+#else
> -+#ifdef _INTL_REDIRECT_MACROS
> -+# define ngettext libintl_ngettext
> -+#endif
> -+extern char *ngettext (const char *__msgid1, const char *__msgid2,
> -+                     unsigned long int __n)
> -+       _INTL_ASM (libintl_ngettext);
> -+#endif
> -+
> -+/* Similar to `dgettext' but select the plural form corresponding to the
> -+   number N.  */
> -+#ifdef _INTL_REDIRECT_INLINE
> -+extern char *libintl_dngettext (const char *__domainname, const char
> *__msgid1,
> -+                              const char *__msgid2, unsigned long int
> __n);
> -+static inline char *dngettext (const char *__domainname, const char
> *__msgid1,
> -+                             const char *__msgid2, unsigned long int __n)
> -+{
> -+  return libintl_dngettext (__domainname, __msgid1, __msgid2, __n);
> -+}
> -+#else
> -+#ifdef _INTL_REDIRECT_MACROS
> -+# define dngettext libintl_dngettext
> -+#endif
> -+extern char *dngettext (const char *__domainname,
> -+                      const char *__msgid1, const char *__msgid2,
> -+                      unsigned long int __n)
> -+       _INTL_ASM (libintl_dngettext);
> -+#endif
> -+
> -+/* Similar to `dcgettext' but select the plural form corresponding to the
> -+   number N.  */
> -+#ifdef _INTL_REDIRECT_INLINE
> -+extern char *libintl_dcngettext (const char *__domainname,
> -+                               const char *__msgid1, const char
> *__msgid2,
> -+                               unsigned long int __n, int __category);
> -+static inline char *dcngettext (const char *__domainname,
> -+                              const char *__msgid1, const char *__msgid2,
> -+                              unsigned long int __n, int __category)
> -+{
> -+  return libintl_dcngettext (__domainname, __msgid1, __msgid2, __n,
> __category);
> -+}
> -+#else
> -+#ifdef _INTL_REDIRECT_MACROS
> -+# define dcngettext libintl_dcngettext
> -+#endif
> -+extern char *dcngettext (const char *__domainname,
> -+                       const char *__msgid1, const char *__msgid2,
> -+                       unsigned long int __n, int __category)
> -+       _INTL_ASM (libintl_dcngettext);
> -+#endif
> -+
> -+
> -+/* Set the current default message catalog to DOMAINNAME.
> -+   If DOMAINNAME is null, return the current default.
> -+   If DOMAINNAME is "", reset to the default of "messages".  */
> -+#ifdef _INTL_REDIRECT_INLINE
> -+extern char *libintl_textdomain (const char *__domainname);
> -+static inline char *textdomain (const char *__domainname)
> -+{
> -+  return libintl_textdomain (__domainname);
> -+}
> -+#else
> -+#ifdef _INTL_REDIRECT_MACROS
> -+# define textdomain libintl_textdomain
> -+#endif
> -+extern char *textdomain (const char *__domainname)
> -+       _INTL_ASM (libintl_textdomain);
> -+#endif
> -+
> -+/* Specify that the DOMAINNAME message catalog will be found
> -+   in DIRNAME rather than in the system locale data base.  */
> -+#ifdef _INTL_REDIRECT_INLINE
> -+extern char *libintl_bindtextdomain (const char *__domainname,
> -+                                   const char *__dirname);
> -+static inline char *bindtextdomain (const char *__domainname,
> -+                                  const char *__dirname)
> -+{
> -+  return libintl_bindtextdomain (__domainname, __dirname);
> -+}
> -+#else
> -+#ifdef _INTL_REDIRECT_MACROS
> -+# define bindtextdomain libintl_bindtextdomain
> -+#endif
> -+extern char *bindtextdomain (const char *__domainname, const char
> *__dirname)
> -+       _INTL_ASM (libintl_bindtextdomain);
> -+#endif
> -+
> -+/* Specify the character encoding in which the messages from the
> -+   DOMAINNAME message catalog will be returned.  */
> -+#ifdef _INTL_REDIRECT_INLINE
> -+extern char *libintl_bind_textdomain_codeset (const char *__domainname,
> -+                                            const char *__codeset);
> -+static inline char *bind_textdomain_codeset (const char *__domainname,
> -+                                           const char *__codeset)
> -+{
> -+  return libintl_bind_textdomain_codeset (__domainname, __codeset);
> -+}
> -+#else
> -+#ifdef _INTL_REDIRECT_MACROS
> -+# define bind_textdomain_codeset libintl_bind_textdomain_codeset
> -+#endif
> -+extern char *bind_textdomain_codeset (const char *__domainname,
> -+                                    const char *__codeset)
> -+       _INTL_ASM (libintl_bind_textdomain_codeset);
> -+#endif
> -+
> -+
> -+/* Support for format strings with positions in *printf(), following the
> -+   POSIX/XSI specification.
> -+   Note: These replacements for the *printf() functions are visible only
> -+   in source files that #include <libintl.h> or #include "gettext.h".
> -+   Packages that use *printf() in source files that don't refer to _()
> -+   or gettext() but for which the format string could be the return value
> -+   of _() or gettext() need to add this #include.  Oh well.  */
> -+
> -+#if !@HAVE_POSIX_PRINTF@
> -+
> -+#include <stdio.h>
> -+#include <stddef.h>
> -+
> -+/* Get va_list.  */
> -+#if __STDC__ || defined __cplusplus || defined _MSC_VER
> -+# include <stdarg.h>
> -+#else
> -+# include <varargs.h>
> -+#endif
> -+
> -+#undef fprintf
> -+#define fprintf libintl_fprintf
> -+extern int fprintf (FILE *, const char *, ...);
> -+#undef vfprintf
> -+#define vfprintf libintl_vfprintf
> -+extern int vfprintf (FILE *, const char *, va_list);
> -+
> -+#undef printf
> -+#define printf libintl_printf
> -+extern int printf (const char *, ...);
> -+#undef vprintf
> -+#define vprintf libintl_vprintf
> -+extern int vprintf (const char *, va_list);
> -+
> -+#undef sprintf
> -+#define sprintf libintl_sprintf
> -+extern int sprintf (char *, const char *, ...);
> -+#undef vsprintf
> -+#define vsprintf libintl_vsprintf
> -+extern int vsprintf (char *, const char *, va_list);
> -+
> -+#if @HAVE_SNPRINTF@
> -+
> -+#undef snprintf
> -+#define snprintf libintl_snprintf
> -+extern int snprintf (char *, size_t, const char *, ...);
> -+#undef vsnprintf
> -+#define vsnprintf libintl_vsnprintf
> -+extern int vsnprintf (char *, size_t, const char *, va_list);
> -+
> -+#endif
> -+
> -+#if @HAVE_ASPRINTF@
> -+
> -+#undef asprintf
> -+#define asprintf libintl_asprintf
> -+extern int asprintf (char **, const char *, ...);
> -+#undef vasprintf
> -+#define vasprintf libintl_vasprintf
> -+extern int vasprintf (char **, const char *, va_list);
> -+
> -+#endif
> -+
> -+#if @HAVE_WPRINTF@
> -+
> -+#undef fwprintf
> -+#define fwprintf libintl_fwprintf
> -+extern int fwprintf (FILE *, const wchar_t *, ...);
> -+#undef vfwprintf
> -+#define vfwprintf libintl_vfwprintf
> -+extern int vfwprintf (FILE *, const wchar_t *, va_list);
> -+
> -+#undef wprintf
> -+#define wprintf libintl_wprintf
> -+extern int wprintf (const wchar_t *, ...);
> -+#undef vwprintf
> -+#define vwprintf libintl_vwprintf
> -+extern int vwprintf (const wchar_t *, va_list);
> -+
> -+#undef swprintf
> -+#define swprintf libintl_swprintf
> -+extern int swprintf (wchar_t *, size_t, const wchar_t *, ...);
> -+#undef vswprintf
> -+#define vswprintf libintl_vswprintf
> -+extern int vswprintf (wchar_t *, size_t, const wchar_t *, va_list);
> -+
> -+#endif
> -+
> -+#endif
> -+
> -+
> -+/* Support for relocatable packages.  */
> -+
> -+/* Sets the original and the current installation prefix of the package.
> -+   Relocation simply replaces a pathname starting with the original
> prefix
> -+   by the corresponding pathname with the current prefix instead.  Both
> -+   prefixes should be directory names without trailing slash (i.e. use ""
> -+   instead of "/").  */
> -+#define libintl_set_relocation_prefix libintl_set_relocation_prefix
> -+extern void
> -+       libintl_set_relocation_prefix (const char *orig_prefix,
> -+                                    const char *curr_prefix);
> -+
> -+
> -+#ifdef __cplusplus
> -+}
> -+#endif
> -+
> -+#endif /* libintl.h */
> ---- lrzsz-0.12.20.safe/intl/linux-msg.sed      1998-04-26
> 09:20:52.000000000 -0400
> -+++ lrzsz-0.12.20/intl/linux-msg.sed   1969-12-31 19:00:00.000000000 -0500
> -@@ -1,100 +0,0 @@
> --# po2msg.sed - Convert Uniforum style .po file to Linux style .msg file
> --# Copyright (C) 1995 Free Software Foundation, Inc.
> --# Ulrich Drepper <drepper at gnu.ai.mit.edu>, 1995.
> --#
> --# This 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, write to the Free Software
> --# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
> USA.
> --#
> --#
> --# The first directive in the .msg should be the definition of the
> --# message set number.  We use always set number 1.
> --#
> --1 {
> --  i\
> --$set 1 # Automatically created by po2msg.sed
> --  h
> --  s/.*/0/
> --  x
> --}
> --#
> --# Mitch's old catalog format does not allow comments.
> --#
> --# We copy the original message as a comment into the .msg file.
> --#
> --/^msgid/ {
> --  s/msgid[    ]*"//
> --#
> --# This does not work now with the new format.
> --# /"$/! {
> --#   s/\\$//
> --#   s/$/ ... (more lines following)"/
> --# }
> --  x
> --# The following nice solution is by
> --# Bruno <Haible at ma2s2.mathematik.uni-karlsruhe.de>
> --  td
> --# Increment a decimal number in pattern space.
> --# First hide trailing `9' digits.
> --  :d
> --  s/9\(_*\)$/_\1/
> --  td
> --# Assure at least one digit is available.
> --  s/^\(_*\)$/0\1/
> --# Increment the last digit.
> --  s/8\(_*\)$/9\1/
> --  s/7\(_*\)$/8\1/
> --  s/6\(_*\)$/7\1/
> --  s/5\(_*\)$/6\1/
> --  s/4\(_*\)$/5\1/
> --  s/3\(_*\)$/4\1/
> --  s/2\(_*\)$/3\1/
> --  s/1\(_*\)$/2\1/
> --  s/0\(_*\)$/1\1/
> --# Convert the hidden `9' digits to `0's.
> --  s/_/0/g
> --  x
> --  G
> --  s/\(.*\)"\n\([0-9]*\)/$ #\2 Original Message:(\1)/p
> --}
> --#
> --# The .msg file contains, other then the .po file, only the translations
> --# but each given a unique ID.  Starting from 1 and incrementing by 1 for
> --# each message we assign them to the messages.
> --# It is important that the .po file used to generate the cat-id-tbl.c
> file
> --# (with po-to-tbl) is the same as the one used here.  (At least the order
> --# of declarations must not be changed.)
> --#
> --/^msgstr/ {
> --  s/msgstr[   ]*"\(.*\)"/# \1/
> --# Clear substitution flag.
> --  tb
> --# Append the next line.
> --  :b
> --  N
> --# Look whether second part is continuation line.
> --  s/\(.*\n\)"\(.*\)"/\1\2/
> --# Yes, then branch.
> --  ta
> --  P
> --  D
> --# Note that D includes a jump to the start!!
> --# We found a continuation line.  But before printing insert '\'.
> --  :a
> --  s/\(.*\)\(\n.*\)/\1\\\2/
> --  P
> --# We cannot use D here.
> --  s/.*\n\(.*\)/\1/
> --  tb
> --}
> --d
> ---- lrzsz-0.12.20.safe/intl/loadinfo.h 1998-04-26 09:20:52.000000000 -0400
> -+++ lrzsz-0.12.20/intl/loadinfo.h      2004-09-12 14:40:34.468730912 -0400
> -@@ -1,9 +1,54 @@
> --#ifndef PARAMS
> --# if __STDC__
> --#  define PARAMS(args) args
> --# else
> --#  define PARAMS(args) ()
> --# endif
> -+/* Copyright (C) 1996-1999, 2000-2003 Free Software Foundation, Inc.
> -+   This file is part of the GNU C Library.
> -+   Contributed by Ulrich Drepper <drepper at cygnus.com>, 1996.
> -+
> -+   This program is free software; you can redistribute it and/or modify
> it
> -+   under the terms of the GNU Library General Public License as published
> -+   by the Free Software Foundation; either version 2, 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
> -+   Library General Public License for more details.
> -+
> -+   You should have received a copy of the GNU Library 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.  */
> -+
> -+#ifndef _LOADINFO_H
> -+#define _LOADINFO_H   1
> -+
> -+/* Declarations of locale dependent catalog lookup functions.
> -+   Implemented in
> -+
> -+     localealias.c    Possibly replace a locale name by another.
> -+     explodename.c    Split a locale name into its various fields.
> -+     l10nflist.c      Generate a list of filenames of possible message
> catalogs.
> -+     finddomain.c     Find and open the relevant message catalogs.
> -+
> -+   The main function _nl_find_domain() in finddomain.c is declared
> -+   in gettextP.h.
> -+ */
> -+
> -+#ifndef internal_function
> -+# define internal_function
> -+#endif
> -+
> -+/* Tell the compiler when a conditional or integer expression is
> -+   almost always true or almost always false.  */
> -+#ifndef HAVE_BUILTIN_EXPECT
> -+# define __builtin_expect(expr, val) (expr)
> -+#endif
> -+
> -+/* Separator in PATH like lists of pathnames.  */
> -+#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined
> __DJGPP__
> -+  /* Win32, OS/2, DOS */
> -+# define PATH_SEPARATOR ';'
> -+#else
> -+  /* Unix */
> -+# define PATH_SEPARATOR ':'
> - #endif
> -
> - /* Encoding of locale name parts.  */
> -@@ -32,27 +77,69 @@
> - };
> -
> -
> --extern const char *_nl_normalize_codeset PARAMS ((const char *codeset,
> --                                                size_t name_len));
> -+/* Normalize codeset name.  There is no standard for the codeset
> -+   names.  Normalization allows the user to use any of the common
> -+   names.  The return value is dynamically allocated and has to be
> -+   freed by the caller.  */
> -+extern const char *_nl_normalize_codeset (const char *codeset,
> -+                                        size_t name_len);
> -
> -+/* Lookup a locale dependent file.
> -+   *L10NFILE_LIST denotes a pool of lookup results of locale dependent
> -+   files of the same kind, sorted in decreasing order of ->filename.
> -+   DIRLIST and DIRLIST_LEN are an argz list of directories in which to
> -+   look, containing at least one directory (i.e. DIRLIST_LEN > 0).
> -+   MASK, LANGUAGE, TERRITORY, CODESET, NORMALIZED_CODESET, MODIFIER,
> -+   SPECIAL, SPONSOR, REVISION are the pieces of the locale name, as
> -+   produced by _nl_explode_name().  FILENAME is the filename suffix.
> -+   The return value is the lookup result, either found in *L10NFILE_LIST,
> -+   or - if DO_ALLOCATE is nonzero - freshly allocated, or possibly NULL.
> -+   If the return value is non-NULL, it is added to *L10NFILE_LIST, and
> -+   its ->next field denotes the chaining inside *L10NFILE_LIST, and
> -+   furthermore its ->successor[] field contains a list of other lookup
> -+   results from which this lookup result inherits.  */
> - extern struct loaded_l10nfile *
> --_nl_make_l10nflist PARAMS ((struct loaded_l10nfile **l10nfile_list,
> --                          const char *dirlist, size_t dirlist_len, int
> mask,
> --                          const char *language, const char *territory,
> --                          const char *codeset,
> --                          const char *normalized_codeset,
> --                          const char *modifier, const char *special,
> --                          const char *sponsor, const char *revision,
> --                          const char *filename, int do_allocate));
> -+_nl_make_l10nflist (struct loaded_l10nfile **l10nfile_list,
> -+                  const char *dirlist, size_t dirlist_len, int mask,
> -+                  const char *language, const char *territory,
> -+                  const char *codeset, const char *normalized_codeset,
> -+                  const char *modifier, const char *special,
> -+                  const char *sponsor, const char *revision,
> -+                  const char *filename, int do_allocate);
> -
> -+/* Lookup the real locale name for a locale alias NAME, or NULL if
> -+   NAME is not a locale alias (but possibly a real locale name).
> -+   The return value is statically allocated and must not be freed.  */
> -+extern const char *_nl_expand_alias (const char *name);
> -
> --extern const char *_nl_expand_alias PARAMS ((const char *name));
> -+/* Split a locale name NAME into its pieces: language, modifier,
> -+   territory, codeset, special, sponsor, revision.
> -+   NAME gets destructively modified: NUL bytes are inserted here and
> -+   there.  *LANGUAGE gets assigned NAME.  Each of *MODIFIER, *TERRITORY,
> -+   *CODESET, *SPECIAL, *SPONSOR, *REVISION gets assigned either a
> -+   pointer into the old NAME string, or NULL.  *NORMALIZED_CODESET
> -+   gets assigned the expanded *CODESET, if it is different from *CODESET;
> -+   this one is dynamically allocated and has to be freed by the caller.
> -+   The return value is a bitmask, where each bit corresponds to one
> -+   filled-in value:
> -+     XPG_MODIFIER, CEN_AUDIENCE  for *MODIFIER,
> -+     TERRITORY                   for *TERRITORY,
> -+     XPG_CODESET                 for *CODESET,
> -+     XPG_NORM_CODESET            for *NORMALIZED_CODESET,
> -+     CEN_SPECIAL                 for *SPECIAL,
> -+     CEN_SPONSOR                 for *SPONSOR,
> -+     CEN_REVISION                for *REVISION.
> -+ */
> -+extern int _nl_explode_name (char *name, const char **language,
> -+                           const char **modifier, const char **territory,
> -+                           const char **codeset,
> -+                           const char **normalized_codeset,
> -+                           const char **special, const char **sponsor,
> -+                           const char **revision);
> -
> --extern int _nl_explode_name PARAMS ((char *name, const char **language,
> --                                   const char **modifier,
> --                                   const char **territory,
> --                                   const char **codeset,
> --                                   const char **normalized_codeset,
> --                                   const char **special,
> --                                   const char **sponsor,
> --                                   const char **revision));
> -+/* Split a locale name NAME into a leading language part and all the
> -+   rest.  Return a pointer to the first character after the language,
> -+   i.e. to the first byte of the rest.  */
> -+extern char *_nl_find_language (const char *name);
> -+
> -+#endif        /* loadinfo.h */
> ---- lrzsz-0.12.20.safe/intl/loadmsgcat.c       1998-04-26
> 09:22:37.000000000 -0400
> -+++ lrzsz-0.12.20/intl/loadmsgcat.c    2004-09-12 14:40:34.473730152 -0400
> -@@ -1,42 +1,455 @@
> --/* Load needed message catalogs
> --   Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
> -+/* Load needed message catalogs.
> -+   Copyright (C) 1995-1999, 2000-2004 Free Software Foundation, Inc.
> -
> --   This 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)
> -+   This program is free software; you can redistribute it and/or modify
> it
> -+   under the terms of the GNU Library General Public License as published
> -+   by the Free Software Foundation; either version 2, 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.
> -+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> -+   Library General Public License for more details.
> -
> --   You should have received a copy of the GNU 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.  */
> -+   You should have received a copy of the GNU Library 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.  */
> -+
> -+/* Tell glibc's <string.h> to provide a prototype for mempcpy().
> -+   This must come before <config.h> because <config.h> may include
> -+   <features.h>, and once <features.h> has been included, it's too
> late.  */
> -+#ifndef _GNU_SOURCE
> -+# define _GNU_SOURCE    1
> -+#endif
> -
> - #ifdef HAVE_CONFIG_H
> - # include <config.h>
> - #endif
> -
> -+#include <ctype.h>
> -+#include <errno.h>
> - #include <fcntl.h>
> - #include <sys/types.h>
> - #include <sys/stat.h>
> -
> --#if defined STDC_HEADERS || defined _LIBC
> --# include <stdlib.h>
> -+#ifdef __GNUC__
> -+# undef  alloca
> -+# define alloca __builtin_alloca
> -+# define HAVE_ALLOCA 1
> -+#else
> -+# ifdef _MSC_VER
> -+#  include <malloc.h>
> -+#  define alloca _alloca
> -+# else
> -+#  if defined HAVE_ALLOCA_H || defined _LIBC
> -+#   include <alloca.h>
> -+#  else
> -+#   ifdef _AIX
> -+ #pragma alloca
> -+#   else
> -+#    ifndef alloca
> -+char *alloca ();
> -+#    endif
> -+#   endif
> -+#  endif
> -+# endif
> - #endif
> -
> -+#include <stdlib.h>
> -+#include <string.h>
> -+
> - #if defined HAVE_UNISTD_H || defined _LIBC
> - # include <unistd.h>
> - #endif
> -
> --#if (defined HAVE_MMAP && defined HAVE_MUNMAP) || defined _LIBC
> -+#ifdef _LIBC
> -+# include <langinfo.h>
> -+# include <locale.h>
> -+#endif
> -+
> -+#if (defined HAVE_MMAP && defined HAVE_MUNMAP && !defined DISALLOW_MMAP)
> \
> -+    || (defined _LIBC && defined _POSIX_MAPPED_FILES)
> - # include <sys/mman.h>
> -+# undef HAVE_MMAP
> -+# define HAVE_MMAP    1
> -+#else
> -+# undef HAVE_MMAP
> - #endif
> -
> --#include "gettext.h"
> -+#if defined HAVE_STDINT_H_WITH_UINTMAX || defined _LIBC
> -+# include <stdint.h>
> -+#endif
> -+#if defined HAVE_INTTYPES_H || defined _LIBC
> -+# include <inttypes.h>
> -+#endif
> -+
> -+#include "gmo.h"
> - #include "gettextP.h"
> -+#include "hash-string.h"
> -+#include "plural-exp.h"
> -+
> -+#ifdef _LIBC
> -+# include "../locale/localeinfo.h"
> -+#endif
> -+
> -+/* Provide fallback values for macros that ought to be defined in
> <inttypes.h>.
> -+   Note that our fallback values need not be literal strings, because we
> don't
> -+   use them with preprocessor string concatenation.  */
> -+#if !defined PRId8 || PRI_MACROS_BROKEN
> -+# undef PRId8
> -+# define PRId8 "d"
> -+#endif
> -+#if !defined PRIi8 || PRI_MACROS_BROKEN
> -+# undef PRIi8
> -+# define PRIi8 "i"
> -+#endif
> -+#if !defined PRIo8 || PRI_MACROS_BROKEN
> -+# undef PRIo8
> -+# define PRIo8 "o"
> -+#endif
> -+#if !defined PRIu8 || PRI_MACROS_BROKEN
> -+# undef PRIu8
> -+# define PRIu8 "u"
> -+#endif
> -+#if !defined PRIx8 || PRI_MACROS_BROKEN
> -+# undef PRIx8
> -+# define PRIx8 "x"
> -+#endif
> -+#if !defined PRIX8 || PRI_MACROS_BROKEN
> -+# undef PRIX8
> -+# define PRIX8 "X"
> -+#endif
> -+#if !defined PRId16 || PRI_MACROS_BROKEN
> -+# undef PRId16
> -+# define PRId16 "d"
> -+#endif
> -+#if !defined PRIi16 || PRI_MACROS_BROKEN
> -+# undef PRIi16
> -+# define PRIi16 "i"
> -+#endif
> -+#if !defined PRIo16 || PRI_MACROS_BROKEN
> -+# undef PRIo16
> -+# define PRIo16 "o"
> -+#endif
> -+#if !defined PRIu16 || PRI_MACROS_BROKEN
> -+# undef PRIu16
> -+# define PRIu16 "u"
> -+#endif
> -+#if !defined PRIx16 || PRI_MACROS_BROKEN
> -+# undef PRIx16
> -+# define PRIx16 "x"
> -+#endif
> -+#if !defined PRIX16 || PRI_MACROS_BROKEN
> -+# undef PRIX16
> -+# define PRIX16 "X"
> -+#endif
> -+#if !defined PRId32 || PRI_MACROS_BROKEN
> -+# undef PRId32
> -+# define PRId32 "d"
> -+#endif
> -+#if !defined PRIi32 || PRI_MACROS_BROKEN
> -+# undef PRIi32
> -+# define PRIi32 "i"
> -+#endif
> -+#if !defined PRIo32 || PRI_MACROS_BROKEN
> -+# undef PRIo32
> -+# define PRIo32 "o"
> -+#endif
> -+#if !defined PRIu32 || PRI_MACROS_BROKEN
> -+# undef PRIu32
> -+# define PRIu32 "u"
> -+#endif
> -+#if !defined PRIx32 || PRI_MACROS_BROKEN
> -+# undef PRIx32
> -+# define PRIx32 "x"
> -+#endif
> -+#if !defined PRIX32 || PRI_MACROS_BROKEN
> -+# undef PRIX32
> -+# define PRIX32 "X"
> -+#endif
> -+#if !defined PRId64 || PRI_MACROS_BROKEN
> -+# undef PRId64
> -+# define PRId64 (sizeof (long) == 8 ? "ld" : "lld")
> -+#endif
> -+#if !defined PRIi64 || PRI_MACROS_BROKEN
> -+# undef PRIi64
> -+# define PRIi64 (sizeof (long) == 8 ? "li" : "lli")
> -+#endif
> -+#if !defined PRIo64 || PRI_MACROS_BROKEN
> -+# undef PRIo64
> -+# define PRIo64 (sizeof (long) == 8 ? "lo" : "llo")
> -+#endif
> -+#if !defined PRIu64 || PRI_MACROS_BROKEN
> -+# undef PRIu64
> -+# define PRIu64 (sizeof (long) == 8 ? "lu" : "llu")
> -+#endif
> -+#if !defined PRIx64 || PRI_MACROS_BROKEN
> -+# undef PRIx64
> -+# define PRIx64 (sizeof (long) == 8 ? "lx" : "llx")
> -+#endif
> -+#if !defined PRIX64 || PRI_MACROS_BROKEN
> -+# undef PRIX64
> -+# define PRIX64 (sizeof (long) == 8 ? "lX" : "llX")
> -+#endif
> -+#if !defined PRIdLEAST8 || PRI_MACROS_BROKEN
> -+# undef PRIdLEAST8
> -+# define PRIdLEAST8 "d"
> -+#endif
> -+#if !defined PRIiLEAST8 || PRI_MACROS_BROKEN
> -+# undef PRIiLEAST8
> -+# define PRIiLEAST8 "i"
> -+#endif
> -+#if !defined PRIoLEAST8 || PRI_MACROS_BROKEN
> -+# undef PRIoLEAST8
> -+# define PRIoLEAST8 "o"
> -+#endif
> -+#if !defined PRIuLEAST8 || PRI_MACROS_BROKEN
> -+# undef PRIuLEAST8
> -+# define PRIuLEAST8 "u"
> -+#endif
> -+#if !defined PRIxLEAST8 || PRI_MACROS_BROKEN
> -+# undef PRIxLEAST8
> -+# define PRIxLEAST8 "x"
> -+#endif
> -+#if !defined PRIXLEAST8 || PRI_MACROS_BROKEN
> -+# undef PRIXLEAST8
> -+# define PRIXLEAST8 "X"
> -+#endif
> -+#if !defined PRIdLEAST16 || PRI_MACROS_BROKEN
> -+# undef PRIdLEAST16
> -+# define PRIdLEAST16 "d"
> -+#endif
> -+#if !defined PRIiLEAST16 || PRI_MACROS_BROKEN
> -+# undef PRIiLEAST16
> -+# define PRIiLEAST16 "i"
> -+#endif
> -+#if !defined PRIoLEAST16 || PRI_MACROS_BROKEN
> -+# undef PRIoLEAST16
> -+# define PRIoLEAST16 "o"
> -+#endif
> -+#if !defined PRIuLEAST16 || PRI_MACROS_BROKEN
> -+# undef PRIuLEAST16
> -+# define PRIuLEAST16 "u"
> -+#endif
> -+#if !defined PRIxLEAST16 || PRI_MACROS_BROKEN
> -+# undef PRIxLEAST16
> -+# define PRIxLEAST16 "x"
> -+#endif
> -+#if !defined PRIXLEAST16 || PRI_MACROS_BROKEN
> -+# undef PRIXLEAST16
> -+# define PRIXLEAST16 "X"
> -+#endif
> -+#if !defined PRIdLEAST32 || PRI_MACROS_BROKEN
> -+# undef PRIdLEAST32
> -+# define PRIdLEAST32 "d"
> -+#endif
> -+#if !defined PRIiLEAST32 || PRI_MACROS_BROKEN
> -+# undef PRIiLEAST32
> -+# define PRIiLEAST32 "i"
> -+#endif
> -+#if !defined PRIoLEAST32 || PRI_MACROS_BROKEN
> -+# undef PRIoLEAST32
> -+# define PRIoLEAST32 "o"
> -+#endif
> -+#if !defined PRIuLEAST32 || PRI_MACROS_BROKEN
> -+# undef PRIuLEAST32
> -+# define PRIuLEAST32 "u"
> -+#endif
> -+#if !defined PRIxLEAST32 || PRI_MACROS_BROKEN
> -+# undef PRIxLEAST32
> -+# define PRIxLEAST32 "x"
> -+#endif
> -+#if !defined PRIXLEAST32 || PRI_MACROS_BROKEN
> -+# undef PRIXLEAST32
> -+# define PRIXLEAST32 "X"
> -+#endif
> -+#if !defined PRIdLEAST64 || PRI_MACROS_BROKEN
> -+# undef PRIdLEAST64
> -+# define PRIdLEAST64 PRId64
> -+#endif
> -+#if !defined PRIiLEAST64 || PRI_MACROS_BROKEN
> -+# undef PRIiLEAST64
> -+# define PRIiLEAST64 PRIi64
> -+#endif
> -+#if !defined PRIoLEAST64 || PRI_MACROS_BROKEN
> -+# undef PRIoLEAST64
> -+# define PRIoLEAST64 PRIo64
> -+#endif
> -+#if !defined PRIuLEAST64 || PRI_MACROS_BROKEN
> -+# undef PRIuLEAST64
> -+# define PRIuLEAST64 PRIu64
> -+#endif
> -+#if !defined PRIxLEAST64 || PRI_MACROS_BROKEN
> -+# undef PRIxLEAST64
> -+# define PRIxLEAST64 PRIx64
> -+#endif
> -+#if !defined PRIXLEAST64 || PRI_MACROS_BROKEN
> -+# undef PRIXLEAST64
> -+# define PRIXLEAST64 PRIX64
> -+#endif
> -+#if !defined PRIdFAST8 || PRI_MACROS_BROKEN
> -+# undef PRIdFAST8
> -+# define PRIdFAST8 "d"
> -+#endif
> -+#if !defined PRIiFAST8 || PRI_MACROS_BROKEN
> -+# undef PRIiFAST8
> -+# define PRIiFAST8 "i"
> -+#endif
> -+#if !defined PRIoFAST8 || PRI_MACROS_BROKEN
> -+# undef PRIoFAST8
> -+# define PRIoFAST8 "o"
> -+#endif
> -+#if !defined PRIuFAST8 || PRI_MACROS_BROKEN
> -+# undef PRIuFAST8
> -+# define PRIuFAST8 "u"
> -+#endif
> -+#if !defined PRIxFAST8 || PRI_MACROS_BROKEN
> -+# undef PRIxFAST8
> -+# define PRIxFAST8 "x"
> -+#endif
> -+#if !defined PRIXFAST8 || PRI_MACROS_BROKEN
> -+# undef PRIXFAST8
> -+# define PRIXFAST8 "X"
> -+#endif
> -+#if !defined PRIdFAST16 || PRI_MACROS_BROKEN
> -+# undef PRIdFAST16
> -+# define PRIdFAST16 "d"
> -+#endif
> -+#if !defined PRIiFAST16 || PRI_MACROS_BROKEN
> -+# undef PRIiFAST16
> -+# define PRIiFAST16 "i"
> -+#endif
> -+#if !defined PRIoFAST16 || PRI_MACROS_BROKEN
> -+# undef PRIoFAST16
> -+# define PRIoFAST16 "o"
> -+#endif
> -+#if !defined PRIuFAST16 || PRI_MACROS_BROKEN
> -+# undef PRIuFAST16
> -+# define PRIuFAST16 "u"
> -+#endif
> -+#if !defined PRIxFAST16 || PRI_MACROS_BROKEN
> -+# undef PRIxFAST16
> -+# define PRIxFAST16 "x"
> -+#endif
> -+#if !defined PRIXFAST16 || PRI_MACROS_BROKEN
> -+# undef PRIXFAST16
> -+# define PRIXFAST16 "X"
> -+#endif
> -+#if !defined PRIdFAST32 || PRI_MACROS_BROKEN
> -+# undef PRIdFAST32
> -+# define PRIdFAST32 "d"
> -+#endif
> -+#if !defined PRIiFAST32 || PRI_MACROS_BROKEN
> -+# undef PRIiFAST32
> -+# define PRIiFAST32 "i"
> -+#endif
> -+#if !defined PRIoFAST32 || PRI_MACROS_BROKEN
> -+# undef PRIoFAST32
> -+# define PRIoFAST32 "o"
> -+#endif
> -+#if !defined PRIuFAST32 || PRI_MACROS_BROKEN
> -+# undef PRIuFAST32
> -+# define PRIuFAST32 "u"
> -+#endif
> -+#if !defined PRIxFAST32 || PRI_MACROS_BROKEN
> -+# undef PRIxFAST32
> -+# define PRIxFAST32 "x"
> -+#endif
> -+#if !defined PRIXFAST32 || PRI_MACROS_BROKEN
> -+# undef PRIXFAST32
> -+# define PRIXFAST32 "X"
> -+#endif
> -+#if !defined PRIdFAST64 || PRI_MACROS_BROKEN
> -+# undef PRIdFAST64
> -+# define PRIdFAST64 PRId64
> -+#endif
> -+#if !defined PRIiFAST64 || PRI_MACROS_BROKEN
> -+# undef PRIiFAST64
> -+# define PRIiFAST64 PRIi64
> -+#endif
> -+#if !defined PRIoFAST64 || PRI_MACROS_BROKEN
> -+# undef PRIoFAST64
> -+# define PRIoFAST64 PRIo64
> -+#endif
> -+#if !defined PRIuFAST64 || PRI_MACROS_BROKEN
> -+# undef PRIuFAST64
> -+# define PRIuFAST64 PRIu64
> -+#endif
> -+#if !defined PRIxFAST64 || PRI_MACROS_BROKEN
> -+# undef PRIxFAST64
> -+# define PRIxFAST64 PRIx64
> -+#endif
> -+#if !defined PRIXFAST64 || PRI_MACROS_BROKEN
> -+# undef PRIXFAST64
> -+# define PRIXFAST64 PRIX64
> -+#endif
> -+#if !defined PRIdMAX || PRI_MACROS_BROKEN
> -+# undef PRIdMAX
> -+# define PRIdMAX (sizeof (uintmax_t) == sizeof (long) ? "ld" : "lld")
> -+#endif
> -+#if !defined PRIiMAX || PRI_MACROS_BROKEN
> -+# undef PRIiMAX
> -+# define PRIiMAX (sizeof (uintmax_t) == sizeof (long) ? "li" : "lli")
> -+#endif
> -+#if !defined PRIoMAX || PRI_MACROS_BROKEN
> -+# undef PRIoMAX
> -+# define PRIoMAX (sizeof (uintmax_t) == sizeof (long) ? "lo" : "llo")
> -+#endif
> -+#if !defined PRIuMAX || PRI_MACROS_BROKEN
> -+# undef PRIuMAX
> -+# define PRIuMAX (sizeof (uintmax_t) == sizeof (long) ? "lu" : "llu")
> -+#endif
> -+#if !defined PRIxMAX || PRI_MACROS_BROKEN
> -+# undef PRIxMAX
> -+# define PRIxMAX (sizeof (uintmax_t) == sizeof (long) ? "lx" : "llx")
> -+#endif
> -+#if !defined PRIXMAX || PRI_MACROS_BROKEN
> -+# undef PRIXMAX
> -+# define PRIXMAX (sizeof (uintmax_t) == sizeof (long) ? "lX" : "llX")
> -+#endif
> -+#if !defined PRIdPTR || PRI_MACROS_BROKEN
> -+# undef PRIdPTR
> -+# define PRIdPTR \
> -+  (sizeof (void *) == sizeof (long) ? "ld" : \
> -+   sizeof (void *) == sizeof (int) ? "d" : \
> -+   "lld")
> -+#endif
> -+#if !defined PRIiPTR || PRI_MACROS_BROKEN
> -+# undef PRIiPTR
> -+# define PRIiPTR \
> -+  (sizeof (void *) == sizeof (long) ? "li" : \
> -+   sizeof (void *) == sizeof (int) ? "i" : \
> -+   "lli")
> -+#endif
> -+#if !defined PRIoPTR || PRI_MACROS_BROKEN
> -+# undef PRIoPTR
> -+# define PRIoPTR \
> -+  (sizeof (void *) == sizeof (long) ? "lo" : \
> -+   sizeof (void *) == sizeof (int) ? "o" : \
> -+   "llo")
> -+#endif
> -+#if !defined PRIuPTR || PRI_MACROS_BROKEN
> -+# undef PRIuPTR
> -+# define PRIuPTR \
> -+  (sizeof (void *) == sizeof (long) ? "lu" : \
> -+   sizeof (void *) == sizeof (int) ? "u" : \
> -+   "llu")
> -+#endif
> -+#if !defined PRIxPTR || PRI_MACROS_BROKEN
> -+# undef PRIxPTR
> -+# define PRIxPTR \
> -+  (sizeof (void *) == sizeof (long) ? "lx" : \
> -+   sizeof (void *) == sizeof (int) ? "x" : \
> -+   "llx")
> -+#endif
> -+#if !defined PRIXPTR || PRI_MACROS_BROKEN
> -+# undef PRIXPTR
> -+# define PRIXPTR \
> -+  (sizeof (void *) == sizeof (long) ? "lX" : \
> -+   sizeof (void *) == sizeof (int) ? "X" : \
> -+   "llX")
> -+#endif
> -
> - /* @@ end of prolog @@ */
> -
> -@@ -44,7 +457,6 @@
> - /* Rename the non ISO C functions.  This is required by the standard
> -    because some ISO C functions will require linking with this object
> -    file and the name space must not be polluted.  */
> --# define fstat  __fstat
> - # define open   __open
> - # define close  __close
> - # define read   __read
> -@@ -52,30 +464,471 @@
> - # define munmap __munmap
> - #endif
> -
> -+/* For those losing systems which don't have `alloca' we have to add
> -+   some additional code emulating it.  */
> -+#ifdef HAVE_ALLOCA
> -+# define freea(p) /* nothing */
> -+#else
> -+# define alloca(n) malloc (n)
> -+# define freea(p) free (p)
> -+#endif
> -+
> -+/* For systems that distinguish between text and binary I/O.
> -+   O_BINARY is usually declared in <fcntl.h>. */
> -+#if !defined O_BINARY && defined _O_BINARY
> -+  /* For MSC-compatible compilers.  */
> -+# define O_BINARY _O_BINARY
> -+# define O_TEXT _O_TEXT
> -+#endif
> -+#ifdef __BEOS__
> -+  /* BeOS 5 has O_BINARY and O_TEXT, but they have no effect.  */
> -+# undef O_BINARY
> -+# undef O_TEXT
> -+#endif
> -+/* On reasonable systems, binary I/O is the default.  */
> -+#ifndef O_BINARY
> -+# define O_BINARY 0
> -+#endif
> -+
> -+
> - /* We need a sign, whether a new catalog was loaded, which can be
> associated
> -    with all translations.  This is important if the translations are
> -    cached by one of GCC's features.  */
> --int _nl_msg_cat_cntr = 0;
> -+int _nl_msg_cat_cntr;
> -
> -
> -+/* Expand a system dependent string segment.  Return NULL if
> unsupported.  */
> -+static const char *
> -+get_sysdep_segment_value (const char *name)
> -+{
> -+  /* Test for an ISO C 99 section 7.8.1 format string directive.
> -+     Syntax:
> -+     P R I { d | i | o | u | x | X }
> -+     { { | LEAST | FAST } { 8 | 16 | 32 | 64 } | MAX | PTR }  */
> -+  /* We don't use a table of 14 times 6 'const char *' strings here,
> because
> -+     data relocations cost startup time.  */
> -+  if (name[0] == 'P' && name[1] == 'R' && name[2] == 'I')
> -+    {
> -+      if (name[3] == 'd' || name[3] == 'i' || name[3] == 'o' || name[3]
> == 'u'
> -+        || name[3] == 'x' || name[3] == 'X')
> -+      {
> -+        if (name[4] == '8' && name[5] == '\0')
> -+          {
> -+            if (name[3] == 'd')
> -+              return PRId8;
> -+            if (name[3] == 'i')
> -+              return PRIi8;
> -+            if (name[3] == 'o')
> -+              return PRIo8;
> -+            if (name[3] == 'u')
> -+              return PRIu8;
> -+            if (name[3] == 'x')
> -+              return PRIx8;
> -+            if (name[3] == 'X')
> -+              return PRIX8;
> -+            abort ();
> -+          }
> -+        if (name[4] == '1' && name[5] == '6' && name[6] == '\0')
> -+          {
> -+            if (name[3] == 'd')
> -+              return PRId16;
> -+            if (name[3] == 'i')
> -+              return PRIi16;
> -+            if (name[3] == 'o')
> -+              return PRIo16;
> -+            if (name[3] == 'u')
> -+              return PRIu16;
> -+            if (name[3] == 'x')
> -+              return PRIx16;
> -+            if (name[3] == 'X')
> -+              return PRIX16;
> -+            abort ();
> -+          }
> -+        if (name[4] == '3' && name[5] == '2' && name[6] == '\0')
> -+          {
> -+            if (name[3] == 'd')
> -+              return PRId32;
> -+            if (name[3] == 'i')
> -+              return PRIi32;
> -+            if (name[3] == 'o')
> -+              return PRIo32;
> -+            if (name[3] == 'u')
> -+              return PRIu32;
> -+            if (name[3] == 'x')
> -+              return PRIx32;
> -+            if (name[3] == 'X')
> -+              return PRIX32;
> -+            abort ();
> -+          }
> -+        if (name[4] == '6' && name[5] == '4' && name[6] == '\0')
> -+          {
> -+            if (name[3] == 'd')
> -+              return PRId64;
> -+            if (name[3] == 'i')
> -+              return PRIi64;
> -+            if (name[3] == 'o')
> -+              return PRIo64;
> -+            if (name[3] == 'u')
> -+              return PRIu64;
> -+            if (name[3] == 'x')
> -+              return PRIx64;
> -+            if (name[3] == 'X')
> -+              return PRIX64;
> -+            abort ();
> -+          }
> -+        if (name[4] == 'L' && name[5] == 'E' && name[6] == 'A'
> -+            && name[7] == 'S' && name[8] == 'T')
> -+          {
> -+            if (name[9] == '8' && name[10] == '\0')
> -+              {
> -+                if (name[3] == 'd')
> -+                  return PRIdLEAST8;
> -+                if (name[3] == 'i')
> -+                  return PRIiLEAST8;
> -+                if (name[3] == 'o')
> -+                  return PRIoLEAST8;
> -+                if (name[3] == 'u')
> -+                  return PRIuLEAST8;
> -+                if (name[3] == 'x')
> -+                  return PRIxLEAST8;
> -+                if (name[3] == 'X')
> -+                  return PRIXLEAST8;
> -+                abort ();
> -+              }
> -+            if (name[9] == '1' && name[10] == '6' && name[11] == '\0')
> -+              {
> -+                if (name[3] == 'd')
> -+                  return PRIdLEAST16;
> -+                if (name[3] == 'i')
> -+                  return PRIiLEAST16;
> -+                if (name[3] == 'o')
> -+                  return PRIoLEAST16;
> -+                if (name[3] == 'u')
> -+                  return PRIuLEAST16;
> -+                if (name[3] == 'x')
> -+                  return PRIxLEAST16;
> -+                if (name[3] == 'X')
> -+                  return PRIXLEAST16;
> -+                abort ();
> -+              }
> -+            if (name[9] == '3' && name[10] == '2' && name[11] == '\0')
> -+              {
> -+                if (name[3] == 'd')
> -+                  return PRIdLEAST32;
> -+                if (name[3] == 'i')
> -+                  return PRIiLEAST32;
> -+                if (name[3] == 'o')
> -+                  return PRIoLEAST32;
> -+                if (name[3] == 'u')
> -+                  return PRIuLEAST32;
> -+                if (name[3] == 'x')
> -+                  return PRIxLEAST32;
> -+                if (name[3] == 'X')
> -+                  return PRIXLEAST32;
> -+                abort ();
> -+              }
> -+            if (name[9] == '6' && name[10] == '4' && name[11] == '\0')
> -+              {
> -+                if (name[3] == 'd')
> -+                  return PRIdLEAST64;
> -+                if (name[3] == 'i')
> -+                  return PRIiLEAST64;
> -+                if (name[3] == 'o')
> -+                  return PRIoLEAST64;
> -+                if (name[3] == 'u')
> -+                  return PRIuLEAST64;
> -+                if (name[3] == 'x')
> -+                  return PRIxLEAST64;
> -+                if (name[3] == 'X')
> -+                  return PRIXLEAST64;
> -+                abort ();
> -+              }
> -+          }
> -+        if (name[4] == 'F' && name[5] == 'A' && name[6] == 'S'
> -+            && name[7] == 'T')
> -+          {
> -+            if (name[8] == '8' && name[9] == '\0')
> -+              {
> -+                if (name[3] == 'd')
> -+                  return PRIdFAST8;
> -+                if (name[3] == 'i')
> -+                  return PRIiFAST8;
> -+                if (name[3] == 'o')
> -+                  return PRIoFAST8;
> -+                if (name[3] == 'u')
> -+                  return PRIuFAST8;
> -+                if (name[3] == 'x')
> -+                  return PRIxFAST8;
> -+                if (name[3] == 'X')
> -+                  return PRIXFAST8;
> -+                abort ();
> -+              }
> -+            if (name[8] == '1' && name[9] == '6' && name[10] == '\0')
> -+              {
> -+                if (name[3] == 'd')
> -+                  return PRIdFAST16;
> -+                if (name[3] == 'i')
> -+                  return PRIiFAST16;
> -+                if (name[3] == 'o')
> -+                  return PRIoFAST16;
> -+                if (name[3] == 'u')
> -+                  return PRIuFAST16;
> -+                if (name[3] == 'x')
> -+                  return PRIxFAST16;
> -+                if (name[3] == 'X')
> -+                  return PRIXFAST16;
> -+                abort ();
> -+              }
> -+            if (name[8] == '3' && name[9] == '2' && name[10] == '\0')
> -+              {
> -+                if (name[3] == 'd')
> -+                  return PRIdFAST32;
> -+                if (name[3] == 'i')
> -+                  return PRIiFAST32;
> -+                if (name[3] == 'o')
> -+                  return PRIoFAST32;
> -+                if (name[3] == 'u')
> -+                  return PRIuFAST32;
> -+                if (name[3] == 'x')
> -+                  return PRIxFAST32;
> -+                if (name[3] == 'X')
> -+                  return PRIXFAST32;
> -+                abort ();
> -+              }
> -+            if (name[8] == '6' && name[9] == '4' && name[10] == '\0')
> -+              {
> -+                if (name[3] == 'd')
> -+                  return PRIdFAST64;
> -+                if (name[3] == 'i')
> -+                  return PRIiFAST64;
> -+                if (name[3] == 'o')
> -+                  return PRIoFAST64;
> -+                if (name[3] == 'u')
> -+                  return PRIuFAST64;
> -+                if (name[3] == 'x')
> -+                  return PRIxFAST64;
> -+                if (name[3] == 'X')
> -+                  return PRIXFAST64;
> -+                abort ();
> -+              }
> -+          }
> -+        if (name[4] == 'M' && name[5] == 'A' && name[6] == 'X'
> -+            && name[7] == '\0')
> -+          {
> -+            if (name[3] == 'd')
> -+              return PRIdMAX;
> -+            if (name[3] == 'i')
> -+              return PRIiMAX;
> -+            if (name[3] == 'o')
> -+              return PRIoMAX;
> -+            if (name[3] == 'u')
> -+              return PRIuMAX;
> -+            if (name[3] == 'x')
> -+              return PRIxMAX;
> -+            if (name[3] == 'X')
> -+              return PRIXMAX;
> -+            abort ();
> -+          }
> -+        if (name[4] == 'P' && name[5] == 'T' && name[6] == 'R'
> -+            && name[7] == '\0')
> -+          {
> -+            if (name[3] == 'd')
> -+              return PRIdPTR;
> -+            if (name[3] == 'i')
> -+              return PRIiPTR;
> -+            if (name[3] == 'o')
> -+              return PRIoPTR;
> -+            if (name[3] == 'u')
> -+              return PRIuPTR;
> -+            if (name[3] == 'x')
> -+              return PRIxPTR;
> -+            if (name[3] == 'X')
> -+              return PRIXPTR;
> -+            abort ();
> -+          }
> -+      }
> -+    }
> -+  /* Test for a glibc specific printf() format directive flag.  */
> -+  if (name[0] == 'I' && name[1] == '\0')
> -+    {
> -+#if defined _LIBC || __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__
> >= 2)
> -+      /* The 'I' flag, in numeric format directives, replaces ASCII
> digits
> -+       with the 'outdigits' defined in the LC_CTYPE locale facet.  This
> is
> -+       used for Farsi (Persian) and maybe Arabic.  */
> -+      return "I";
> -+#else
> -+      return "";
> -+#endif
> -+    }
> -+  /* Other system dependent strings are not valid.  */
> -+  return NULL;
> -+}
> -+
> -+/* Initialize the codeset dependent parts of an opened message catalog.
> -+   Return the header entry.  */
> -+const char *
> -+internal_function
> -+_nl_init_domain_conv (struct loaded_l10nfile *domain_file,
> -+                    struct loaded_domain *domain,
> -+                    struct binding *domainbinding)
> -+{
> -+  /* Find out about the character set the file is encoded with.
> -+     This can be found (in textual form) in the entry "".  If this
> -+     entry does not exist or if this does not contain the `charset='
> -+     information, we will assume the charset matches the one the
> -+     current locale and we don't have to perform any conversion.  */
> -+  char *nullentry;
> -+  size_t nullentrylen;
> -+
> -+  /* Preinitialize fields, to avoid recursion during _nl_find_msg.  */
> -+  domain->codeset_cntr =
> -+    (domainbinding != NULL ? domainbinding->codeset_cntr : 0);
> -+#ifdef _LIBC
> -+  domain->conv = (__gconv_t) -1;
> -+#else
> -+# if HAVE_ICONV
> -+  domain->conv = (iconv_t) -1;
> -+# endif
> -+#endif
> -+  domain->conv_tab = NULL;
> -+
> -+  /* Get the header entry.  */
> -+  nullentry = _nl_find_msg (domain_file, domainbinding, "",
> &nullentrylen);
> -+
> -+  if (nullentry != NULL)
> -+    {
> -+#if defined _LIBC || HAVE_ICONV
> -+      const char *charsetstr;
> -+
> -+      charsetstr = strstr (nullentry, "charset=");
> -+      if (charsetstr != NULL)
> -+      {
> -+        size_t len;
> -+        char *charset;
> -+        const char *outcharset;
> -+
> -+        charsetstr += strlen ("charset=");
> -+        len = strcspn (charsetstr, " \t\n");
> -+
> -+        charset = (char *) alloca (len + 1);
> -+# if defined _LIBC || HAVE_MEMPCPY
> -+        *((char *) mempcpy (charset, charsetstr, len)) = '\0';
> -+# else
> -+        memcpy (charset, charsetstr, len);
> -+        charset[len] = '\0';
> -+# endif
> -+
> -+        /* The output charset should normally be determined by the
> -+           locale.  But sometimes the locale is not used or not correctly
> -+           set up, so we provide a possibility for the user to override
> -+           this.  Moreover, the value specified through
> -+           bind_textdomain_codeset overrides both.  */
> -+        if (domainbinding != NULL && domainbinding->codeset != NULL)
> -+          outcharset = domainbinding->codeset;
> -+        else
> -+          {
> -+            outcharset = getenv ("OUTPUT_CHARSET");
> -+            if (outcharset == NULL || outcharset[0] == '\0')
> -+              {
> -+# ifdef _LIBC
> -+                outcharset = _NL_CURRENT (LC_CTYPE, CODESET);
> -+# else
> -+#  if HAVE_ICONV
> -+                extern const char *locale_charset (void);
> -+                outcharset = locale_charset ();
> -+#  endif
> -+# endif
> -+              }
> -+          }
> -+
> -+# ifdef _LIBC
> -+        /* We always want to use transliteration.  */
> -+        outcharset = norm_add_slashes (outcharset, "TRANSLIT");
> -+        charset = norm_add_slashes (charset, NULL);
> -+        if (__gconv_open (outcharset, charset, &domain->conv,
> -+                          GCONV_AVOID_NOCONV)
> -+            != __GCONV_OK)
> -+          domain->conv = (__gconv_t) -1;
> -+# else
> -+#  if HAVE_ICONV
> -+        /* When using GNU libc >= 2.2 or GNU libiconv >= 1.5,
> -+           we want to use transliteration.  */
> -+#   if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) || __GLIBC__ > 2 \
> -+       || _LIBICONV_VERSION >= 0x0105
> -+        if (strchr (outcharset, '/') == NULL)
> -+          {
> -+            char *tmp;
> -+
> -+            len = strlen (outcharset);
> -+            tmp = (char *) alloca (len + 10 + 1);
> -+            memcpy (tmp, outcharset, len);
> -+            memcpy (tmp + len, "//TRANSLIT", 10 + 1);
> -+            outcharset = tmp;
> -+
> -+            domain->conv = iconv_open (outcharset, charset);
> -+
> -+            freea (outcharset);
> -+          }
> -+        else
> -+#   endif
> -+          domain->conv = iconv_open (outcharset, charset);
> -+#  endif
> -+# endif
> -+
> -+        freea (charset);
> -+      }
> -+#endif /* _LIBC || HAVE_ICONV */
> -+    }
> -+
> -+  return nullentry;
> -+}
> -+
> -+/* Frees the codeset dependent parts of an opened message catalog.  */
> -+void
> -+internal_function
> -+_nl_free_domain_conv (struct loaded_domain *domain)
> -+{
> -+  if (domain->conv_tab != NULL && domain->conv_tab != (char **) -1)
> -+    free (domain->conv_tab);
> -+
> -+#ifdef _LIBC
> -+  if (domain->conv != (__gconv_t) -1)
> -+    __gconv_close (domain->conv);
> -+#else
> -+# if HAVE_ICONV
> -+  if (domain->conv != (iconv_t) -1)
> -+    iconv_close (domain->conv);
> -+# endif
> -+#endif
> -+}
> -+
> - /* Load the message catalogs specified by FILENAME.  If it is no valid
> -    message catalog do nothing.  */
> - void
> --_nl_load_domain (domain_file)
> --     struct loaded_l10nfile *domain_file;
> -+internal_function
> -+_nl_load_domain (struct loaded_l10nfile *domain_file,
> -+               struct binding *domainbinding)
> - {
> -   int fd;
> -+  size_t size;
> -+#ifdef _LIBC
> -+  struct stat64 st;
> -+#else
> -   struct stat st;
> -+#endif
> -   struct mo_file_header *data = (struct mo_file_header *) -1;
> --#if (defined HAVE_MMAP && defined HAVE_MUNMAP && !defined DISALLOW_MMAP)
> \
> --    || defined _LIBC
> -   int use_mmap = 0;
> --#endif
> -   struct loaded_domain *domain;
> -+  int revision;
> -+  const char *nullentry;
> -
> -   domain_file->decided = 1;
> -   domain_file->data = NULL;
> -
> -+  /* Note that it would be useless to store domainbinding in domain_file
> -+     because domainbinding might be == NULL now but != NULL later (after
> -+     a call to bind_textdomain_codeset).  */
> -+
> -   /* If the record does not represent a valid locale the FILENAME
> -      might be NULL.  This can happen when according to the given
> -      specification the locale file name is different for XPG and CEN
> -@@ -84,27 +937,32 @@
> -     return;
> -
> -   /* Try to open the addressed file.  */
> --  fd = open (domain_file->filename, O_RDONLY);
> -+  fd = open (domain_file->filename, O_RDONLY | O_BINARY);
> -   if (fd == -1)
> -     return;
> -
> -   /* We must know about the size of the file.  */
> --  if (fstat (fd, &st) != 0
> --      && st.st_size < (off_t) sizeof (struct mo_file_header))
> -+  if (
> -+#ifdef _LIBC
> -+      __builtin_expect (fstat64 (fd, &st) != 0, 0)
> -+#else
> -+      __builtin_expect (fstat (fd, &st) != 0, 0)
> -+#endif
> -+      || __builtin_expect ((size = (size_t) st.st_size) != st.st_size, 0)
> -+      || __builtin_expect (size < sizeof (struct mo_file_header), 0))
> -     {
> -       /* Something went wrong.  */
> -       close (fd);
> -       return;
> -     }
> -
> --#if (defined HAVE_MMAP && defined HAVE_MUNMAP && !defined DISALLOW_MMAP)
> \
> --    || defined _LIBC
> -+#ifdef HAVE_MMAP
> -   /* Now we are ready to load the file.  If mmap() is available we try
> -      this first.  If not available or it failed we try to load it.  */
> --  data = (struct mo_file_header *) mmap (NULL, st.st_size, PROT_READ,
> -+  data = (struct mo_file_header *) mmap (NULL, size, PROT_READ,
> -                                        MAP_PRIVATE, fd, 0);
> -
> --  if (data != (struct mo_file_header *) -1)
> -+  if (__builtin_expect (data != (struct mo_file_header *) -1, 1))
> -     {
> -       /* mmap() call was successful.  */
> -       close (fd);
> -@@ -116,24 +974,27 @@
> -      it manually.  */
> -   if (data == (struct mo_file_header *) -1)
> -     {
> --      off_t to_read;
> -+      size_t to_read;
> -       char *read_ptr;
> -
> --      data = (struct mo_file_header *) malloc (st.st_size);
> -+      data = (struct mo_file_header *) malloc (size);
> -       if (data == NULL)
> -       return;
> -
> --      to_read = st.st_size;
> -+      to_read = size;
> -       read_ptr = (char *) data;
> -       do
> -       {
> -         long int nb = (long int) read (fd, read_ptr, to_read);
> --        if (nb == -1)
> -+        if (nb <= 0)
> -           {
> -+#ifdef EINTR
> -+            if (nb == -1 && errno == EINTR)
> -+              continue;
> -+#endif
> -             close (fd);
> -             return;
> -           }
> --
> -         read_ptr += nb;
> -         to_read -= nb;
> -       }
> -@@ -144,47 +1005,378 @@
> -
> -   /* Using the magic number we can test whether it really is a message
> -      catalog file.  */
> --  if (data->magic != _MAGIC && data->magic != _MAGIC_SWAPPED)
> -+  if (__builtin_expect (data->magic != _MAGIC && data->magic !=
> _MAGIC_SWAPPED,
> -+                      0))
> -     {
> -       /* The magic number is wrong: not a message catalog file.  */
> --#if (defined HAVE_MMAP && defined HAVE_MUNMAP && !defined DISALLOW_MMAP)
> \
> --    || defined _LIBC
> -+#ifdef HAVE_MMAP
> -       if (use_mmap)
> --      munmap ((caddr_t) data, st.st_size);
> -+      munmap ((caddr_t) data, size);
> -       else
> - #endif
> -       free (data);
> -       return;
> -     }
> -
> --  domain_file->data
> --    = (struct loaded_domain *) malloc (sizeof (struct loaded_domain));
> --  if (domain_file->data == NULL)
> -+  domain = (struct loaded_domain *) malloc (sizeof (struct
> loaded_domain));
> -+  if (domain == NULL)
> -     return;
> -+  domain_file->data = domain;
> -
> --  domain = (struct loaded_domain *) domain_file->data;
> -   domain->data = (char *) data;
> -+  domain->use_mmap = use_mmap;
> -+  domain->mmap_size = size;
> -   domain->must_swap = data->magic != _MAGIC;
> -+  domain->malloced = NULL;
> -
> -   /* Fill in the information about the available tables.  */
> --  switch (W (domain->must_swap, data->revision))
> -+  revision = W (domain->must_swap, data->revision);
> -+  /* We support only the major revisions 0 and 1.  */
> -+  switch (revision >> 16)
> -     {
> -     case 0:
> -+    case 1:
> -       domain->nstrings = W (domain->must_swap, data->nstrings);
> --      domain->orig_tab = (struct string_desc *)
> -+      domain->orig_tab = (const struct string_desc *)
> -       ((char *) data + W (domain->must_swap, data->orig_tab_offset));
> --      domain->trans_tab = (struct string_desc *)
> -+      domain->trans_tab = (const struct string_desc *)
> -       ((char *) data + W (domain->must_swap, data->trans_tab_offset));
> -       domain->hash_size = W (domain->must_swap, data->hash_tab_size);
> --      domain->hash_tab = (nls_uint32 *)
> --      ((char *) data + W (domain->must_swap, data->hash_tab_offset));
> -+      domain->hash_tab =
> -+      (domain->hash_size > 2
> -+       ? (const nls_uint32 *)
> -+         ((char *) data + W (domain->must_swap, data->hash_tab_offset))
> -+       : NULL);
> -+      domain->must_swap_hash_tab = domain->must_swap;
> -+
> -+      /* Now dispatch on the minor revision.  */
> -+      switch (revision & 0xffff)
> -+      {
> -+      case 0:
> -+        domain->n_sysdep_strings = 0;
> -+        domain->orig_sysdep_tab = NULL;
> -+        domain->trans_sysdep_tab = NULL;
> -+        break;
> -+      case 1:
> -+      default:
> -+        {
> -+          nls_uint32 n_sysdep_strings;
> -+
> -+          if (domain->hash_tab == NULL)
> -+            /* This is invalid.  These minor revisions need a hash
> table.  */
> -+            goto invalid;
> -+
> -+          n_sysdep_strings =
> -+            W (domain->must_swap, data->n_sysdep_strings);
> -+          if (n_sysdep_strings > 0)
> -+            {
> -+              nls_uint32 n_sysdep_segments;
> -+              const struct sysdep_segment *sysdep_segments;
> -+              const char **sysdep_segment_values;
> -+              const nls_uint32 *orig_sysdep_tab;
> -+              const nls_uint32 *trans_sysdep_tab;
> -+              nls_uint32 n_inmem_sysdep_strings;
> -+              size_t memneed;
> -+              char *mem;
> -+              struct sysdep_string_desc *inmem_orig_sysdep_tab;
> -+              struct sysdep_string_desc *inmem_trans_sysdep_tab;
> -+              nls_uint32 *inmem_hash_tab;
> -+              unsigned int i, j;
> -+
> -+              /* Get the values of the system dependent segments.  */
> -+              n_sysdep_segments =
> -+                W (domain->must_swap, data->n_sysdep_segments);
> -+              sysdep_segments = (const struct sysdep_segment *)
> -+                ((char *) data
> -+                 + W (domain->must_swap, data->sysdep_segments_offset));
> -+              sysdep_segment_values =
> -+                alloca (n_sysdep_segments * sizeof (const char *));
> -+              for (i = 0; i < n_sysdep_segments; i++)
> -+                {
> -+                  const char *name =
> -+                    (char *) data
> -+                    + W (domain->must_swap, sysdep_segments[i].offset);
> -+                  nls_uint32 namelen =
> -+                    W (domain->must_swap, sysdep_segments[i].length);
> -+
> -+                  if (!(namelen > 0 && name[namelen - 1] == '\0'))
> -+                    {
> -+                      freea (sysdep_segment_values);
> -+                      goto invalid;
> -+                    }
> -+
> -+                  sysdep_segment_values[i] = get_sysdep_segment_value
> (name);
> -+                }
> -+
> -+              orig_sysdep_tab = (const nls_uint32 *)
> -+                ((char *) data
> -+                 + W (domain->must_swap, data->orig_sysdep_tab_offset));
> -+              trans_sysdep_tab = (const nls_uint32 *)
> -+                ((char *) data
> -+                 + W (domain->must_swap, data->trans_sysdep_tab_offset));
> -+
> -+              /* Compute the amount of additional memory needed for the
> -+                 system dependent strings and the augmented hash table.
> -+                 At the same time, also drop string pairs which refer to
> -+                 an undefined system dependent segment.  */
> -+              n_inmem_sysdep_strings = 0;
> -+              memneed = domain->hash_size * sizeof (nls_uint32);
> -+              for (i = 0; i < n_sysdep_strings; i++)
> -+                {
> -+                  int valid = 1;
> -+                  size_t needs[2];
> -+
> -+                  for (j = 0; j < 2; j++)
> -+                    {
> -+                      const struct sysdep_string *sysdep_string =
> -+                        (const struct sysdep_string *)
> -+                        ((char *) data
> -+                         + W (domain->must_swap,
> -+                              j == 0
> -+                              ? orig_sysdep_tab[i]
> -+                              : trans_sysdep_tab[i]));
> -+                      size_t need = 0;
> -+                      const struct segment_pair *p =
> sysdep_string->segments;
> -+
> -+                      if (W (domain->must_swap, p->sysdepref) !=
> SEGMENTS_END)
> -+                        for (p = sysdep_string->segments;; p++)
> -+                          {
> -+                            nls_uint32 sysdepref;
> -+
> -+                            need += W (domain->must_swap, p->segsize);
> -+
> -+                            sysdepref = W (domain->must_swap,
> p->sysdepref);
> -+                            if (sysdepref == SEGMENTS_END)
> -+                              break;
> -+
> -+                            if (sysdepref >= n_sysdep_segments)
> -+                              {
> -+                                /* Invalid.  */
> -+                                freea (sysdep_segment_values);
> -+                                goto invalid;
> -+                              }
> -+
> -+                            if (sysdep_segment_values[sysdepref] == NULL)
> -+                              {
> -+                                /* This particular string pair is
> invalid.  */
> -+                                valid = 0;
> -+                                break;
> -+                              }
> -+
> -+                            need += strlen
> (sysdep_segment_values[sysdepref]);
> -+                          }
> -+
> -+                      needs[j] = need;
> -+                      if (!valid)
> -+                        break;
> -+                    }
> -+
> -+                  if (valid)
> -+                    {
> -+                      n_inmem_sysdep_strings++;
> -+                      memneed += needs[0] + needs[1];
> -+                    }
> -+                }
> -+              memneed += 2 * n_inmem_sysdep_strings
> -+                         * sizeof (struct sysdep_string_desc);
> -+
> -+              if (n_inmem_sysdep_strings > 0)
> -+                {
> -+                  unsigned int k;
> -+
> -+                  /* Allocate additional memory.  */
> -+                  mem = (char *) malloc (memneed);
> -+                  if (mem == NULL)
> -+                    goto invalid;
> -+
> -+                  domain->malloced = mem;
> -+                  inmem_orig_sysdep_tab = (struct sysdep_string_desc *)
> mem;
> -+                  mem += n_inmem_sysdep_strings
> -+                         * sizeof (struct sysdep_string_desc);
> -+                  inmem_trans_sysdep_tab = (struct sysdep_string_desc *)
> mem;
> -+                  mem += n_inmem_sysdep_strings
> -+                         * sizeof (struct sysdep_string_desc);
> -+                  inmem_hash_tab = (nls_uint32 *) mem;
> -+                  mem += domain->hash_size * sizeof (nls_uint32);
> -+
> -+                  /* Compute the system dependent strings.  */
> -+                  k = 0;
> -+                  for (i = 0; i < n_sysdep_strings; i++)
> -+                    {
> -+                      int valid = 1;
> -+
> -+                      for (j = 0; j < 2; j++)
> -+                        {
> -+                          const struct sysdep_string *sysdep_string =
> -+                            (const struct sysdep_string *)
> -+                            ((char *) data
> -+                             + W (domain->must_swap,
> -+                                  j == 0
> -+                                  ? orig_sysdep_tab[i]
> -+                                  : trans_sysdep_tab[i]));
> -+                          const struct segment_pair *p =
> -+                            sysdep_string->segments;
> -+
> -+                          if (W (domain->must_swap, p->sysdepref)
> -+                              != SEGMENTS_END)
> -+                            for (p = sysdep_string->segments;; p++)
> -+                              {
> -+                                nls_uint32 sysdepref;
> -+
> -+                                sysdepref =
> -+                                  W (domain->must_swap, p->sysdepref);
> -+                                if (sysdepref == SEGMENTS_END)
> -+                                  break;
> -+
> -+                                if (sysdep_segment_values[sysdepref] ==
> NULL)
> -+                                  {
> -+                                    /* This particular string pair is
> -+                                       invalid.  */
> -+                                    valid = 0;
> -+                                    break;
> -+                                  }
> -+                              }
> -+
> -+                          if (!valid)
> -+                            break;
> -+                        }
> -+
> -+                      if (valid)
> -+                        {
> -+                          for (j = 0; j < 2; j++)
> -+                            {
> -+                              const struct sysdep_string *sysdep_string =
> -+                                (const struct sysdep_string *)
> -+                                ((char *) data
> -+                                 + W (domain->must_swap,
> -+                                      j == 0
> -+                                      ? orig_sysdep_tab[i]
> -+                                      : trans_sysdep_tab[i]));
> -+                              const char *static_segments =
> -+                                (char *) data
> -+                                + W (domain->must_swap,
> sysdep_string->offset);
> -+                              const struct segment_pair *p =
> -+                                sysdep_string->segments;
> -+
> -+                              /* Concatenate the segments, and fill
> -+                                 inmem_orig_sysdep_tab[k] (for j == 0)
> and
> -+                                 inmem_trans_sysdep_tab[k] (for j ==
> 1).  */
> -+
> -+                              struct sysdep_string_desc *inmem_tab_entry
> =
> -+                                (j == 0
> -+                                 ? inmem_orig_sysdep_tab
> -+                                 : inmem_trans_sysdep_tab)
> -+                                + k;
> -+
> -+                              if (W (domain->must_swap, p->sysdepref)
> -+                                  == SEGMENTS_END)
> -+                                {
> -+                                  /* Only one static segment.  */
> -+                                  inmem_tab_entry->length =
> -+                                    W (domain->must_swap, p->segsize);
> -+                                  inmem_tab_entry->pointer =
> static_segments;
> -+                                }
> -+                              else
> -+                                {
> -+                                  inmem_tab_entry->pointer = mem;
> -+
> -+                                  for (p = sysdep_string->segments;; p++)
> -+                                    {
> -+                                      nls_uint32 segsize =
> -+                                        W (domain->must_swap,
> p->segsize);
> -+                                      nls_uint32 sysdepref =
> -+                                        W (domain->must_swap,
> p->sysdepref);
> -+                                      size_t n;
> -+
> -+                                      if (segsize > 0)
> -+                                        {
> -+                                          memcpy (mem, static_segments,
> segsize);
> -+                                          mem += segsize;
> -+                                          static_segments += segsize;
> -+                                        }
> -+
> -+                                      if (sysdepref == SEGMENTS_END)
> -+                                        break;
> -+
> -+                                      n = strlen
> (sysdep_segment_values[sysdepref]);
> -+                                      memcpy (mem,
> sysdep_segment_values[sysdepref], n);
> -+                                      mem += n;
> -+                                    }
> -+
> -+                                  inmem_tab_entry->length =
> -+                                    mem - inmem_tab_entry->pointer;
> -+                                }
> -+                            }
> -+
> -+                          k++;
> -+                        }
> -+                    }
> -+                  if (k != n_inmem_sysdep_strings)
> -+                    abort ();
> -+
> -+                  /* Compute the augmented hash table.  */
> -+                  for (i = 0; i < domain->hash_size; i++)
> -+                    inmem_hash_tab[i] =
> -+                      W (domain->must_swap_hash_tab,
> domain->hash_tab[i]);
> -+                  for (i = 0; i < n_inmem_sysdep_strings; i++)
> -+                    {
> -+                      const char *msgid =
> inmem_orig_sysdep_tab[i].pointer;
> -+                      nls_uint32 hash_val = hash_string (msgid);
> -+                      nls_uint32 idx = hash_val % domain->hash_size;
> -+                      nls_uint32 incr =
> -+                        1 + (hash_val % (domain->hash_size - 2));
> -+
> -+                      for (;;)
> -+                        {
> -+                          if (inmem_hash_tab[idx] == 0)
> -+                            {
> -+                              /* Hash table entry is empty.  Use it.  */
> -+                              inmem_hash_tab[idx] = 1 + domain->nstrings
> + i;
> -+                              break;
> -+                            }
> -+
> -+                          if (idx >= domain->hash_size - incr)
> -+                            idx -= domain->hash_size - incr;
> -+                          else
> -+                            idx += incr;
> -+                        }
> -+                    }
> -+
> -+                  domain->n_sysdep_strings = n_inmem_sysdep_strings;
> -+                  domain->orig_sysdep_tab = inmem_orig_sysdep_tab;
> -+                  domain->trans_sysdep_tab = inmem_trans_sysdep_tab;
> -+
> -+                  domain->hash_tab = inmem_hash_tab;
> -+                  domain->must_swap_hash_tab = 0;
> -+                }
> -+              else
> -+                {
> -+                  domain->n_sysdep_strings = 0;
> -+                  domain->orig_sysdep_tab = NULL;
> -+                  domain->trans_sysdep_tab = NULL;
> -+                }
> -+
> -+              freea (sysdep_segment_values);
> -+            }
> -+          else
> -+            {
> -+              domain->n_sysdep_strings = 0;
> -+              domain->orig_sysdep_tab = NULL;
> -+              domain->trans_sysdep_tab = NULL;
> -+            }
> -+        }
> -+        break;
> -+      }
> -       break;
> -     default:
> --      /* This is an illegal revision.  */
> --#if (defined HAVE_MMAP && defined HAVE_MUNMAP && !defined DISALLOW_MMAP)
> \
> --    || defined _LIBC
> -+      /* This is an invalid revision.  */
> -+    invalid:
> -+      /* This is an invalid .mo file.  */
> -+      if (domain->malloced)
> -+      free (domain->malloced);
> -+#ifdef HAVE_MMAP
> -       if (use_mmap)
> --      munmap ((caddr_t) data, st.st_size);
> -+      munmap ((caddr_t) data, size);
> -       else
> - #endif
> -       free (data);
> -@@ -193,7 +1385,36 @@
> -       return;
> -     }
> -
> --  /* Show that one domain is changed.  This might make some cached
> --     translations invalid.  */
> --  ++_nl_msg_cat_cntr;
> -+  /* Now initialize the character set converter from the character set
> -+     the file is encoded with (found in the header entry) to the domain's
> -+     specified character set or the locale's character set.  */
> -+  nullentry = _nl_init_domain_conv (domain_file, domain, domainbinding);
> -+
> -+  /* Also look for a plural specification.  */
> -+  EXTRACT_PLURAL_EXPRESSION (nullentry, &domain->plural,
> &domain->nplurals);
> - }
> -+
> -+
> -+#ifdef _LIBC
> -+void
> -+internal_function
> -+_nl_unload_domain (struct loaded_domain *domain)
> -+{
> -+  if (domain->plural != &__gettext_germanic_plural)
> -+    __gettext_free_exp (domain->plural);
> -+
> -+  _nl_free_domain_conv (domain);
> -+
> -+  if (domain->malloced)
> -+    free (domain->malloced);
> -+
> -+# ifdef _POSIX_MAPPED_FILES
> -+  if (domain->use_mmap)
> -+    munmap ((caddr_t) domain->data, domain->mmap_size);
> -+  else
> -+# endif       /* _POSIX_MAPPED_FILES */
> -+    free ((void *) domain->data);
> -+
> -+  free (domain);
> -+}
> -+#endif
> ---- lrzsz-0.12.20.safe/intl/localcharset.c     1969-12-31
> 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/intl/localcharset.c  2004-09-12 14:40:34.478729392 -0400
> -@@ -0,0 +1,398 @@
> -+/* Determine a canonical name for the current locale's character
> encoding.
> -+
> -+   Copyright (C) 2000-2003 Free Software Foundation, Inc.
> -+
> -+   This program is free software; you can redistribute it and/or modify
> it
> -+   under the terms of the GNU Library General Public License as published
> -+   by the Free Software Foundation; either version 2, 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
> -+   Library General Public License for more details.
> -+
> -+   You should have received a copy of the GNU Library 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.  */
> -+
> -+/* Written by Bruno Haible <bruno at clisp.org>.  */
> -+
> -+#ifdef HAVE_CONFIG_H
> -+# include <config.h>
> -+#endif
> -+
> -+/* Specification.  */
> -+#include "localcharset.h"
> -+
> -+#if HAVE_STDDEF_H
> -+# include <stddef.h>
> -+#endif
> -+
> -+#include <stdio.h>
> -+#if HAVE_STRING_H
> -+# include <string.h>
> -+#else
> -+# include <strings.h>
> -+#endif
> -+#if HAVE_STDLIB_H
> -+# include <stdlib.h>
> -+#endif
> -+
> -+#if defined _WIN32 || defined __WIN32__
> -+# undef WIN32   /* avoid warning on mingw32 */
> -+# define WIN32
> -+#endif
> -+
> -+#if defined __EMX__
> -+/* Assume EMX program runs on OS/2, even if compiled under DOS.  */
> -+# define OS2
> -+#endif
> -+
> -+#if !defined WIN32
> -+# if HAVE_LANGINFO_CODESET
> -+#  include <langinfo.h>
> -+# else
> -+#  if HAVE_SETLOCALE
> -+#   include <locale.h>
> -+#  endif
> -+# endif
> -+#elif defined WIN32
> -+# define WIN32_LEAN_AND_MEAN
> -+# include <windows.h>
> -+#endif
> -+#if defined OS2
> -+# define INCL_DOS
> -+# include <os2.h>
> -+#endif
> -+
> -+#if ENABLE_RELOCATABLE
> -+# include "relocatable.h"
> -+#else
> -+# define relocate(pathname) (pathname)
> -+#endif
> -+
> -+#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined
> __DJGPP__
> -+  /* Win32, 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
> -+
> -+#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 ()
> -+{
> -+  const char *cp;
> -+
> -+  cp = charset_aliases;
> -+  if (cp == NULL)
> -+    {
> -+#if !(defined VMS || defined WIN32)
> -+      FILE *fp;
> -+      const char *dir = relocate (LIBDIR);
> -+      const char *base = "charset.alias";
> -+      char *file_name;
> -+
> -+      /* 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 || (fp = fopen (file_name, "r")) == NULL)
> -+      /* Out of memory or file not found, treat it as empty.  */
> -+      cp = "";
> -+      else
> -+      {
> -+        /* Parse the file's contents.  */
> -+        int c;
> -+        char buf1[50+1];
> -+        char buf2[50+1];
> -+        char *res_ptr = NULL;
> -+        size_t res_size = 0;
> -+        size_t l1, l2;
> -+
> -+        for (;;)
> -+          {
> -+            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);
> -+            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;
> -+                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;
> -+          }
> -+      }
> -+
> -+      if (file_name != NULL)
> -+      free (file_name);
> -+
> -+#else
> -+
> -+# 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";
> -+# endif
> -+
> -+# if defined WIN32
> -+      /* 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"
> -+         "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";
> -+# 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.
> -+   The result must not be freed; it is statically allocated.
> -+   If the canonical name cannot be determined, the result is a
> non-canonical
> -+   name.  */
> -+
> -+#ifdef STATIC
> -+STATIC
> -+#endif
> -+const char *
> -+locale_charset ()
> -+{
> -+  const char *codeset;
> -+  const char *aliases;
> -+
> -+#if !(defined WIN32 || defined OS2)
> -+
> -+# if HAVE_LANGINFO_CODESET
> -+
> -+  /* Most systems support nl_langinfo (CODESET) nowadays.  */
> -+  codeset = nl_langinfo (CODESET);
> -+
> -+# 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 HAVE_SETLOCALE && 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;
> -+
> -+# endif
> -+
> -+#elif defined WIN32
> -+
> -+  static char buf[2 + 10 + 1];
> -+
> -+  /* Woe32 has a function returning the locale's codepage as a number.
> */
> -+  sprintf (buf, "CP%u", GetACP ());
> -+  codeset = buf;
> -+
> -+#elif defined OS2
> -+
> -+  const char *locale;
> -+  static char buf[2 + 10 + 1];
> -+  ULONG cp[3];
> -+  ULONG cplen;
> -+
> -+  /* Allow user to override the codeset, as set in the operating system,
> -+     with standard language environment variables.  */
> -+  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[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;
> -+          }
> -+      }
> -+
> -+      /* Resolve through the charset.alias file.  */
> -+      codeset = locale;
> -+    }
> -+  else
> -+    {
> -+      /* OS/2 has a function returning the locale's codepage as a
> number.  */
> -+      if (DosQueryCp (sizeof (cp), cp, &cplen))
> -+      codeset = "";
> -+      else
> -+      {
> -+        sprintf (buf, "CP%u", cp[0]);
> -+        codeset = buf;
> -+      }
> -+    }
> -+
> -+#endif
> -+
> -+  if (codeset == NULL)
> -+    /* The canonical name cannot be determined.  */
> -+    codeset = "";
> -+
> -+  /* 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'))
> -+      {
> -+      codeset = aliases + strlen (aliases) + 1;
> -+      break;
> -+      }
> -+
> -+  /* 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";
> -+
> -+  return codeset;
> -+}
> ---- lrzsz-0.12.20.safe/intl/localcharset.h     1969-12-31
> 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/intl/localcharset.h  2004-09-12 14:40:34.483728632 -0400
> -@@ -0,0 +1,42 @@
> -+/* Determine a canonical name for the current locale's character
> encoding.
> -+   Copyright (C) 2000-2003 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
> it
> -+   under the terms of the GNU Library 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
> -+   Library General Public License for more details.
> -+
> -+   You should have received a copy of the GNU Library 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.  */
> -+
> -+#ifndef _LOCALCHARSET_H
> -+#define _LOCALCHARSET_H
> -+
> -+
> -+#ifdef __cplusplus
> -+extern "C" {
> -+#endif
> -+
> -+
> -+/* Determine the current locale's character encoding, and canonicalize it
> -+   into one of the canonical names listed in config.charset.
> -+   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);
> -+
> -+
> -+#ifdef __cplusplus
> -+}
> -+#endif
> -+
> -+
> -+#endif /* _LOCALCHARSET_H */
> ---- lrzsz-0.12.20.safe/intl/locale.alias       1969-12-31
> 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/intl/locale.alias    2004-09-12 14:40:34.499726200 -0400
> -@@ -0,0 +1,78 @@
> -+# Locale name alias data base.
> -+# Copyright (C) 1996-2001,2003 Free Software Foundation, Inc.
> -+#
> -+# This program is free software; you can redistribute it and/or modify it
> -+# under the terms of the GNU Library General Public License as published
> -+# by the Free Software Foundation; either version 2, 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
> -+# Library General Public License for more details.
> -+#
> -+# You should have received a copy of the GNU Library 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.
> -+
> -+# The format of this file is the same as for the corresponding file of
> -+# the X Window System, which normally can be found in
> -+#     /usr/lib/X11/locale/locale.alias
> -+# A single line contains two fields: an alias and a substitution value.
> -+# All entries are case independent.
> -+
> -+# Note: This file is far from being complete.  If you have a value for
> -+# your own site which you think might be useful for others too, share
> -+# it with the rest of us.  Send it using the `glibcbug' script to
> -+# bugs at gnu.org.
> -+
> -+# Packages using this file:
> -+
> -+bokmal                nb_NO.ISO-8859-1
> -+bokmål                nb_NO.ISO-8859-1
> -+catalan               ca_ES.ISO-8859-1
> -+croatian      hr_HR.ISO-8859-2
> -+czech         cs_CZ.ISO-8859-2
> -+danish          da_DK.ISO-8859-1
> -+dansk         da_DK.ISO-8859-1
> -+deutsch               de_DE.ISO-8859-1
> -+dutch         nl_NL.ISO-8859-1
> -+eesti         et_EE.ISO-8859-1
> -+estonian      et_EE.ISO-8859-1
> -+finnish         fi_FI.ISO-8859-1
> -+français      fr_FR.ISO-8859-1
> -+french                fr_FR.ISO-8859-1
> -+galego                gl_ES.ISO-8859-1
> -+galician      gl_ES.ISO-8859-1
> -+german                de_DE.ISO-8859-1
> -+greek           el_GR.ISO-8859-7
> -+hebrew          he_IL.ISO-8859-8
> -+hrvatski      hr_HR.ISO-8859-2
> -+hungarian       hu_HU.ISO-8859-2
> -+icelandic       is_IS.ISO-8859-1
> -+italian         it_IT.ISO-8859-1
> -+japanese      ja_JP.eucJP
> -+japanese.euc  ja_JP.eucJP
> -+ja_JP         ja_JP.eucJP
> -+ja_JP.ujis    ja_JP.eucJP
> -+japanese.sjis ja_JP.SJIS
> -+korean                ko_KR.eucKR
> -+korean.euc    ko_KR.eucKR
> -+ko_KR         ko_KR.eucKR
> -+lithuanian      lt_LT.ISO-8859-13
> -+no_NO         nb_NO.ISO-8859-1
> -+no_NO.ISO-8859-1 nb_NO.ISO-8859-1
> -+norwegian       nb_NO.ISO-8859-1
> -+nynorsk               nn_NO.ISO-8859-1
> -+polish          pl_PL.ISO-8859-2
> -+portuguese      pt_PT.ISO-8859-1
> -+romanian        ro_RO.ISO-8859-2
> -+russian         ru_RU.ISO-8859-5
> -+slovak          sk_SK.ISO-8859-2
> -+slovene         sl_SI.ISO-8859-2
> -+slovenian       sl_SI.ISO-8859-2
> -+spanish         es_ES.ISO-8859-1
> -+swedish         sv_SE.ISO-8859-1
> -+thai          th_TH.TIS-620
> -+turkish         tr_TR.ISO-8859-9
> ---- lrzsz-0.12.20.safe/intl/localealias.c      1998-04-26
> 09:22:37.000000000 -0400
> -+++ lrzsz-0.12.20/intl/localealias.c   2004-09-12 14:40:34.505725288 -0400
> -@@ -1,20 +1,27 @@
> --/* Handle aliases for locale names
> --   Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
> --   Written by Ulrich Drepper <drepper at gnu.ai.mit.edu>, 1995.
> -+/* Handle aliases for locale names.
> -+   Copyright (C) 1995-1999, 2000-2001, 2003 Free Software Foundation,
> Inc.
> -
> --   This 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)
> -+   This program is free software; you can redistribute it and/or modify
> it
> -+   under the terms of the GNU Library General Public License as published
> -+   by the Free Software Foundation; either version 2, 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.
> -+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> -+   Library General Public License for more details.
> -
> --   You should have received a copy of the GNU 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.  */
> -+   You should have received a copy of the GNU Library 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.  */
> -+
> -+/* Tell glibc's <string.h> to provide a prototype for mempcpy().
> -+   This must come before <config.h> because <config.h> may include
> -+   <features.h>, and once <features.h> has been included, it's too
> late.  */
> -+#ifndef _GNU_SOURCE
> -+# define _GNU_SOURCE    1
> -+#endif
> -
> - #ifdef HAVE_CONFIG_H
> - # include <config.h>
> -@@ -22,56 +29,45 @@
> -
> - #include <ctype.h>
> - #include <stdio.h>
> -+#if defined _LIBC || defined HAVE___FSETLOCKING
> -+# include <stdio_ext.h>
> -+#endif
> - #include <sys/types.h>
> -
> - #ifdef __GNUC__
> -+# undef alloca
> - # define alloca __builtin_alloca
> - # define HAVE_ALLOCA 1
> - #else
> --# if defined HAVE_ALLOCA_H || defined _LIBC
> --#  include <alloca.h>
> -+# ifdef _MSC_VER
> -+#  include <malloc.h>
> -+#  define alloca _alloca
> - # else
> --#  ifdef _AIX
> -- #pragma alloca
> -+#  if defined HAVE_ALLOCA_H || defined _LIBC
> -+#   include <alloca.h>
> - #  else
> --#   ifndef alloca
> -+#   ifdef _AIX
> -+ #pragma alloca
> -+#   else
> -+#    ifndef alloca
> - char *alloca ();
> -+#    endif
> - #   endif
> - #  endif
> - # endif
> - #endif
> -
> --#if defined STDC_HEADERS || defined _LIBC
> --# include <stdlib.h>
> --#else
> --char *getenv ();
> --# ifdef HAVE_MALLOC_H
> --#  include <malloc.h>
> --# else
> --void free ();
> --# endif
> --#endif
> -+#include <stdlib.h>
> -+#include <string.h>
> -
> --#if defined HAVE_STRING_H || defined _LIBC
> --# ifndef _GNU_SOURCE
> --#  define _GNU_SOURCE 1
> --# endif
> --# include <string.h>
> -+#include "gettextP.h"
> -+
> -+#if ENABLE_RELOCATABLE
> -+# include "relocatable.h"
> - #else
> --# include <strings.h>
> --# ifndef memcpy
> --#  define memcpy(Dst, Src, Num) bcopy (Src, Dst, Num)
> --# endif
> --#endif
> --#if !HAVE_STRCHR && !defined _LIBC
> --# ifndef strchr
> --#  define strchr index
> --# endif
> -+# define relocate(pathname) (pathname)
> - #endif
> -
> --#include "gettext.h"
> --#include "gettextP.h"
> --
> - /* @@ end of prolog @@ */
> -
> - #ifdef _LIBC
> -@@ -79,43 +75,49 @@
> -    because some ANSI C functions will require linking with this object
> -    file and the name space must not be polluted.  */
> - # define strcasecmp __strcasecmp
> -+
> -+# ifndef mempcpy
> -+#  define mempcpy __mempcpy
> -+# endif
> -+# define HAVE_MEMPCPY 1
> -+# define HAVE___FSETLOCKING   1
> -+
> -+/* We need locking here since we can be called from different places.  */
> -+# include <bits/libc-lock.h>
> -+
> -+__libc_lock_define_initialized (static, lock);
> -+#endif
> -+
> -+#ifndef internal_function
> -+# define internal_function
> - #endif
> -
> -+/* Some optimizations for glibc.  */
> -+#ifdef _LIBC
> -+# define FEOF(fp)             feof_unlocked (fp)
> -+# define FGETS(buf, n, fp)    fgets_unlocked (buf, n, fp)
> -+#else
> -+# define FEOF(fp)             feof (fp)
> -+# define FGETS(buf, n, fp)    fgets (buf, n, fp)
> -+#endif
> -
> --/* For those loosing systems which don't have `alloca' we have to add
> -+/* For those losing systems which don't have `alloca' we have to add
> -    some additional code emulating it.  */
> - #ifdef HAVE_ALLOCA
> --/* Nothing has to be done.  */
> --# define ADD_BLOCK(list, address) /* nothing */
> --# define FREE_BLOCKS(list) /* nothing */
> -+# define freea(p) /* nothing */
> - #else
> --struct block_list
> --{
> --  void *address;
> --  struct block_list *next;
> --};
> --# define ADD_BLOCK(list, addr)
>             \
> --  do {
>             \
> --    struct block_list *newp = (struct block_list *) malloc (sizeof
> (*newp));  \
> --    /* If we cannot get a free block we cannot add the new element to
>    \
> --       the list.  */
>     \
> --    if (newp != NULL) {
>            \
> --      newp->address = (addr);
>    \
> --      newp->next = (list);
>     \
> --      (list) = newp;
>     \
> --    }
>    \
> --  } while (0)
> --# define FREE_BLOCKS(list)
>     \
> --  do {
>             \
> --    while (list != NULL) {
>     \
> --      struct block_list *old = list;
>     \
> --      list = list->next;
>     \
> --      free (old);
>    \
> --    }
>    \
> --  } while (0)
> --# undef alloca
> --# define alloca(size) (malloc (size))
> --#endif        /* have alloca */
> -+# define alloca(n) malloc (n)
> -+# define freea(p) free (p)
> -+#endif
> -+
> -+#if defined _LIBC_REENTRANT || HAVE_DECL_FGETS_UNLOCKED
> -+# undef fgets
> -+# define fgets(buf, len, s) fgets_unlocked (buf, len, s)
> -+#endif
> -+#if defined _LIBC_REENTRANT || HAVE_DECL_FEOF_UNLOCKED
> -+# undef feof
> -+# define feof(s) feof_unlocked (s)
> -+#endif
> -
> -
> - struct alias_map
> -@@ -125,26 +127,41 @@
> - };
> -
> -
> --static struct alias_map *map;
> --static size_t nmap = 0;
> --static size_t maxmap = 0;
> -+#ifndef _LIBC
> -+# define libc_freeres_ptr(decl) decl
> -+#endif
> -+
> -+libc_freeres_ptr (static char *string_space);
> -+static size_t string_space_act;
> -+static size_t string_space_max;
> -+libc_freeres_ptr (static struct alias_map *map);
> -+static size_t nmap;
> -+static size_t maxmap;
> -
> -
> - /* Prototypes for local functions.  */
> --static size_t read_alias_file PARAMS ((const char *fname, int
> fname_len));
> --static void extend_alias_table PARAMS ((void));
> --static int alias_compare PARAMS ((const struct alias_map *map1,
> --                                const struct alias_map *map2));
> -+static size_t read_alias_file (const char *fname, int fname_len)
> -+     internal_function;
> -+static int extend_alias_table (void);
> -+static int alias_compare (const struct alias_map *map1,
> -+                        const struct alias_map *map2);
> -
> -
> - const char *
> --_nl_expand_alias (name)
> --    const char *name;
> -+_nl_expand_alias (const char *name)
> - {
> --  static const char *locale_alias_path = LOCALE_ALIAS_PATH;
> -+  static const char *locale_alias_path;
> -   struct alias_map *retval;
> -+  const char *result = NULL;
> -   size_t added;
> -
> -+#ifdef _LIBC
> -+  __libc_lock_lock (lock);
> -+#endif
> -+
> -+  if (locale_alias_path == NULL)
> -+    locale_alias_path = LOCALE_ALIAS_PATH;
> -+
> -   do
> -     {
> -       struct alias_map item;
> -@@ -154,15 +171,18 @@
> -       if (nmap > 0)
> -       retval = (struct alias_map *) bsearch (&item, map, nmap,
> -                                              sizeof (struct alias_map),
> --                                             (int (*) PARAMS ((const
> void *,
> --                                                               const
> void *))
> -+                                             (int (*) (const void *,
> -+                                                       const void *)
> -                                               ) alias_compare);
> -       else
> -       retval = NULL;
> -
> -       /* We really found an alias.  Return the value.  */
> -       if (retval != NULL)
> --      return retval->value;
> -+      {
> -+        result = retval->value;
> -+        break;
> -+      }
> -
> -       /* Perhaps we can find another alias file.  */
> -       added = 0;
> -@@ -170,11 +190,12 @@
> -       {
> -         const char *start;
> -
> --        while (locale_alias_path[0] == ':')
> -+        while (locale_alias_path[0] == PATH_SEPARATOR)
> -           ++locale_alias_path;
> -         start = locale_alias_path;
> -
> --        while (locale_alias_path[0] != '\0' && locale_alias_path[0] !=
> ':')
> -+        while (locale_alias_path[0] != '\0'
> -+               && locale_alias_path[0] != PATH_SEPARATOR)
> -           ++locale_alias_path;
> -
> -         if (start < locale_alias_path)
> -@@ -183,78 +204,87 @@
> -     }
> -   while (added != 0);
> -
> --  return NULL;
> -+#ifdef _LIBC
> -+  __libc_lock_unlock (lock);
> -+#endif
> -+
> -+  return result;
> - }
> -
> -
> - static size_t
> --read_alias_file (fname, fname_len)
> --     const char *fname;
> --     int fname_len;
> -+internal_function
> -+read_alias_file (const char *fname, int fname_len)
> - {
> --#ifndef HAVE_ALLOCA
> --  struct block_list *block_list = NULL;
> --#endif
> -   FILE *fp;
> -   char *full_fname;
> -   size_t added;
> -   static const char aliasfile[] = "/locale.alias";
> -
> -   full_fname = (char *) alloca (fname_len + sizeof aliasfile);
> --  ADD_BLOCK (block_list, full_fname);
> -+#ifdef HAVE_MEMPCPY
> -+  mempcpy (mempcpy (full_fname, fname, fname_len),
> -+         aliasfile, sizeof aliasfile);
> -+#else
> -   memcpy (full_fname, fname, fname_len);
> -   memcpy (&full_fname[fname_len], aliasfile, sizeof aliasfile);
> -+#endif
> -
> --  fp = fopen (full_fname, "r");
> -+  fp = fopen (relocate (full_fname), "r");
> -+  freea (full_fname);
> -   if (fp == NULL)
> --    {
> --      FREE_BLOCKS (block_list);
> --      return 0;
> --    }
> -+    return 0;
> -+
> -+#ifdef HAVE___FSETLOCKING
> -+  /* No threads present.  */
> -+  __fsetlocking (fp, FSETLOCKING_BYCALLER);
> -+#endif
> -
> -   added = 0;
> --  while (!feof (fp))
> -+  while (!FEOF (fp))
> -     {
> -       /* It is a reasonable approach to use a fix buffer here because
> -        a) we are only interested in the first two fields
> -        b) these fields must be usable as file names and so must not
> -           be that long
> --       */
> --      char buf[BUFSIZ];
> -+       We avoid a multi-kilobyte buffer here since this would use up
> -+       stack space which we might not have if the program ran out of
> -+       memory.  */
> -+      char buf[400];
> -       char *alias;
> -       char *value;
> -       char *cp;
> -
> --      if (fgets (buf, BUFSIZ, fp) == NULL)
> -+      if (FGETS (buf, sizeof buf, fp) == NULL)
> -       /* EOF reached.  */
> -       break;
> -
> -       cp = buf;
> -       /* Ignore leading white space.  */
> --      while (isspace (cp[0]))
> -+      while (isspace ((unsigned char) cp[0]))
> -       ++cp;
> -
> -       /* A leading '#' signals a comment line.  */
> -       if (cp[0] != '\0' && cp[0] != '#')
> -       {
> -         alias = cp++;
> --        while (cp[0] != '\0' && !isspace (cp[0]))
> -+        while (cp[0] != '\0' && !isspace ((unsigned char) cp[0]))
> -           ++cp;
> -         /* Terminate alias name.  */
> -         if (cp[0] != '\0')
> -           *cp++ = '\0';
> -
> -         /* Now look for the beginning of the value.  */
> --        while (isspace (cp[0]))
> -+        while (isspace ((unsigned char) cp[0]))
> -           ++cp;
> -
> -         if (cp[0] != '\0')
> -           {
> --            char *tp;
> --            size_t len;
> -+            size_t alias_len;
> -+            size_t value_len;
> -
> -             value = cp++;
> --            while (cp[0] != '\0' && !isspace (cp[0]))
> -+            while (cp[0] != '\0' && !isspace ((unsigned char) cp[0]))
> -               ++cp;
> -             /* Terminate value.  */
> -             if (cp[0] == '\n')
> -@@ -269,28 +299,44 @@
> -               *cp++ = '\0';
> -
> -             if (nmap >= maxmap)
> --              extend_alias_table ();
> --
> --            /* We cannot depend on strdup available in the libc.  Sigh!
> */
> --            len = strlen (alias) + 1;
> --            tp = (char *) malloc (len);
> --            if (tp == NULL)
> --              {
> --                FREE_BLOCKS (block_list);
> -+              if (__builtin_expect (extend_alias_table (), 0))
> -                 return added;
> --              }
> --            memcpy (tp, alias, len);
> --            map[nmap].alias = tp;
> -
> --            len = strlen (value) + 1;
> --            tp = (char *) malloc (len);
> --            if (tp == NULL)
> -+            alias_len = strlen (alias) + 1;
> -+            value_len = strlen (value) + 1;
> -+
> -+            if (string_space_act + alias_len + value_len >
> string_space_max)
> -               {
> --                FREE_BLOCKS (block_list);
> --                return added;
> -+                /* Increase size of memory pool.  */
> -+                size_t new_size = (string_space_max
> -+                                   + (alias_len + value_len > 1024
> -+                                      ? alias_len + value_len : 1024));
> -+                char *new_pool = (char *) realloc (string_space,
> new_size);
> -+                if (new_pool == NULL)
> -+                  return added;
> -+
> -+                if (__builtin_expect (string_space != new_pool, 0))
> -+                  {
> -+                    size_t i;
> -+
> -+                    for (i = 0; i < nmap; i++)
> -+                      {
> -+                        map[i].alias += new_pool - string_space;
> -+                        map[i].value += new_pool - string_space;
> -+                      }
> -+                  }
> -+
> -+                string_space = new_pool;
> -+                string_space_max = new_size;
> -               }
> --            memcpy (tp, value, len);
> --            map[nmap].value = tp;
> -+
> -+            map[nmap].alias = memcpy (&string_space[string_space_act],
> -+                                      alias, alias_len);
> -+            string_space_act += alias_len;
> -+
> -+            map[nmap].value = memcpy (&string_space[string_space_act],
> -+                                      value, value_len);
> -+            string_space_act += value_len;
> -
> -             ++nmap;
> -             ++added;
> -@@ -299,14 +345,11 @@
> -
> -       /* Possibly not the whole line fits into the buffer.  Ignore
> -        the rest of the line.  */
> --      while (strchr (cp, '\n') == NULL)
> --      {
> --        cp = buf;
> --        if (fgets (buf, BUFSIZ, fp) == NULL)
> --          /* Make sure the inner loop will be left.  The outer loop
> --             will exit at the `feof' test.  */
> --          *cp = '\n';
> --      }
> -+      while (strchr (buf, '\n') == NULL)
> -+      if (FGETS (buf, sizeof buf, fp) == NULL)
> -+        /* Make sure the inner loop will be left.  The outer loop
> -+           will exit at the `feof' test.  */
> -+        break;
> -     }
> -
> -   /* Should we test for ferror()?  I think we have to silently ignore
> -@@ -315,40 +358,33 @@
> -
> -   if (added > 0)
> -     qsort (map, nmap, sizeof (struct alias_map),
> --         (int (*) PARAMS ((const void *, const void *))) alias_compare);
> -+         (int (*) (const void *, const void *)) alias_compare);
> -
> --  FREE_BLOCKS (block_list);
> -   return added;
> - }
> -
> -
> --static void
> -+static int
> - extend_alias_table ()
> - {
> -   size_t new_size;
> -   struct alias_map *new_map;
> -
> -   new_size = maxmap == 0 ? 100 : 2 * maxmap;
> --  new_map = (struct alias_map *) malloc (new_size
> --                                       * sizeof (struct alias_map));
> -+  new_map = (struct alias_map *) realloc (map, (new_size
> -+                                              * sizeof (struct
> alias_map)));
> -   if (new_map == NULL)
> -     /* Simply don't extend: we don't have any more core.  */
> --    return;
> --
> --  memcpy (new_map, map, nmap * sizeof (struct alias_map));
> --
> --  if (maxmap != 0)
> --    free (map);
> -+    return -1;
> -
> -   map = new_map;
> -   maxmap = new_size;
> -+  return 0;
> - }
> -
> -
> - static int
> --alias_compare (map1, map2)
> --     const struct alias_map *map1;
> --     const struct alias_map *map2;
> -+alias_compare (const struct alias_map *map1, const struct alias_map
> *map2)
> - {
> - #if defined _LIBC || defined HAVE_STRCASECMP
> -   return strcasecmp (map1->alias, map2->alias);
> ---- lrzsz-0.12.20.safe/intl/localename.c       1969-12-31
> 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/intl/localename.c    2004-09-12 14:40:34.510724528 -0400
> -@@ -0,0 +1,1142 @@
> -+/* Determine the current selected locale.
> -+   Copyright (C) 1995-1999, 2000-2004 Free Software Foundation, Inc.
> -+
> -+   This program is free software; you can redistribute it and/or modify
> it
> -+   under the terms of the GNU Library General Public License as published
> -+   by the Free Software Foundation; either version 2, 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
> -+   Library General Public License for more details.
> -+
> -+   You should have received a copy of the GNU Library 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.  */
> -+
> -+/* Written by Ulrich Drepper <drepper at gnu.org>, 1995.  */
> -+/* Win32 code written by Tor Lillqvist <tml at iki.fi>.  */
> -+
> -+#ifdef HAVE_CONFIG_H
> -+# include <config.h>
> -+#endif
> -+
> -+#include <stdlib.h>
> -+#include <locale.h>
> -+
> -+#if defined _WIN32 || defined __WIN32__
> -+# undef WIN32   /* avoid warning on mingw32 */
> -+# define WIN32
> -+#endif
> -+
> -+#ifdef WIN32
> -+# define WIN32_LEAN_AND_MEAN
> -+# include <windows.h>
> -+/* List of language codes, sorted by value:
> -+   0x01 LANG_ARABIC
> -+   0x02 LANG_BULGARIAN
> -+   0x03 LANG_CATALAN
> -+   0x04 LANG_CHINESE
> -+   0x05 LANG_CZECH
> -+   0x06 LANG_DANISH
> -+   0x07 LANG_GERMAN
> -+   0x08 LANG_GREEK
> -+   0x09 LANG_ENGLISH
> -+   0x0a LANG_SPANISH
> -+   0x0b LANG_FINNISH
> -+   0x0c LANG_FRENCH
> -+   0x0d LANG_HEBREW
> -+   0x0e LANG_HUNGARIAN
> -+   0x0f LANG_ICELANDIC
> -+   0x10 LANG_ITALIAN
> -+   0x11 LANG_JAPANESE
> -+   0x12 LANG_KOREAN
> -+   0x13 LANG_DUTCH
> -+   0x14 LANG_NORWEGIAN
> -+   0x15 LANG_POLISH
> -+   0x16 LANG_PORTUGUESE
> -+   0x17 LANG_RHAETO_ROMANCE
> -+   0x18 LANG_ROMANIAN
> -+   0x19 LANG_RUSSIAN
> -+   0x1a LANG_CROATIAN == LANG_SERBIAN
> -+   0x1b LANG_SLOVAK
> -+   0x1c LANG_ALBANIAN
> -+   0x1d LANG_SWEDISH
> -+   0x1e LANG_THAI
> -+   0x1f LANG_TURKISH
> -+   0x20 LANG_URDU
> -+   0x21 LANG_INDONESIAN
> -+   0x22 LANG_UKRAINIAN
> -+   0x23 LANG_BELARUSIAN
> -+   0x24 LANG_SLOVENIAN
> -+   0x25 LANG_ESTONIAN
> -+   0x26 LANG_LATVIAN
> -+   0x27 LANG_LITHUANIAN
> -+   0x28 LANG_TAJIK
> -+   0x29 LANG_FARSI
> -+   0x2a LANG_VIETNAMESE
> -+   0x2b LANG_ARMENIAN
> -+   0x2c LANG_AZERI
> -+   0x2d LANG_BASQUE
> -+   0x2e LANG_SORBIAN
> -+   0x2f LANG_MACEDONIAN
> -+   0x30 LANG_SUTU
> -+   0x31 LANG_TSONGA
> -+   0x32 LANG_TSWANA
> -+   0x33 LANG_VENDA
> -+   0x34 LANG_XHOSA
> -+   0x35 LANG_ZULU
> -+   0x36 LANG_AFRIKAANS
> -+   0x37 LANG_GEORGIAN
> -+   0x38 LANG_FAEROESE
> -+   0x39 LANG_HINDI
> -+   0x3a LANG_MALTESE
> -+   0x3b LANG_SAAMI
> -+   0x3c LANG_GAELIC
> -+   0x3d LANG_YIDDISH
> -+   0x3e LANG_MALAY
> -+   0x3f LANG_KAZAK
> -+   0x40 LANG_KYRGYZ
> -+   0x41 LANG_SWAHILI
> -+   0x42 LANG_TURKMEN
> -+   0x43 LANG_UZBEK
> -+   0x44 LANG_TATAR
> -+   0x45 LANG_BENGALI
> -+   0x46 LANG_PUNJABI
> -+   0x47 LANG_GUJARATI
> -+   0x48 LANG_ORIYA
> -+   0x49 LANG_TAMIL
> -+   0x4a LANG_TELUGU
> -+   0x4b LANG_KANNADA
> -+   0x4c LANG_MALAYALAM
> -+   0x4d LANG_ASSAMESE
> -+   0x4e LANG_MARATHI
> -+   0x4f LANG_SANSKRIT
> -+   0x50 LANG_MONGOLIAN
> -+   0x51 LANG_TIBETAN
> -+   0x52 LANG_WELSH
> -+   0x53 LANG_CAMBODIAN
> -+   0x54 LANG_LAO
> -+   0x55 LANG_BURMESE
> -+   0x56 LANG_GALICIAN
> -+   0x57 LANG_KONKANI
> -+   0x58 LANG_MANIPURI
> -+   0x59 LANG_SINDHI
> -+   0x5a LANG_SYRIAC
> -+   0x5b LANG_SINHALESE
> -+   0x5c LANG_CHEROKEE
> -+   0x5d LANG_INUKTITUT
> -+   0x5e LANG_AMHARIC
> -+   0x5f LANG_TAMAZIGHT
> -+   0x60 LANG_KASHMIRI
> -+   0x61 LANG_NEPALI
> -+   0x62 LANG_FRISIAN
> -+   0x63 LANG_PASHTO
> -+   0x64 LANG_TAGALOG
> -+   0x65 LANG_DIVEHI
> -+   0x66 LANG_EDO
> -+   0x67 LANG_FULFULDE
> -+   0x68 LANG_HAUSA
> -+   0x69 LANG_IBIBIO
> -+   0x6a LANG_YORUBA
> -+   0x70 LANG_IGBO
> -+   0x71 LANG_KANURI
> -+   0x72 LANG_OROMO
> -+   0x73 LANG_TIGRINYA
> -+   0x74 LANG_GUARANI
> -+   0x75 LANG_HAWAIIAN
> -+   0x76 LANG_LATIN
> -+   0x77 LANG_SOMALI
> -+   0x78 LANG_YI
> -+   0x79 LANG_PAPIAMENTU
> -+*/
> -+/* Mingw headers don't have latest language and sublanguage codes.  */
> -+# ifndef LANG_AFRIKAANS
> -+# define LANG_AFRIKAANS 0x36
> -+# endif
> -+# ifndef LANG_ALBANIAN
> -+# define LANG_ALBANIAN 0x1c
> -+# endif
> -+# ifndef LANG_AMHARIC
> -+# define LANG_AMHARIC 0x5e
> -+# endif
> -+# ifndef LANG_ARABIC
> -+# define LANG_ARABIC 0x01
> -+# endif
> -+# ifndef LANG_ARMENIAN
> -+# define LANG_ARMENIAN 0x2b
> -+# endif
> -+# ifndef LANG_ASSAMESE
> -+# define LANG_ASSAMESE 0x4d
> -+# endif
> -+# ifndef LANG_AZERI
> -+# define LANG_AZERI 0x2c
> -+# endif
> -+# ifndef LANG_BASQUE
> -+# define LANG_BASQUE 0x2d
> -+# endif
> -+# ifndef LANG_BELARUSIAN
> -+# define LANG_BELARUSIAN 0x23
> -+# endif
> -+# ifndef LANG_BENGALI
> -+# define LANG_BENGALI 0x45
> -+# endif
> -+# ifndef LANG_BURMESE
> -+# define LANG_BURMESE 0x55
> -+# endif
> -+# ifndef LANG_CAMBODIAN
> -+# define LANG_CAMBODIAN 0x53
> -+# endif
> -+# ifndef LANG_CATALAN
> -+# define LANG_CATALAN 0x03
> -+# endif
> -+# ifndef LANG_CHEROKEE
> -+# define LANG_CHEROKEE 0x5c
> -+# endif
> -+# ifndef LANG_DIVEHI
> -+# define LANG_DIVEHI 0x65
> -+# endif
> -+# ifndef LANG_EDO
> -+# define LANG_EDO 0x66
> -+# endif
> -+# ifndef LANG_ESTONIAN
> -+# define LANG_ESTONIAN 0x25
> -+# endif
> -+# ifndef LANG_FAEROESE
> -+# define LANG_FAEROESE 0x38
> -+# endif
> -+# ifndef LANG_FARSI
> -+# define LANG_FARSI 0x29
> -+# endif
> -+# ifndef LANG_FRISIAN
> -+# define LANG_FRISIAN 0x62
> -+# endif
> -+# ifndef LANG_FULFULDE
> -+# define LANG_FULFULDE 0x67
> -+# endif
> -+# ifndef LANG_GAELIC
> -+# define LANG_GAELIC 0x3c
> -+# endif
> -+# ifndef LANG_GALICIAN
> -+# define LANG_GALICIAN 0x56
> -+# endif
> -+# ifndef LANG_GEORGIAN
> -+# define LANG_GEORGIAN 0x37
> -+# endif
> -+# ifndef LANG_GUARANI
> -+# define LANG_GUARANI 0x74
> -+# endif
> -+# ifndef LANG_GUJARATI
> -+# define LANG_GUJARATI 0x47
> -+# endif
> -+# ifndef LANG_HAUSA
> -+# define LANG_HAUSA 0x68
> -+# endif
> -+# ifndef LANG_HAWAIIAN
> -+# define LANG_HAWAIIAN 0x75
> -+# endif
> -+# ifndef LANG_HEBREW
> -+# define LANG_HEBREW 0x0d
> -+# endif
> -+# ifndef LANG_HINDI
> -+# define LANG_HINDI 0x39
> -+# endif
> -+# ifndef LANG_IBIBIO
> -+# define LANG_IBIBIO 0x69
> -+# endif
> -+# ifndef LANG_IGBO
> -+# define LANG_IGBO 0x70
> -+# endif
> -+# ifndef LANG_INDONESIAN
> -+# define LANG_INDONESIAN 0x21
> -+# endif
> -+# ifndef LANG_INUKTITUT
> -+# define LANG_INUKTITUT 0x5d
> -+# endif
> -+# ifndef LANG_KANNADA
> -+# define LANG_KANNADA 0x4b
> -+# endif
> -+# ifndef LANG_KANURI
> -+# define LANG_KANURI 0x71
> -+# endif
> -+# ifndef LANG_KASHMIRI
> -+# define LANG_KASHMIRI 0x60
> -+# endif
> -+# ifndef LANG_KAZAK
> -+# define LANG_KAZAK 0x3f
> -+# endif
> -+# ifndef LANG_KONKANI
> -+# define LANG_KONKANI 0x57
> -+# endif
> -+# ifndef LANG_KYRGYZ
> -+# define LANG_KYRGYZ 0x40
> -+# endif
> -+# ifndef LANG_LAO
> -+# define LANG_LAO 0x54
> -+# endif
> -+# ifndef LANG_LATIN
> -+# define LANG_LATIN 0x76
> -+# endif
> -+# ifndef LANG_LATVIAN
> -+# define LANG_LATVIAN 0x26
> -+# endif
> -+# ifndef LANG_LITHUANIAN
> -+# define LANG_LITHUANIAN 0x27
> -+# endif
> -+# ifndef LANG_MACEDONIAN
> -+# define LANG_MACEDONIAN 0x2f
> -+# endif
> -+# ifndef LANG_MALAY
> -+# define LANG_MALAY 0x3e
> -+# endif
> -+# ifndef LANG_MALAYALAM
> -+# define LANG_MALAYALAM 0x4c
> -+# endif
> -+# ifndef LANG_MALTESE
> -+# define LANG_MALTESE 0x3a
> -+# endif
> -+# ifndef LANG_MANIPURI
> -+# define LANG_MANIPURI 0x58
> -+# endif
> -+# ifndef LANG_MARATHI
> -+# define LANG_MARATHI 0x4e
> -+# endif
> -+# ifndef LANG_MONGOLIAN
> -+# define LANG_MONGOLIAN 0x50
> -+# endif
> -+# ifndef LANG_NEPALI
> -+# define LANG_NEPALI 0x61
> -+# endif
> -+# ifndef LANG_ORIYA
> -+# define LANG_ORIYA 0x48
> -+# endif
> -+# ifndef LANG_OROMO
> -+# define LANG_OROMO 0x72
> -+# endif
> -+# ifndef LANG_PAPIAMENTU
> -+# define LANG_PAPIAMENTU 0x79
> -+# endif
> -+# ifndef LANG_PASHTO
> -+# define LANG_PASHTO 0x63
> -+# endif
> -+# ifndef LANG_PUNJABI
> -+# define LANG_PUNJABI 0x46
> -+# endif
> -+# ifndef LANG_RHAETO_ROMANCE
> -+# define LANG_RHAETO_ROMANCE 0x17
> -+# endif
> -+# ifndef LANG_SAAMI
> -+# define LANG_SAAMI 0x3b
> -+# endif
> -+# ifndef LANG_SANSKRIT
> -+# define LANG_SANSKRIT 0x4f
> -+# endif
> -+# ifndef LANG_SERBIAN
> -+# define LANG_SERBIAN 0x1a
> -+# endif
> -+# ifndef LANG_SINDHI
> -+# define LANG_SINDHI 0x59
> -+# endif
> -+# ifndef LANG_SINHALESE
> -+# define LANG_SINHALESE 0x5b
> -+# endif
> -+# ifndef LANG_SLOVAK
> -+# define LANG_SLOVAK 0x1b
> -+# endif
> -+# ifndef LANG_SOMALI
> -+# define LANG_SOMALI 0x77
> -+# endif
> -+# ifndef LANG_SORBIAN
> -+# define LANG_SORBIAN 0x2e
> -+# endif
> -+# ifndef LANG_SUTU
> -+# define LANG_SUTU 0x30
> -+# endif
> -+# ifndef LANG_SWAHILI
> -+# define LANG_SWAHILI 0x41
> -+# endif
> -+# ifndef LANG_SYRIAC
> -+# define LANG_SYRIAC 0x5a
> -+# endif
> -+# ifndef LANG_TAGALOG
> -+# define LANG_TAGALOG 0x64
> -+# endif
> -+# ifndef LANG_TAJIK
> -+# define LANG_TAJIK 0x28
> -+# endif
> -+# ifndef LANG_TAMAZIGHT
> -+# define LANG_TAMAZIGHT 0x5f
> -+# endif
> -+# ifndef LANG_TAMIL
> -+# define LANG_TAMIL 0x49
> -+# endif
> -+# ifndef LANG_TATAR
> -+# define LANG_TATAR 0x44
> -+# endif
> -+# ifndef LANG_TELUGU
> -+# define LANG_TELUGU 0x4a
> -+# endif
> -+# ifndef LANG_THAI
> -+# define LANG_THAI 0x1e
> -+# endif
> -+# ifndef LANG_TIBETAN
> -+# define LANG_TIBETAN 0x51
> -+# endif
> -+# ifndef LANG_TIGRINYA
> -+# define LANG_TIGRINYA 0x73
> -+# endif
> -+# ifndef LANG_TSONGA
> -+# define LANG_TSONGA 0x31
> -+# endif
> -+# ifndef LANG_TSWANA
> -+# define LANG_TSWANA 0x32
> -+# endif
> -+# ifndef LANG_TURKMEN
> -+# define LANG_TURKMEN 0x42
> -+# endif
> -+# ifndef LANG_UKRAINIAN
> -+# define LANG_UKRAINIAN 0x22
> -+# endif
> -+# ifndef LANG_URDU
> -+# define LANG_URDU 0x20
> -+# endif
> -+# ifndef LANG_UZBEK
> -+# define LANG_UZBEK 0x43
> -+# endif
> -+# ifndef LANG_VENDA
> -+# define LANG_VENDA 0x33
> -+# endif
> -+# ifndef LANG_VIETNAMESE
> -+# define LANG_VIETNAMESE 0x2a
> -+# endif
> -+# ifndef LANG_WELSH
> -+# define LANG_WELSH 0x52
> -+# endif
> -+# ifndef LANG_XHOSA
> -+# define LANG_XHOSA 0x34
> -+# endif
> -+# ifndef LANG_YI
> -+# define LANG_YI 0x78
> -+# endif
> -+# ifndef LANG_YIDDISH
> -+# define LANG_YIDDISH 0x3d
> -+# endif
> -+# ifndef LANG_YORUBA
> -+# define LANG_YORUBA 0x6a
> -+# endif
> -+# ifndef LANG_ZULU
> -+# define LANG_ZULU 0x35
> -+# endif
> -+# ifndef SUBLANG_ARABIC_SAUDI_ARABIA
> -+# define SUBLANG_ARABIC_SAUDI_ARABIA 0x01
> -+# endif
> -+# ifndef SUBLANG_ARABIC_IRAQ
> -+# define SUBLANG_ARABIC_IRAQ 0x02
> -+# endif
> -+# ifndef SUBLANG_ARABIC_EGYPT
> -+# define SUBLANG_ARABIC_EGYPT 0x03
> -+# endif
> -+# ifndef SUBLANG_ARABIC_LIBYA
> -+# define SUBLANG_ARABIC_LIBYA 0x04
> -+# endif
> -+# ifndef SUBLANG_ARABIC_ALGERIA
> -+# define SUBLANG_ARABIC_ALGERIA 0x05
> -+# endif
> -+# ifndef SUBLANG_ARABIC_MOROCCO
> -+# define SUBLANG_ARABIC_MOROCCO 0x06
> -+# endif
> -+# ifndef SUBLANG_ARABIC_TUNISIA
> -+# define SUBLANG_ARABIC_TUNISIA 0x07
> -+# endif
> -+# ifndef SUBLANG_ARABIC_OMAN
> -+# define SUBLANG_ARABIC_OMAN 0x08
> -+# endif
> -+# ifndef SUBLANG_ARABIC_YEMEN
> -+# define SUBLANG_ARABIC_YEMEN 0x09
> -+# endif
> -+# ifndef SUBLANG_ARABIC_SYRIA
> -+# define SUBLANG_ARABIC_SYRIA 0x0a
> -+# endif
> -+# ifndef SUBLANG_ARABIC_JORDAN
> -+# define SUBLANG_ARABIC_JORDAN 0x0b
> -+# endif
> -+# ifndef SUBLANG_ARABIC_LEBANON
> -+# define SUBLANG_ARABIC_LEBANON 0x0c
> -+# endif
> -+# ifndef SUBLANG_ARABIC_KUWAIT
> -+# define SUBLANG_ARABIC_KUWAIT 0x0d
> -+# endif
> -+# ifndef SUBLANG_ARABIC_UAE
> -+# define SUBLANG_ARABIC_UAE 0x0e
> -+# endif
> -+# ifndef SUBLANG_ARABIC_BAHRAIN
> -+# define SUBLANG_ARABIC_BAHRAIN 0x0f
> -+# endif
> -+# ifndef SUBLANG_ARABIC_QATAR
> -+# define SUBLANG_ARABIC_QATAR 0x10
> -+# endif
> -+# ifndef SUBLANG_AZERI_LATIN
> -+# define SUBLANG_AZERI_LATIN 0x01
> -+# endif
> -+# ifndef SUBLANG_AZERI_CYRILLIC
> -+# define SUBLANG_AZERI_CYRILLIC 0x02
> -+# endif
> -+# ifndef SUBLANG_BENGALI_INDIA
> -+# define SUBLANG_BENGALI_INDIA 0x00
> -+# endif
> -+# ifndef SUBLANG_BENGALI_BANGLADESH
> -+# define SUBLANG_BENGALI_BANGLADESH 0x01
> -+# endif
> -+# ifndef SUBLANG_CHINESE_MACAU
> -+# define SUBLANG_CHINESE_MACAU 0x05
> -+# endif
> -+# ifndef SUBLANG_ENGLISH_SOUTH_AFRICA
> -+# define SUBLANG_ENGLISH_SOUTH_AFRICA 0x07
> -+# endif
> -+# ifndef SUBLANG_ENGLISH_JAMAICA
> -+# define SUBLANG_ENGLISH_JAMAICA 0x08
> -+# endif
> -+# ifndef SUBLANG_ENGLISH_CARIBBEAN
> -+# define SUBLANG_ENGLISH_CARIBBEAN 0x09
> -+# endif
> -+# ifndef SUBLANG_ENGLISH_BELIZE
> -+# define SUBLANG_ENGLISH_BELIZE 0x0a
> -+# endif
> -+# ifndef SUBLANG_ENGLISH_TRINIDAD
> -+# define SUBLANG_ENGLISH_TRINIDAD 0x0b
> -+# endif
> -+# ifndef SUBLANG_ENGLISH_ZIMBABWE
> -+# define SUBLANG_ENGLISH_ZIMBABWE 0x0c
> -+# endif
> -+# ifndef SUBLANG_ENGLISH_PHILIPPINES
> -+# define SUBLANG_ENGLISH_PHILIPPINES 0x0d
> -+# endif
> -+# ifndef SUBLANG_ENGLISH_INDONESIA
> -+# define SUBLANG_ENGLISH_INDONESIA 0x0e
> -+# endif
> -+# ifndef SUBLANG_ENGLISH_HONGKONG
> -+# define SUBLANG_ENGLISH_HONGKONG 0x0f
> -+# endif
> -+# ifndef SUBLANG_ENGLISH_INDIA
> -+# define SUBLANG_ENGLISH_INDIA 0x10
> -+# endif
> -+# ifndef SUBLANG_ENGLISH_MALAYSIA
> -+# define SUBLANG_ENGLISH_MALAYSIA 0x11
> -+# endif
> -+# ifndef SUBLANG_ENGLISH_SINGAPORE
> -+# define SUBLANG_ENGLISH_SINGAPORE 0x12
> -+# endif
> -+# ifndef SUBLANG_FRENCH_LUXEMBOURG
> -+# define SUBLANG_FRENCH_LUXEMBOURG 0x05
> -+# endif
> -+# ifndef SUBLANG_FRENCH_MONACO
> -+# define SUBLANG_FRENCH_MONACO 0x06
> -+# endif
> -+# ifndef SUBLANG_FRENCH_WESTINDIES
> -+# define SUBLANG_FRENCH_WESTINDIES 0x07
> -+# endif
> -+# ifndef SUBLANG_FRENCH_REUNION
> -+# define SUBLANG_FRENCH_REUNION 0x08
> -+# endif
> -+# ifndef SUBLANG_FRENCH_CONGO
> -+# define SUBLANG_FRENCH_CONGO 0x09
> -+# endif
> -+# ifndef SUBLANG_FRENCH_SENEGAL
> -+# define SUBLANG_FRENCH_SENEGAL 0x0a
> -+# endif
> -+# ifndef SUBLANG_FRENCH_CAMEROON
> -+# define SUBLANG_FRENCH_CAMEROON 0x0b
> -+# endif
> -+# ifndef SUBLANG_FRENCH_COTEDIVOIRE
> -+# define SUBLANG_FRENCH_COTEDIVOIRE 0x0c
> -+# endif
> -+# ifndef SUBLANG_FRENCH_MALI
> -+# define SUBLANG_FRENCH_MALI 0x0d
> -+# endif
> -+# ifndef SUBLANG_FRENCH_MOROCCO
> -+# define SUBLANG_FRENCH_MOROCCO 0x0e
> -+# endif
> -+# ifndef SUBLANG_FRENCH_HAITI
> -+# define SUBLANG_FRENCH_HAITI 0x0f
> -+# endif
> -+# ifndef SUBLANG_GERMAN_LUXEMBOURG
> -+# define SUBLANG_GERMAN_LUXEMBOURG 0x04
> -+# endif
> -+# ifndef SUBLANG_GERMAN_LIECHTENSTEIN
> -+# define SUBLANG_GERMAN_LIECHTENSTEIN 0x05
> -+# endif
> -+# ifndef SUBLANG_KASHMIRI_INDIA
> -+# define SUBLANG_KASHMIRI_INDIA 0x02
> -+# endif
> -+# ifndef SUBLANG_MALAY_MALAYSIA
> -+# define SUBLANG_MALAY_MALAYSIA 0x01
> -+# endif
> -+# ifndef SUBLANG_MALAY_BRUNEI_DARUSSALAM
> -+# define SUBLANG_MALAY_BRUNEI_DARUSSALAM 0x02
> -+# endif
> -+# ifndef SUBLANG_NEPALI_INDIA
> -+# define SUBLANG_NEPALI_INDIA 0x02
> -+# endif
> -+# ifndef SUBLANG_PUNJABI_INDIA
> -+# define SUBLANG_PUNJABI_INDIA 0x00
> -+# endif
> -+# ifndef SUBLANG_PUNJABI_PAKISTAN
> -+# define SUBLANG_PUNJABI_PAKISTAN 0x01
> -+# endif
> -+# ifndef SUBLANG_ROMANIAN_ROMANIA
> -+# define SUBLANG_ROMANIAN_ROMANIA 0x00
> -+# endif
> -+# ifndef SUBLANG_ROMANIAN_MOLDOVA
> -+# define SUBLANG_ROMANIAN_MOLDOVA 0x01
> -+# endif
> -+# ifndef SUBLANG_SERBIAN_LATIN
> -+# define SUBLANG_SERBIAN_LATIN 0x02
> -+# endif
> -+# ifndef SUBLANG_SERBIAN_CYRILLIC
> -+# define SUBLANG_SERBIAN_CYRILLIC 0x03
> -+# endif
> -+# ifndef SUBLANG_SINDHI_INDIA
> -+# define SUBLANG_SINDHI_INDIA 0x00
> -+# endif
> -+# ifndef SUBLANG_SINDHI_PAKISTAN
> -+# define SUBLANG_SINDHI_PAKISTAN 0x01
> -+# endif
> -+# ifndef SUBLANG_SPANISH_GUATEMALA
> -+# define SUBLANG_SPANISH_GUATEMALA 0x04
> -+# endif
> -+# ifndef SUBLANG_SPANISH_COSTA_RICA
> -+# define SUBLANG_SPANISH_COSTA_RICA 0x05
> -+# endif
> -+# ifndef SUBLANG_SPANISH_PANAMA
> -+# define SUBLANG_SPANISH_PANAMA 0x06
> -+# endif
> -+# ifndef SUBLANG_SPANISH_DOMINICAN_REPUBLIC
> -+# define SUBLANG_SPANISH_DOMINICAN_REPUBLIC 0x07
> -+# endif
> -+# ifndef SUBLANG_SPANISH_VENEZUELA
> -+# define SUBLANG_SPANISH_VENEZUELA 0x08
> -+# endif
> -+# ifndef SUBLANG_SPANISH_COLOMBIA
> -+# define SUBLANG_SPANISH_COLOMBIA 0x09
> -+# endif
> -+# ifndef SUBLANG_SPANISH_PERU
> -+# define SUBLANG_SPANISH_PERU 0x0a
> -+# endif
> -+# ifndef SUBLANG_SPANISH_ARGENTINA
> -+# define SUBLANG_SPANISH_ARGENTINA 0x0b
> -+# endif
> -+# ifndef SUBLANG_SPANISH_ECUADOR
> -+# define SUBLANG_SPANISH_ECUADOR 0x0c
> -+# endif
> -+# ifndef SUBLANG_SPANISH_CHILE
> -+# define SUBLANG_SPANISH_CHILE 0x0d
> -+# endif
> -+# ifndef SUBLANG_SPANISH_URUGUAY
> -+# define SUBLANG_SPANISH_URUGUAY 0x0e
> -+# endif
> -+# ifndef SUBLANG_SPANISH_PARAGUAY
> -+# define SUBLANG_SPANISH_PARAGUAY 0x0f
> -+# endif
> -+# ifndef SUBLANG_SPANISH_BOLIVIA
> -+# define SUBLANG_SPANISH_BOLIVIA 0x10
> -+# endif
> -+# ifndef SUBLANG_SPANISH_EL_SALVADOR
> -+# define SUBLANG_SPANISH_EL_SALVADOR 0x11
> -+# endif
> -+# ifndef SUBLANG_SPANISH_HONDURAS
> -+# define SUBLANG_SPANISH_HONDURAS 0x12
> -+# endif
> -+# ifndef SUBLANG_SPANISH_NICARAGUA
> -+# define SUBLANG_SPANISH_NICARAGUA 0x13
> -+# endif
> -+# ifndef SUBLANG_SPANISH_PUERTO_RICO
> -+# define SUBLANG_SPANISH_PUERTO_RICO 0x14
> -+# endif
> -+# ifndef SUBLANG_SWEDISH_FINLAND
> -+# define SUBLANG_SWEDISH_FINLAND 0x02
> -+# endif
> -+# ifndef SUBLANG_TAMAZIGHT_ARABIC
> -+# define SUBLANG_TAMAZIGHT_ARABIC 0x01
> -+# endif
> -+# ifndef SUBLANG_TAMAZIGHT_LATIN
> -+# define SUBLANG_TAMAZIGHT_LATIN 0x02
> -+# endif
> -+# ifndef SUBLANG_TIGRINYA_ETHIOPIA
> -+# define SUBLANG_TIGRINYA_ETHIOPIA 0x00
> -+# endif
> -+# ifndef SUBLANG_TIGRINYA_ERITREA
> -+# define SUBLANG_TIGRINYA_ERITREA 0x01
> -+# endif
> -+# ifndef SUBLANG_URDU_PAKISTAN
> -+# define SUBLANG_URDU_PAKISTAN 0x01
> -+# endif
> -+# ifndef SUBLANG_URDU_INDIA
> -+# define SUBLANG_URDU_INDIA 0x02
> -+# endif
> -+# ifndef SUBLANG_UZBEK_LATIN
> -+# define SUBLANG_UZBEK_LATIN 0x01
> -+# endif
> -+# ifndef SUBLANG_UZBEK_CYRILLIC
> -+# define SUBLANG_UZBEK_CYRILLIC 0x02
> -+# endif
> -+#endif
> -+
> -+/* XPG3 defines the result of 'setlocale (category, NULL)' as:
> -+   "Directs 'setlocale()' to query 'category' and return the current
> -+    setting of 'local'."
> -+   However it does not specify the exact format.  Neither do SUSV2 and
> -+   ISO C 99.  So we can use this feature only on selected systems (e.g.
> -+   those using GNU C Library).  */
> -+#if defined _LIBC || (defined __GNU_LIBRARY__ && __GNU_LIBRARY__ >= 2)
> -+# define HAVE_LOCALE_NULL
> -+#endif
> -+
> -+/* Determine the current locale's name, and canonicalize it into XPG
> syntax
> -+     language[_territory[.codeset]][@modifier]
> -+   The codeset part in the result is not reliable; the locale_charset()
> -+   should be used for codeset information instead.
> -+   The result must not be freed; it is statically allocated.  */
> -+
> -+const char *
> -+_nl_locale_name (int category, const char *categoryname)
> -+{
> -+  const char *retval;
> -+
> -+#ifndef WIN32
> -+
> -+  /* Use the POSIX methods of looking to 'LC_ALL', 'LC_xxx', and 'LANG'.
> -+     On some systems this can be done by the 'setlocale' function
> itself.  */
> -+# if defined HAVE_SETLOCALE && defined HAVE_LC_MESSAGES && defined
> HAVE_LOCALE_NULL
> -+  retval = setlocale (category, NULL);
> -+# else
> -+  /* Setting of LC_ALL overwrites all other.  */
> -+  retval = getenv ("LC_ALL");
> -+  if (retval == NULL || retval[0] == '\0')
> -+    {
> -+      /* Next comes the name of the desired category.  */
> -+      retval = getenv (categoryname);
> -+      if (retval == NULL || retval[0] == '\0')
> -+      {
> -+        /* Last possibility is the LANG environment variable.  */
> -+        retval = getenv ("LANG");
> -+        if (retval == NULL || retval[0] == '\0')
> -+          /* We use C as the default domain.  POSIX says this is
> -+             implementation defined.  */
> -+          retval = "C";
> -+      }
> -+    }
> -+# endif
> -+
> -+  return retval;
> -+
> -+#else /* WIN32 */
> -+
> -+  /* Return an XPG style locale name language[_territory][@modifier].
> -+     Don't even bother determining the codeset; it's not useful in this
> -+     context, because message catalogs are not specific to a single
> -+     codeset.  */
> -+
> -+  LCID lcid;
> -+  LANGID langid;
> -+  int primary, sub;
> -+
> -+  /* Let the user override the system settings through environment
> -+     variables, as on POSIX systems.  */
> -+  retval = getenv ("LC_ALL");
> -+  if (retval != NULL && retval[0] != '\0')
> -+    return retval;
> -+  retval = getenv (categoryname);
> -+  if (retval != NULL && retval[0] != '\0')
> -+    return retval;
> -+  retval = getenv ("LANG");
> -+  if (retval != NULL && retval[0] != '\0')
> -+    return retval;
> -+
> -+  /* Use native Win32 API locale ID.  */
> -+  lcid = GetThreadLocale ();
> -+
> -+  /* Strip off the sorting rules, keep only the language part.  */
> -+  langid = LANGIDFROMLCID (lcid);
> -+
> -+  /* Split into language and territory part.  */
> -+  primary = PRIMARYLANGID (langid);
> -+  sub = SUBLANGID (langid);
> -+
> -+  /* Dispatch on language.
> -+     See also http://www.unicode.org/unicode/onlinedat/languages.html .
> -+     For details about languages, see http://www.ethnologue.com/ .  */
> -+  switch (primary)
> -+    {
> -+    case LANG_AFRIKAANS: return "af_ZA";
> -+    case LANG_ALBANIAN: return "sq_AL";
> -+    case LANG_AMHARIC: return "am_ET";
> -+    case LANG_ARABIC:
> -+      switch (sub)
> -+      {
> -+      case SUBLANG_ARABIC_SAUDI_ARABIA: return "ar_SA";
> -+      case SUBLANG_ARABIC_IRAQ: return "ar_IQ";
> -+      case SUBLANG_ARABIC_EGYPT: return "ar_EG";
> -+      case SUBLANG_ARABIC_LIBYA: return "ar_LY";
> -+      case SUBLANG_ARABIC_ALGERIA: return "ar_DZ";
> -+      case SUBLANG_ARABIC_MOROCCO: return "ar_MA";
> -+      case SUBLANG_ARABIC_TUNISIA: return "ar_TN";
> -+      case SUBLANG_ARABIC_OMAN: return "ar_OM";
> -+      case SUBLANG_ARABIC_YEMEN: return "ar_YE";
> -+      case SUBLANG_ARABIC_SYRIA: return "ar_SY";
> -+      case SUBLANG_ARABIC_JORDAN: return "ar_JO";
> -+      case SUBLANG_ARABIC_LEBANON: return "ar_LB";
> -+      case SUBLANG_ARABIC_KUWAIT: return "ar_KW";
> -+      case SUBLANG_ARABIC_UAE: return "ar_AE";
> -+      case SUBLANG_ARABIC_BAHRAIN: return "ar_BH";
> -+      case SUBLANG_ARABIC_QATAR: return "ar_QA";
> -+      }
> -+      return "ar";
> -+    case LANG_ARMENIAN: return "hy_AM";
> -+    case LANG_ASSAMESE: return "as_IN";
> -+    case LANG_AZERI:
> -+      switch (sub)
> -+      {
> -+      /* FIXME: Adjust this when Azerbaijani locales appear on Unix.  */
> -+      case SUBLANG_AZERI_LATIN: return "az_AZ at latin";
> -+      case SUBLANG_AZERI_CYRILLIC: return "az_AZ at cyrillic";
> -+      }
> -+      return "az";
> -+    case LANG_BASQUE:
> -+      return "eu"; /* Ambiguous: could be "eu_ES" or "eu_FR".  */
> -+    case LANG_BELARUSIAN: return "be_BY";
> -+    case LANG_BENGALI:
> -+      switch (sub)
> -+      {
> -+      case SUBLANG_BENGALI_INDIA: return "bn_IN";
> -+      case SUBLANG_BENGALI_BANGLADESH: return "bn_BD";
> -+      }
> -+      return "bn";
> -+    case LANG_BULGARIAN: return "bg_BG";
> -+    case LANG_BURMESE: return "my_MM";
> -+    case LANG_CAMBODIAN: return "km_KH";
> -+    case LANG_CATALAN: return "ca_ES";
> -+    case LANG_CHEROKEE: return "chr_US";
> -+    case LANG_CHINESE:
> -+      switch (sub)
> -+      {
> -+      case SUBLANG_CHINESE_TRADITIONAL: return "zh_TW";
> -+      case SUBLANG_CHINESE_SIMPLIFIED: return "zh_CN";
> -+      case SUBLANG_CHINESE_HONGKONG: return "zh_HK";
> -+      case SUBLANG_CHINESE_SINGAPORE: return "zh_SG";
> -+      case SUBLANG_CHINESE_MACAU: return "zh_MO";
> -+      }
> -+      return "zh";
> -+    case LANG_CROATIAN:               /* LANG_CROATIAN == LANG_SERBIAN
> -+                               * What used to be called Serbo-Croatian
> -+                               * should really now be two separate
> -+                               * languages because of political reasons.
> -+                               * (Says tml, who knows nothing about
> Serbian
> -+                               * or Croatian.)
> -+                               * (I can feel those flames coming
> already.)
> -+                               */
> -+      switch (sub)
> -+      {
> -+      case SUBLANG_DEFAULT: return "hr_HR";
> -+      case SUBLANG_SERBIAN_LATIN: return "sr_CS";
> -+      case SUBLANG_SERBIAN_CYRILLIC: return "sr_CS at cyrillic";
> -+      }
> -+      return "hr";
> -+    case LANG_CZECH: return "cs_CZ";
> -+    case LANG_DANISH: return "da_DK";
> -+    case LANG_DIVEHI: return "dv_MV";
> -+    case LANG_DUTCH:
> -+      switch (sub)
> -+      {
> -+      case SUBLANG_DUTCH: return "nl_NL";
> -+      case SUBLANG_DUTCH_BELGIAN: /* FLEMISH, VLAAMS */ return "nl_BE";
> -+      }
> -+      return "nl";
> -+    case LANG_EDO: return "bin_NG";
> -+    case LANG_ENGLISH:
> -+      switch (sub)
> -+      {
> -+      /* SUBLANG_ENGLISH_US == SUBLANG_DEFAULT. Heh. I thought
> -+       * English was the language spoken in England.
> -+       * Oh well.
> -+       */
> -+      case SUBLANG_ENGLISH_US: return "en_US";
> -+      case SUBLANG_ENGLISH_UK: return "en_GB";
> -+      case SUBLANG_ENGLISH_AUS: return "en_AU";
> -+      case SUBLANG_ENGLISH_CAN: return "en_CA";
> -+      case SUBLANG_ENGLISH_NZ: return "en_NZ";
> -+      case SUBLANG_ENGLISH_EIRE: return "en_IE";
> -+      case SUBLANG_ENGLISH_SOUTH_AFRICA: return "en_ZA";
> -+      case SUBLANG_ENGLISH_JAMAICA: return "en_JM";
> -+      case SUBLANG_ENGLISH_CARIBBEAN: return "en_GD"; /* Grenada? */
> -+      case SUBLANG_ENGLISH_BELIZE: return "en_BZ";
> -+      case SUBLANG_ENGLISH_TRINIDAD: return "en_TT";
> -+      case SUBLANG_ENGLISH_ZIMBABWE: return "en_ZW";
> -+      case SUBLANG_ENGLISH_PHILIPPINES: return "en_PH";
> -+      case SUBLANG_ENGLISH_INDONESIA: return "en_ID";
> -+      case SUBLANG_ENGLISH_HONGKONG: return "en_HK";
> -+      case SUBLANG_ENGLISH_INDIA: return "en_IN";
> -+      case SUBLANG_ENGLISH_MALAYSIA: return "en_MY";
> -+      case SUBLANG_ENGLISH_SINGAPORE: return "en_SG";
> -+      }
> -+      return "en";
> -+    case LANG_ESTONIAN: return "et_EE";
> -+    case LANG_FAEROESE: return "fo_FO";
> -+    case LANG_FARSI: return "fa_IR";
> -+    case LANG_FINNISH: return "fi_FI";
> -+    case LANG_FRENCH:
> -+      switch (sub)
> -+      {
> -+      case SUBLANG_FRENCH: return "fr_FR";
> -+      case SUBLANG_FRENCH_BELGIAN: /* WALLOON */ return "fr_BE";
> -+      case SUBLANG_FRENCH_CANADIAN: return "fr_CA";
> -+      case SUBLANG_FRENCH_SWISS: return "fr_CH";
> -+      case SUBLANG_FRENCH_LUXEMBOURG: return "fr_LU";
> -+      case SUBLANG_FRENCH_MONACO: return "fr_MC";
> -+      case SUBLANG_FRENCH_WESTINDIES: return "fr"; /* Caribbean? */
> -+      case SUBLANG_FRENCH_REUNION: return "fr_RE";
> -+      case SUBLANG_FRENCH_CONGO: return "fr_CG";
> -+      case SUBLANG_FRENCH_SENEGAL: return "fr_SN";
> -+      case SUBLANG_FRENCH_CAMEROON: return "fr_CM";
> -+      case SUBLANG_FRENCH_COTEDIVOIRE: return "fr_CI";
> -+      case SUBLANG_FRENCH_MALI: return "fr_ML";
> -+      case SUBLANG_FRENCH_MOROCCO: return "fr_MA";
> -+      case SUBLANG_FRENCH_HAITI: return "fr_HT";
> -+      }
> -+      return "fr";
> -+    case LANG_FRISIAN: return "fy_NL";
> -+    case LANG_FULFULDE:
> -+      /* Spoken in Nigeria, Guinea, Senegal, Mali, Niger, Cameroon,
> Benin. */
> -+      return "ff_NG";
> -+    case LANG_GAELIC:
> -+      switch (sub)
> -+      {
> -+      case 0x01: /* SCOTTISH */ return "gd_GB";
> -+      case 0x02: /* IRISH */ return "ga_IE";
> -+      }
> -+      return "C";
> -+    case LANG_GALICIAN: return "gl_ES";
> -+    case LANG_GEORGIAN: return "ka_GE";
> -+    case LANG_GERMAN:
> -+      switch (sub)
> -+      {
> -+      case SUBLANG_GERMAN: return "de_DE";
> -+      case SUBLANG_GERMAN_SWISS: return "de_CH";
> -+      case SUBLANG_GERMAN_AUSTRIAN: return "de_AT";
> -+      case SUBLANG_GERMAN_LUXEMBOURG: return "de_LU";
> -+      case SUBLANG_GERMAN_LIECHTENSTEIN: return "de_LI";
> -+      }
> -+      return "de";
> -+    case LANG_GREEK: return "el_GR";
> -+    case LANG_GUARANI: return "gn_PY";
> -+    case LANG_GUJARATI: return "gu_IN";
> -+    case LANG_HAUSA: return "ha_NG";
> -+    case LANG_HAWAIIAN:
> -+      /* FIXME: Do they mean Hawaiian ("haw_US", 1000 speakers)
> -+       or Hawaii Creole English ("cpe_US", 600000 speakers)?  */
> -+      return "cpe_US";
> -+    case LANG_HEBREW: return "he_IL";
> -+    case LANG_HINDI: return "hi_IN";
> -+    case LANG_HUNGARIAN: return "hu_HU";
> -+    case LANG_IBIBIO: return "nic_NG";
> -+    case LANG_ICELANDIC: return "is_IS";
> -+    case LANG_IGBO: return "ig_NG";
> -+    case LANG_INDONESIAN: return "id_ID";
> -+    case LANG_INUKTITUT: return "iu_CA";
> -+    case LANG_ITALIAN:
> -+      switch (sub)
> -+      {
> -+      case SUBLANG_ITALIAN: return "it_IT";
> -+      case SUBLANG_ITALIAN_SWISS: return "it_CH";
> -+      }
> -+      return "it";
> -+    case LANG_JAPANESE: return "ja_JP";
> -+    case LANG_KANNADA: return "kn_IN";
> -+    case LANG_KANURI: return "kr_NG";
> -+    case LANG_KASHMIRI:
> -+      switch (sub)
> -+      {
> -+      case SUBLANG_DEFAULT: return "ks_PK";
> -+      case SUBLANG_KASHMIRI_INDIA: return "ks_IN";
> -+      }
> -+      return "ks";
> -+    case LANG_KAZAK: return "kk_KZ";
> -+    case LANG_KONKANI:
> -+      /* FIXME: Adjust this when such locales appear on Unix.  */
> -+      return "kok_IN";
> -+    case LANG_KOREAN: return "ko_KR";
> -+    case LANG_KYRGYZ: return "ky_KG";
> -+    case LANG_LAO: return "lo_LA";
> -+    case LANG_LATIN: return "la_VA";
> -+    case LANG_LATVIAN: return "lv_LV";
> -+    case LANG_LITHUANIAN: return "lt_LT";
> -+    case LANG_MACEDONIAN: return "mk_MK";
> -+    case LANG_MALAY:
> -+      switch (sub)
> -+      {
> -+      case SUBLANG_MALAY_MALAYSIA: return "ms_MY";
> -+      case SUBLANG_MALAY_BRUNEI_DARUSSALAM: return "ms_BN";
> -+      }
> -+      return "ms";
> -+    case LANG_MALAYALAM: return "ml_IN";
> -+    case LANG_MALTESE: return "mt_MT";
> -+    case LANG_MANIPURI:
> -+      /* FIXME: Adjust this when such locales appear on Unix.  */
> -+      return "mni_IN";
> -+    case LANG_MARATHI: return "mr_IN";
> -+    case LANG_MONGOLIAN:
> -+      return "mn"; /* Ambiguous: could be "mn_CN" or "mn_MN".  */
> -+    case LANG_NEPALI:
> -+      switch (sub)
> -+      {
> -+      case SUBLANG_DEFAULT: return "ne_NP";
> -+      case SUBLANG_NEPALI_INDIA: return "ne_IN";
> -+      }
> -+      return "ne";
> -+    case LANG_NORWEGIAN:
> -+      switch (sub)
> -+      {
> -+      case SUBLANG_NORWEGIAN_BOKMAL: return "no_NO";
> -+      case SUBLANG_NORWEGIAN_NYNORSK: return "nn_NO";
> -+      }
> -+      return "no";
> -+    case LANG_ORIYA: return "or_IN";
> -+    case LANG_OROMO: return "om_ET";
> -+    case LANG_PAPIAMENTU: return "pap_AN";
> -+    case LANG_PASHTO:
> -+      return "ps"; /* Ambiguous: could be "ps_PK" or "ps_AF".  */
> -+    case LANG_POLISH: return "pl_PL";
> -+    case LANG_PORTUGUESE:
> -+      switch (sub)
> -+      {
> -+      case SUBLANG_PORTUGUESE: return "pt_PT";
> -+      /* Hmm. SUBLANG_PORTUGUESE_BRAZILIAN == SUBLANG_DEFAULT.
> -+         Same phenomenon as SUBLANG_ENGLISH_US == SUBLANG_DEFAULT. */
> -+      case SUBLANG_PORTUGUESE_BRAZILIAN: return "pt_BR";
> -+      }
> -+      return "pt";
> -+    case LANG_PUNJABI:
> -+      switch (sub)
> -+      {
> -+      case SUBLANG_PUNJABI_INDIA: return "pa_IN"; /* Gurmukhi script */
> -+      case SUBLANG_PUNJABI_PAKISTAN: return "pa_PK"; /* Arabic script */
> -+      }
> -+      return "pa";
> -+    case LANG_RHAETO_ROMANCE: return "rm_CH";
> -+    case LANG_ROMANIAN:
> -+      switch (sub)
> -+      {
> -+      case SUBLANG_ROMANIAN_ROMANIA: return "ro_RO";
> -+      case SUBLANG_ROMANIAN_MOLDOVA: return "ro_MD";
> -+      }
> -+      return "ro";
> -+    case LANG_RUSSIAN:
> -+      return "ru"; /* Ambiguous: could be "ru_RU" or "ru_UA" or
> "ru_MD".  */
> -+    case LANG_SAAMI: /* actually Northern Sami */ return "se_NO";
> -+    case LANG_SANSKRIT: return "sa_IN";
> -+    case LANG_SINDHI:
> -+      switch (sub)
> -+      {
> -+      case SUBLANG_SINDHI_INDIA: return "sd_IN";
> -+      case SUBLANG_SINDHI_PAKISTAN: return "sd_PK";
> -+      }
> -+      return "sd";
> -+    case LANG_SINHALESE: return "si_LK";
> -+    case LANG_SLOVAK: return "sk_SK";
> -+    case LANG_SLOVENIAN: return "sl_SI";
> -+    case LANG_SOMALI: return "so_SO";
> -+    case LANG_SORBIAN:
> -+      /* FIXME: Adjust this when such locales appear on Unix.  */
> -+      return "wen_DE";
> -+    case LANG_SPANISH:
> -+      switch (sub)
> -+      {
> -+      case SUBLANG_SPANISH: return "es_ES";
> -+      case SUBLANG_SPANISH_MEXICAN: return "es_MX";
> -+      case SUBLANG_SPANISH_MODERN:
> -+        return "es_ES at modern";        /* not seen on Unix */
> -+      case SUBLANG_SPANISH_GUATEMALA: return "es_GT";
> -+      case SUBLANG_SPANISH_COSTA_RICA: return "es_CR";
> -+      case SUBLANG_SPANISH_PANAMA: return "es_PA";
> -+      case SUBLANG_SPANISH_DOMINICAN_REPUBLIC: return "es_DO";
> -+      case SUBLANG_SPANISH_VENEZUELA: return "es_VE";
> -+      case SUBLANG_SPANISH_COLOMBIA: return "es_CO";
> -+      case SUBLANG_SPANISH_PERU: return "es_PE";
> -+      case SUBLANG_SPANISH_ARGENTINA: return "es_AR";
> -+      case SUBLANG_SPANISH_ECUADOR: return "es_EC";
> -+      case SUBLANG_SPANISH_CHILE: return "es_CL";
> -+      case SUBLANG_SPANISH_URUGUAY: return "es_UY";
> -+      case SUBLANG_SPANISH_PARAGUAY: return "es_PY";
> -+      case SUBLANG_SPANISH_BOLIVIA: return "es_BO";
> -+      case SUBLANG_SPANISH_EL_SALVADOR: return "es_SV";
> -+      case SUBLANG_SPANISH_HONDURAS: return "es_HN";
> -+      case SUBLANG_SPANISH_NICARAGUA: return "es_NI";
> -+      case SUBLANG_SPANISH_PUERTO_RICO: return "es_PR";
> -+      }
> -+      return "es";
> -+    case LANG_SUTU: return "bnt_TZ"; /* or "st_LS" or "nso_ZA"? */
> -+    case LANG_SWAHILI: return "sw_KE";
> -+    case LANG_SWEDISH:
> -+      switch (sub)
> -+      {
> -+      case SUBLANG_DEFAULT: return "sv_SE";
> -+      case SUBLANG_SWEDISH_FINLAND: return "sv_FI";
> -+      }
> -+      return "sv";
> -+    case LANG_SYRIAC: return "syr_TR"; /* An extinct language.  */
> -+    case LANG_TAGALOG: return "tl_PH";
> -+    case LANG_TAJIK: return "tg_TJ";
> -+    case LANG_TAMAZIGHT:
> -+      switch (sub)
> -+      {
> -+      /* FIXME: Adjust this when Tamazight locales appear on Unix.  */
> -+      case SUBLANG_TAMAZIGHT_ARABIC: return "ber_MA at arabic";
> -+      case SUBLANG_TAMAZIGHT_LATIN: return "ber_MA at latin";
> -+      }
> -+      return "ber_MA";
> -+    case LANG_TAMIL:
> -+      return "ta"; /* Ambiguous: could be "ta_IN" or "ta_LK" or
> "ta_SG".  */
> -+    case LANG_TATAR: return "tt_RU";
> -+    case LANG_TELUGU: return "te_IN";
> -+    case LANG_THAI: return "th_TH";
> -+    case LANG_TIBETAN: return "bo_CN";
> -+    case LANG_TIGRINYA:
> -+      switch (sub)
> -+      {
> -+      case SUBLANG_TIGRINYA_ETHIOPIA: return "ti_ET";
> -+      case SUBLANG_TIGRINYA_ERITREA: return "ti_ER";
> -+      }
> -+      return "ti";
> -+    case LANG_TSONGA: return "ts_ZA";
> -+    case LANG_TSWANA: return "tn_BW";
> -+    case LANG_TURKISH: return "tr_TR";
> -+    case LANG_TURKMEN: return "tk_TM";
> -+    case LANG_UKRAINIAN: return "uk_UA";
> -+    case LANG_URDU:
> -+      switch (sub)
> -+      {
> -+      case SUBLANG_URDU_PAKISTAN: return "ur_PK";
> -+      case SUBLANG_URDU_INDIA: return "ur_IN";
> -+      }
> -+      return "ur";
> -+    case LANG_UZBEK:
> -+      switch (sub)
> -+      {
> -+      case SUBLANG_UZBEK_LATIN: return "uz_UZ";
> -+      case SUBLANG_UZBEK_CYRILLIC: return "uz_UZ at cyrillic";
> -+      }
> -+      return "uz";
> -+    case LANG_VENDA: return "ve_ZA";
> -+    case LANG_VIETNAMESE: return "vi_VN";
> -+    case LANG_WELSH: return "cy_GB";
> -+    case LANG_XHOSA: return "xh_ZA";
> -+    case LANG_YI: return "sit_CN";
> -+    case LANG_YIDDISH: return "yi_IL";
> -+    case LANG_YORUBA: return "yo_NG";
> -+    case LANG_ZULU: return "zu_ZA";
> -+    default: return "C";
> -+    }
> -+
> -+#endif
> -+}
> ---- lrzsz-0.12.20.safe/intl/log.c      1969-12-31 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/intl/log.c   2004-09-12 14:40:34.515723768 -0400
> -@@ -0,0 +1,98 @@
> -+/* Log file output.
> -+   Copyright (C) 2003 Free Software Foundation, Inc.
> -+
> -+   This program is free software; you can redistribute it and/or modify
> it
> -+   under the terms of the GNU Library General Public License as published
> -+   by the Free Software Foundation; either version 2, 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
> -+   Library General Public License for more details.
> -+
> -+   You should have received a copy of the GNU Library 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.  */
> -+
> -+/* Written by Bruno Haible <bruno at clisp.org>.  */
> -+
> -+#ifdef HAVE_CONFIG_H
> -+# include <config.h>
> -+#endif
> -+
> -+#include <stdio.h>
> -+#include <stdlib.h>
> -+#include <string.h>
> -+
> -+/* Print an ASCII string with quotes and escape sequences where needed.
> */
> -+static void
> -+print_escaped (FILE *stream, const char *str)
> -+{
> -+  putc ('"', stream);
> -+  for (; *str != '\0'; str++)
> -+    if (*str == '\n')
> -+      {
> -+      fputs ("\\n\"", stream);
> -+      if (str[1] == '\0')
> -+        return;
> -+      fputs ("\n\"", stream);
> -+      }
> -+    else
> -+      {
> -+      if (*str == '"' || *str == '\\')
> -+        putc ('\\', stream);
> -+      putc (*str, stream);
> -+      }
> -+  putc ('"', stream);
> -+}
> -+
> -+/* Add to the log file an entry denoting a failed translation.  */
> -+void
> -+_nl_log_untranslated (const char *logfilename, const char *domainname,
> -+                    const char *msgid1, const char *msgid2, int plural)
> -+{
> -+  static char *last_logfilename = NULL;
> -+  static FILE *last_logfile = NULL;
> -+  FILE *logfile;
> -+
> -+  /* Can we reuse the last opened logfile?  */
> -+  if (last_logfilename == NULL || strcmp (logfilename, last_logfilename)
> != 0)
> -+    {
> -+      /* Close the last used logfile.  */
> -+      if (last_logfilename != NULL)
> -+      {
> -+        if (last_logfile != NULL)
> -+          {
> -+            fclose (last_logfile);
> -+            last_logfile = NULL;
> -+          }
> -+        free (last_logfilename);
> -+        last_logfilename = NULL;
> -+      }
> -+      /* Open the logfile.  */
> -+      last_logfilename = (char *) malloc (strlen (logfilename) + 1);
> -+      if (last_logfilename == NULL)
> -+      return;
> -+      strcpy (last_logfilename, logfilename);
> -+      last_logfile = fopen (logfilename, "a");
> -+      if (last_logfile == NULL)
> -+      return;
> -+    }
> -+  logfile = last_logfile;
> -+
> -+  fprintf (logfile, "domain ");
> -+  print_escaped (logfile, domainname);
> -+  fprintf (logfile, "\nmsgid ");
> -+  print_escaped (logfile, msgid1);
> -+  if (plural)
> -+    {
> -+      fprintf (logfile, "\nmsgid_plural ");
> -+      print_escaped (logfile, msgid2);
> -+      fprintf (logfile, "\nmsgstr[0] \"\"\n");
> -+    }
> -+  else
> -+    fprintf (logfile, "\nmsgstr \"\"\n");
> -+  putc ('\n', logfile);
> -+}
> ---- lrzsz-0.12.20.safe/intl/Makefile.in        1998-04-26
> 09:22:35.000000000 -0400
> -+++ lrzsz-0.12.20/intl/Makefile.in     2004-09-12 14:40:34.521722856 -0400
> -@@ -1,19 +1,20 @@
> --# Makefile for directory with message catalog handling in GNU NLS
> Utilities.
> --# Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
> -+# Makefile for directory with message catalog handling library of GNU
> gettext
> -+# Copyright (C) 1995-1998, 2000-2003 Free Software Foundation, Inc.
> - #
> --# This 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)
> -+# This program is free software; you can redistribute it and/or modify it
> -+# under the terms of the GNU Library General Public License as published
> -+# by the Free Software Foundation; either version 2, 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.
> -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> -+# Library General Public License for more details.
> - #
> --# You should have received a copy of the GNU 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.
> -+# You should have received a copy of the GNU Library 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.
> -
> - PACKAGE = @PACKAGE@
> - VERSION = @VERSION@
> -@@ -23,118 +24,341 @@
> - srcdir = @srcdir@
> - top_srcdir = @top_srcdir@
> - top_builddir = ..
> --VPATH = @srcdir@
> -+#VPATH = $(srcdir)
> -
> - prefix = @prefix@
> - exec_prefix = @exec_prefix@
> - transform = @program_transform_name@
> --libdir = $(exec_prefix)/lib
> --includedir = $(prefix)/include
> --datadir = $(prefix)/@DATADIRNAME@
> -+libdir = @libdir@
> -+includedir = @includedir@
> -+datadir = @datadir@
> - localedir = $(datadir)/locale
> --gnulocaledir = $(prefix)/share/locale
> --gettextsrcdir = @datadir@/gettext/intl
> --aliaspath = $(localedir):.
> -+gettextsrcdir = $(datadir)/gettext/intl
> -+aliaspath = $(localedir)
> - subdir = intl
> -
> - INSTALL = @INSTALL@
> - INSTALL_DATA = @INSTALL_DATA@
> - MKINSTALLDIRS = @MKINSTALLDIRS@
> -+mkinstalldirs = $(SHELL) $(MKINSTALLDIRS)
> -
> --l = @l@
> -+l = @INTL_LIBTOOL_SUFFIX_PREFIX@
> -
> - AR = ar
> - CC = @CC@
> - LIBTOOL = @LIBTOOL@
> - RANLIB = @RANLIB@
> -+YACC = @INTLBISON@ -y -d
> -+YFLAGS = --name-prefix=__gettext
> -
> --DEFS = -DLOCALEDIR=\"$(localedir)\" -DGNULOCALEDIR=\"$(gnulocaledir)\" \
> ---DLOCALE_ALIAS_PATH=\"$(aliaspath)\" @DEFS@
> -+DEFS = -DLOCALEDIR=\"$(localedir)\" -DLOCALE_ALIAS_PATH=\"$(aliaspath)\"
> \
> -+-DLIBDIR=\"$(libdir)\" -DIN_LIBINTL \
> -+-DENABLE_RELOCATABLE=1 -DIN_LIBRARY -DINSTALLDIR=\"$(libdir)\"
> -DNO_XMALLOC \
> -+-Dset_relocation_prefix=libintl_set_relocation_prefix \
> -+-Drelocate=libintl_relocate \
> -+-DDEPENDS_ON_LIBICONV=1 @DEFS@
> - CPPFLAGS = @CPPFLAGS@
> - CFLAGS = @CFLAGS@
> - LDFLAGS = @LDFLAGS@
> -+LIBS = @LIBS@
> -
> - COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS)
> -
> --HEADERS = $(COMHDRS) libgettext.h loadinfo.h
> --COMHDRS = gettext.h gettextP.h hash-string.h
> --SOURCES = $(COMSRCS) intl-compat.c cat-compat.c
> --COMSRCS = bindtextdom.c dcgettext.c dgettext.c gettext.c \
> --finddomain.c loadmsgcat.c localealias.c textdomain.c l10nflist.c \
> --explodename.c
> --OBJECTS = @INTLOBJS@ bindtextdom.$lo dcgettext.$lo dgettext.$lo
> gettext.$lo \
> --finddomain.$lo loadmsgcat.$lo localealias.$lo textdomain.$lo
> l10nflist.$lo \
> --explodename.$lo
> --CATOBJS = cat-compat.$lo ../po/cat-id-tbl.$lo
> --GETTOBJS = intl-compat.$lo
> --DISTFILES.common = ChangeLog Makefile.in linux-msg.sed po2tbl.sed.in \
> --xopen-msg.sed $(HEADERS) $(SOURCES)
> -+HEADERS = \
> -+  gmo.h \
> -+  gettextP.h \
> -+  hash-string.h \
> -+  loadinfo.h \
> -+  plural-exp.h \
> -+  eval-plural.h \
> -+  localcharset.h \
> -+  relocatable.h \
> -+  xsize.h \
> -+  printf-args.h printf-args.c \
> -+  printf-parse.h wprintf-parse.h printf-parse.c \
> -+  vasnprintf.h vasnwprintf.h vasnprintf.c \
> -+  os2compat.h \
> -+  libgnuintl.h.in
> -+SOURCES = \
> -+  bindtextdom.c \
> -+  dcgettext.c \
> -+  dgettext.c \
> -+  gettext.c \
> -+  finddomain.c \
> -+  loadmsgcat.c \
> -+  localealias.c \
> -+  textdomain.c \
> -+  l10nflist.c \
> -+  explodename.c \
> -+  dcigettext.c \
> -+  dcngettext.c \
> -+  dngettext.c \
> -+  ngettext.c \
> -+  plural.y \
> -+  plural-exp.c \
> -+  localcharset.c \
> -+  relocatable.c \
> -+  localename.c \
> -+  log.c \
> -+  printf.c \
> -+  osdep.c \
> -+  os2compat.c \
> -+  intl-compat.c
> -+OBJECTS = \
> -+  bindtextdom.$lo \
> -+  dcgettext.$lo \
> -+  dgettext.$lo \
> -+  gettext.$lo \
> -+  finddomain.$lo \
> -+  loadmsgcat.$lo \
> -+  localealias.$lo \
> -+  textdomain.$lo \
> -+  l10nflist.$lo \
> -+  explodename.$lo \
> -+  dcigettext.$lo \
> -+  dcngettext.$lo \
> -+  dngettext.$lo \
> -+  ngettext.$lo \
> -+  plural.$lo \
> -+  plural-exp.$lo \
> -+  localcharset.$lo \
> -+  relocatable.$lo \
> -+  localename.$lo \
> -+  log.$lo \
> -+  printf.$lo \
> -+  osdep.$lo \
> -+  intl-compat.$lo
> -+DISTFILES.common = Makefile.in \
> -+config.charset locale.alias ref-add.sin ref-del.sin $(HEADERS) $(SOURCES)
> -+DISTFILES.generated = plural.c
> - DISTFILES.normal = VERSION
> --DISTFILES.gettext = libintl.glibc intlh.inst.in
> -+DISTFILES.gettext = COPYING.LIB-2.0 COPYING.LIB-2.1 libintl.glibc \
> -+libgnuintl.h_vms Makefile.vms \
> -+libgnuintl.h.msvc-static libgnuintl.h.msvc-shared README.woe32
> Makefile.msvc
> -+DISTFILES.obsolete = xopen-msg.sed linux-msg.sed po2tbl.sed.in
> cat-compat.c \
> -+COPYING.LIB-2 gettext.h libgettext.h plural-eval.c libgnuintl.h
> -+
> -+all: all- at USE_INCLUDED_LIBINTL@
> -+all-yes: libintl.$la libintl.h charset.alias ref-add.sed ref-del.sed
> -+all-no: all-no- at BUILD_INCLUDED_LIBINTL@
> -+all-no-yes: libgnuintl.$la
> -+all-no-no:
> -+
> -+libintl.a libgnuintl.a: $(OBJECTS)
> -+      rm -f $@
> -+      $(AR) cru $@ $(OBJECTS)
> -+      $(RANLIB) $@
> -+
> -+libintl.la libgnuintl.la: $(OBJECTS)
> -+      $(LIBTOOL) --mode=link \
> -+        $(CC) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) $(LDFLAGS) -o $@ \
> -+        $(OBJECTS) @LTLIBICONV@ $(LIBS) -lc \
> -+        -version-info $(LTV_CURRENT):$(LTV_REVISION):$(LTV_AGE) \
> -+        -rpath $(libdir) \
> -+        -no-undefined
> -+
> -+# Libtool's library version information for libintl.
> -+# Before making a gettext release, the gettext maintainer must change
> this
> -+# according to the libtool documentation, section "Library interface
> versions".
> -+# Maintainers of other packages that include the intl directory must
> *not*
> -+# change these values.
> -+LTV_CURRENT=7
> -+LTV_REVISION=0
> -+LTV_AGE=4
> -
> - .SUFFIXES:
> --.SUFFIXES: .c .o .lo
> -+.SUFFIXES: .c .y .o .lo .sin .sed
> -+
> - .c.o:
> -       $(COMPILE) $<
> --.c.lo:
> --      $(LIBTOOL) --mode=compile $(COMPILE) $<
> -
> --INCLUDES = -I.. -I. -I$(top_srcdir)/intl -I$(top_srcdir)/lib
> -+.y.c:
> -+      $(YACC) $(YFLAGS) --output $@ $<
> -+      rm -f $*.h
> -
> --all: all- at USE_INCLUDED_LIBINTL@
> -+bindtextdom.lo: $(srcdir)/bindtextdom.c
> -+      $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/bindtextdom.c
> -+dcgettext.lo: $(srcdir)/dcgettext.c
> -+      $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dcgettext.c
> -+dgettext.lo: $(srcdir)/dgettext.c
> -+      $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dgettext.c
> -+gettext.lo: $(srcdir)/gettext.c
> -+      $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/gettext.c
> -+finddomain.lo: $(srcdir)/finddomain.c
> -+      $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/finddomain.c
> -+loadmsgcat.lo: $(srcdir)/loadmsgcat.c
> -+      $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/loadmsgcat.c
> -+localealias.lo: $(srcdir)/localealias.c
> -+      $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/localealias.c
> -+textdomain.lo: $(srcdir)/textdomain.c
> -+      $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/textdomain.c
> -+l10nflist.lo: $(srcdir)/l10nflist.c
> -+      $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/l10nflist.c
> -+explodename.lo: $(srcdir)/explodename.c
> -+      $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/explodename.c
> -+dcigettext.lo: $(srcdir)/dcigettext.c
> -+      $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dcigettext.c
> -+dcngettext.lo: $(srcdir)/dcngettext.c
> -+      $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dcngettext.c
> -+dngettext.lo: $(srcdir)/dngettext.c
> -+      $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dngettext.c
> -+ngettext.lo: $(srcdir)/ngettext.c
> -+      $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/ngettext.c
> -+plural.lo: $(srcdir)/plural.c
> -+      $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/plural.c
> -+plural-exp.lo: $(srcdir)/plural-exp.c
> -+      $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/plural-exp.c
> -+localcharset.lo: $(srcdir)/localcharset.c
> -+      $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/localcharset.c
> -+relocatable.lo: $(srcdir)/relocatable.c
> -+      $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/relocatable.c
> -+localename.lo: $(srcdir)/localename.c
> -+      $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/localename.c
> -+log.lo: $(srcdir)/log.c
> -+      $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/log.c
> -+printf.lo: $(srcdir)/printf.c
> -+      $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/printf.c
> -+osdep.lo: $(srcdir)/osdep.c
> -+      $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/osdep.c
> -+intl-compat.lo: $(srcdir)/intl-compat.c
> -+      $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/intl-compat.c
> -
> --all-yes: libintl.$la intlh.inst
> --all-no:
> -+ref-add.sed: $(srcdir)/ref-add.sin
> -+      sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g'
> $(srcdir)/ref-add.sin > t-ref-add.sed
> -+      mv t-ref-add.sed ref-add.sed
> -+ref-del.sed: $(srcdir)/ref-del.sin
> -+      sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g'
> $(srcdir)/ref-del.sin > t-ref-del.sed
> -+      mv t-ref-del.sed ref-del.sed
> -
> --libintl.a: $(OBJECTS)
> --      rm -f $@
> --      $(AR) cru $@ $(OBJECTS)
> --      $(RANLIB) $@
> -+INCLUDES = -I. -I$(srcdir) -I..
> -
> --libintl.la: $(OBJECTS)
> --      $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -o $@ $(OBJECTS) \
> --                 -version-info 1:0 -rpath $(libdir)
> -+libgnuintl.h: $(srcdir)/libgnuintl.h.in
> -+      sed -e 's,@''HAVE_POSIX_PRINTF''@, at HAVE_POSIX_PRINTF@,g' \
> -+          -e 's,@''HAVE_ASPRINTF''@, at HAVE_ASPRINTF@,g' \
> -+          -e 's,@''HAVE_SNPRINTF''@, at HAVE_SNPRINTF@,g' \
> -+          -e 's,@''HAVE_WPRINTF''@, at HAVE_WPRINTF@,g' \
> -+        < $(srcdir)/libgnuintl.h.in > libgnuintl.h
> -
> --../po/cat-id-tbl.$lo: ../po/cat-id-tbl.c $(top_srcdir)/po/$(PACKAGE).pot
> --      cd ../po && $(MAKE) cat-id-tbl.$lo
> -+libintl.h: libgnuintl.h
> -+      cp libgnuintl.h libintl.h
> -
> --check: all
> -+charset.alias: $(srcdir)/config.charset
> -+      $(SHELL) $(srcdir)/config.charset '@host@' > t-$@
> -+      mv t-$@ $@
> -
> --# This installation goal is only used in GNU gettext.  Packages which
> --# only use the library should use install instead.
> -+check: all
> -
> - # We must not install the libintl.h/libintl.a files if we are on a
> --# system which has the gettext() function in its C library or in a
> --# separate library or use the catgets interface.  A special case is
> --# where configure found a previously installed GNU gettext library.
> -+# system which has the GNU gettext() function in its C library or in a
> -+# separate library.
> - # If you want to use the one which comes with this version of the
> - # package, you have to use `configure --with-included-gettext'.
> - install: install-exec install-data
> - install-exec: all
> --      if test "$(PACKAGE)" = "gettext" \
> --         && test '@INTLOBJS@' = '$(GETTOBJS)'; then \
> --        if test -r $(MKINSTALLDIRS); then \
> --          $(MKINSTALLDIRS) $(libdir) $(includedir); \
> --        else \
> --          $(top_srcdir)/mkinstalldirs $(libdir) $(includedir); \
> -+      if { test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" =
> "gettext-tools"; } \
> -+         && test '@USE_INCLUDED_LIBINTL@' = yes; then \
> -+        $(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir); \
> -+        $(INSTALL_DATA) libintl.h $(DESTDIR)$(includedir)/libintl.h; \
> -+        $(LIBTOOL) --mode=install \
> -+          $(INSTALL_DATA) libintl.$la $(DESTDIR)$(libdir)/libintl.$la; \
> -+        if test "@RELOCATABLE@" = yes; then \
> -+          dependencies=`sed -n -e 's,^dependency_libs=\(.*\),\1,p' <
> $(DESTDIR)$(libdir)/libintl.la | sed -e "s,^',," -e "s,'\$$,,"`; \
> -+          if test -n "$$dependencies"; then \
> -+            rm -f $(DESTDIR)$(libdir)/libintl.la; \
> -+          fi; \
> -         fi; \
> --        $(INSTALL_DATA) intlh.inst $(includedir)/libintl.h; \
> --        $(INSTALL_DATA) libintl.a $(libdir)/libintl.a; \
> -       else \
> -         : ; \
> -       fi
> --install-data: all
> --      if test "$(PACKAGE)" = "gettext"; then \
> --        if test -r $(MKINSTALLDIRS); then \
> --          $(MKINSTALLDIRS) $(gettextsrcdir); \
> -+      if test "$(PACKAGE)" = "gettext-tools" \
> -+         && test '@USE_INCLUDED_LIBINTL@' = no; then \
> -+        $(mkinstalldirs) $(DESTDIR)$(libdir); \
> -+        $(LIBTOOL) --mode=install \
> -+          $(INSTALL_DATA) libgnuintl.$la
> $(DESTDIR)$(libdir)/libgnuintl.$la; \
> -+        rm -f $(DESTDIR)$(libdir)/preloadable_libintl.so; \
> -+        $(INSTALL_DATA) $(DESTDIR)$(libdir)/libgnuintl.so
> $(DESTDIR)$(libdir)/preloadable_libintl.so; \
> -+        $(LIBTOOL) --mode=uninstall \
> -+          rm -f $(DESTDIR)$(libdir)/libgnuintl.$la; \
> -+      else \
> -+        : ; \
> -+      fi
> -+      if test '@USE_INCLUDED_LIBINTL@' = yes; then \
> -+        test @GLIBC21@ != no || $(mkinstalldirs) $(DESTDIR)$(libdir); \
> -+        temp=$(DESTDIR)$(libdir)/t-charset.alias; \
> -+        dest=$(DESTDIR)$(libdir)/charset.alias; \
> -+        if test -f $(DESTDIR)$(libdir)/charset.alias; then \
> -+          orig=$(DESTDIR)$(libdir)/charset.alias; \
> -+          sed -f ref-add.sed $$orig > $$temp; \
> -+          $(INSTALL_DATA) $$temp $$dest; \
> -+          rm -f $$temp; \
> -         else \
> --          $(top_srcdir)/mkinstalldirs $(gettextsrcdir); \
> -+          if test @GLIBC21@ = no; then \
> -+            orig=charset.alias; \
> -+            sed -f ref-add.sed $$orig > $$temp; \
> -+            $(INSTALL_DATA) $$temp $$dest; \
> -+            rm -f $$temp; \
> -+          fi; \
> -         fi; \
> --        $(INSTALL_DATA) VERSION $(gettextsrcdir)/VERSION; \
> --        dists="$(DISTFILES.common)"; \
> -+        $(mkinstalldirs) $(DESTDIR)$(localedir); \
> -+        test -f $(DESTDIR)$(localedir)/locale.alias \
> -+          && orig=$(DESTDIR)$(localedir)/locale.alias \
> -+          || orig=$(srcdir)/locale.alias; \
> -+        temp=$(DESTDIR)$(localedir)/t-locale.alias; \
> -+        dest=$(DESTDIR)$(localedir)/locale.alias; \
> -+        sed -f ref-add.sed $$orig > $$temp; \
> -+        $(INSTALL_DATA) $$temp $$dest; \
> -+        rm -f $$temp; \
> -+      else \
> -+        : ; \
> -+      fi
> -+install-data: all
> -+      if test "$(PACKAGE)" = "gettext-tools"; then \
> -+        $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
> -+        $(INSTALL_DATA) VERSION $(DESTDIR)$(gettextsrcdir)/VERSION; \
> -+        $(INSTALL_DATA) ChangeLog.inst
> $(DESTDIR)$(gettextsrcdir)/ChangeLog; \
> -+        dists="COPYING.LIB-2.0 COPYING.LIB-2.1 $(DISTFILES.common)"; \
> -         for file in $$dists; do \
> --          $(INSTALL_DATA) $(srcdir)/$$file $(gettextsrcdir)/$$file; \
> -+          $(INSTALL_DATA) $(srcdir)/$$file \
> -+                          $(DESTDIR)$(gettextsrcdir)/$$file; \
> -         done; \
> -+        chmod a+x $(DESTDIR)$(gettextsrcdir)/config.charset; \
> -+        dists="$(DISTFILES.generated)"; \
> -+        for file in $$dists; do \
> -+          if test -f $$file; then dir=.; else dir=$(srcdir); fi; \
> -+          $(INSTALL_DATA) $$dir/$$file \
> -+                          $(DESTDIR)$(gettextsrcdir)/$$file; \
> -+        done; \
> -+        dists="$(DISTFILES.obsolete)"; \
> -+        for file in $$dists; do \
> -+          rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
> -+        done; \
> -+      else \
> -+        : ; \
> -+      fi
> -+
> -+install-strip: install
> -+
> -+installdirs:
> -+      if { test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" =
> "gettext-tools"; } \
> -+         && test '@USE_INCLUDED_LIBINTL@' = yes; then \
> -+        $(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir); \
> -+      else \
> -+        : ; \
> -+      fi
> -+      if test "$(PACKAGE)" = "gettext-tools" \
> -+         && test '@USE_INCLUDED_LIBINTL@' = no; then \
> -+        $(mkinstalldirs) $(DESTDIR)$(libdir); \
> -+      else \
> -+        : ; \
> -+      fi
> -+      if test '@USE_INCLUDED_LIBINTL@' = yes; then \
> -+        test @GLIBC21@ != no || $(mkinstalldirs) $(DESTDIR)$(libdir); \
> -+        $(mkinstalldirs) $(DESTDIR)$(localedir); \
> -+      else \
> -+        : ; \
> -+      fi
> -+      if test "$(PACKAGE)" = "gettext-tools"; then \
> -+        $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
> -       else \
> -         : ; \
> -       fi
> -@@ -143,22 +367,76 @@
> - installcheck:
> -
> - uninstall:
> --      dists="$(DISTFILES.common)"; \
> --      for file in $$dists; do \
> --        rm -f $(gettextsrcdir)/$$file; \
> --      done
> -+      if { test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" =
> "gettext-tools"; } \
> -+         && test '@USE_INCLUDED_LIBINTL@' = yes; then \
> -+        rm -f $(DESTDIR)$(includedir)/libintl.h; \
> -+        $(LIBTOOL) --mode=uninstall \
> -+          rm -f $(DESTDIR)$(libdir)/libintl.$la; \
> -+      else \
> -+        : ; \
> -+      fi
> -+      if test "$(PACKAGE)" = "gettext-tools" \
> -+         && test '@USE_INCLUDED_LIBINTL@' = no; then \
> -+        rm -f $(DESTDIR)$(libdir)/preloadable_libintl.so; \
> -+      else \
> -+        : ; \
> -+      fi
> -+      if test '@USE_INCLUDED_LIBINTL@' = yes; then \
> -+        if test -f $(DESTDIR)$(libdir)/charset.alias; then \
> -+          temp=$(DESTDIR)$(libdir)/t-charset.alias; \
> -+          dest=$(DESTDIR)$(libdir)/charset.alias; \
> -+          sed -f ref-del.sed $$dest > $$temp; \
> -+          if grep '^# Packages using this file: $$' $$temp > /dev/null;
> then \
> -+            rm -f $$dest; \
> -+          else \
> -+            $(INSTALL_DATA) $$temp $$dest; \
> -+          fi; \
> -+          rm -f $$temp; \
> -+        fi; \
> -+        if test -f $(DESTDIR)$(localedir)/locale.alias; then \
> -+          temp=$(DESTDIR)$(localedir)/t-locale.alias; \
> -+          dest=$(DESTDIR)$(localedir)/locale.alias; \
> -+          sed -f ref-del.sed $$dest > $$temp; \
> -+          if grep '^# Packages using this file: $$' $$temp > /dev/null;
> then \
> -+            rm -f $$dest; \
> -+          else \
> -+            $(INSTALL_DATA) $$temp $$dest; \
> -+          fi; \
> -+          rm -f $$temp; \
> -+        fi; \
> -+      else \
> -+        : ; \
> -+      fi
> -+      if test "$(PACKAGE)" = "gettext-tools"; then \
> -+        for file in VERSION ChangeLog COPYING.LIB-2.0 COPYING.LIB-2.1
> $(DISTFILES.common) $(DISTFILES.generated); do \
> -+          rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
> -+        done; \
> -+      else \
> -+        : ; \
> -+      fi
> -
> --info dvi:
> -+info dvi ps pdf html:
> -
> --$(OBJECTS): ../config.h libgettext.h
> --bindtextdom.$lo finddomain.$lo loadmsgcat.$lo: gettextP.h gettext.h
> loadinfo.h
> --dcgettext.$lo: gettextP.h gettext.h hash-string.h loadinfo.h
> -+$(OBJECTS): ../config.h libgnuintl.h
> -+bindtextdom.$lo dcgettext.$lo dcigettext.$lo dcngettext.$lo dgettext.$lo
> dngettext.$lo finddomain.$lo gettext.$lo intl-compat.$lo loadmsgcat.$lo
> localealias.$lo ngettext.$lo textdomain.$lo: $(srcdir)/gettextP.h
> $(srcdir)/gmo.h $(srcdir)/loadinfo.h
> -+dcigettext.$lo loadmsgcat.$lo: $(srcdir)/hash-string.h
> -+explodename.$lo l10nflist.$lo: $(srcdir)/loadinfo.h
> -+dcigettext.$lo loadmsgcat.$lo plural.$lo plural-exp.$lo:
> $(srcdir)/plural-exp.h
> -+dcigettext.$lo: $(srcdir)/eval-plural.h
> -+localcharset.$lo: $(srcdir)/localcharset.h
> -+localealias.$lo localcharset.$lo relocatable.$lo: $(srcdir)/relocatable.h
> -+printf.$lo: $(srcdir)/printf-args.h $(srcdir)/printf-args.c
> $(srcdir)/printf-parse.h $(srcdir)/wprintf-parse.h $(srcdir)/xsize.h
> $(srcdir)/printf-parse.c $(srcdir)/vasnprintf.h $(srcdir)/vasnwprintf.h
> $(srcdir)/vasnprintf.c
> -
> - tags: TAGS
> -
> - TAGS: $(HEADERS) $(SOURCES)
> -       here=`pwd`; cd $(srcdir) && etags -o $$here/TAGS $(HEADERS)
> $(SOURCES)
> -
> -+ctags: CTAGS
> -+
> -+CTAGS: $(HEADERS) $(SOURCES)
> -+      here=`pwd`; cd $(srcdir) && ctags -o $$here/CTAGS $(HEADERS)
> $(SOURCES)
> -+
> - id: ID
> -
> - ID: $(HEADERS) $(SOURCES)
> -@@ -166,12 +444,19 @@
> -
> -
> - mostlyclean:
> --      rm -f *.a *.o *.lo core core.*
> -+      rm -f *.a *.la *.o *.obj *.lo core core.*
> -+      rm -f libgnuintl.h libintl.h charset.alias ref-add.sed ref-del.sed
> -+      rm -f -r .libs _libs
> -
> - clean: mostlyclean
> -
> - distclean: clean
> --      rm -f Makefile ID TAGS po2msg.sed po2tbl.sed libintl.h
> -+      rm -f Makefile ID TAGS
> -+      if test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" =
> "gettext-tools"; then \
> -+        rm -f ChangeLog.inst $(DISTFILES.normal); \
> -+      else \
> -+        : ; \
> -+      fi
> -
> - maintainer-clean: distclean
> -       @echo "This command is intended for maintainers to use;"
> -@@ -181,33 +466,27 @@
> - # GNU gettext needs not contain the file `VERSION' but contains some
> - # other files which should not be distributed in other packages.
> - distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
> --dist distdir: Makefile $(DISTFILES)
> --      if test "$(PACKAGE)" = gettext; then \
> --        additional="$(DISTFILES.gettext)"; \
> -+dist distdir: Makefile
> -+      if test "$(PACKAGE)" = "gettext-tools"; then \
> -+        : ; \
> -       else \
> --        additional="$(DISTFILES.normal)"; \
> --      fi; \
> --      for file in $(DISTFILES.common) $$additional; do \
> --        ln $(srcdir)/$$file $(distdir) 2> /dev/null \
> --          || cp -p $(srcdir)/$$file $(distdir); \
> --      done
> --
> --dist-libc:
> --      tar zcvf intl-glibc.tar.gz $(COMSRCS) $(COMHDRS) libintl.h.glibc
> --
> --Makefile: Makefile.in ../config.status
> --      cd .. \
> --        && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL)
> ./config.status
> -+        if test "$(PACKAGE)" = "gettext-runtime"; then \
> -+          additional="$(DISTFILES.gettext)"; \
> -+        else \
> -+          additional="$(DISTFILES.normal)"; \
> -+        fi; \
> -+        $(MAKE) $(DISTFILES.common) $(DISTFILES.generated) $$additional;
> \
> -+        for file in ChangeLog $(DISTFILES.common) $(DISTFILES.generated)
> $$additional; do \
> -+          if test -f $$file; then dir=.; else dir=$(srcdir); fi; \
> -+          cp -p $$dir/$$file $(distdir); \
> -+        done; \
> -+      fi
> -
> --# The dependency for intlh.inst is different in gettext and all other
> --# packages.  Because we cannot you GNU make features we have to solve
> --# the problem while rewriting Makefile.in.
> -- at GT_YES@intlh.inst: intlh.inst.in ../config.status
> -- at GT_YES@      cd .. \
> -- at GT_YES@      && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= \
> -- at GT_YES@        $(SHELL) ./config.status
> -- at GT_NO@.PHONY: intlh.inst
> -- at GT_NO@intlh.inst:
> -+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
> -+      cd $(top_builddir) && $(SHELL) ./config.status
> -+# This would be more efficient, but doesn't work any more with
> autoconf-2.57,
> -+# when AC_CONFIG_FILES([intl/Makefile:somedir/Makefile.in]) is used.
> -+#     cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS=
> $(SHELL) ./config.status
> -
> - # Tell versions [3.59,3.63) of GNU make not to export all variables.
> - # Otherwise a system limit (for SysV at least) may be exceeded.
> ---- lrzsz-0.12.20.safe/intl/ngettext.c 1969-12-31 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/intl/ngettext.c      2004-09-12 14:40:34.533721032 -0400
> -@@ -0,0 +1,65 @@
> -+/* Implementation of ngettext(3) function.
> -+   Copyright (C) 1995, 1997, 2000-2003 Free Software Foundation, Inc.
> -+
> -+   This program is free software; you can redistribute it and/or modify
> it
> -+   under the terms of the GNU Library General Public License as published
> -+   by the Free Software Foundation; either version 2, 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
> -+   Library General Public License for more details.
> -+
> -+   You should have received a copy of the GNU Library 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.  */
> -+
> -+#ifdef HAVE_CONFIG_H
> -+# include <config.h>
> -+#endif
> -+
> -+#ifdef _LIBC
> -+# define __need_NULL
> -+# include <stddef.h>
> -+#else
> -+# include <stdlib.h>          /* Just for NULL.  */
> -+#endif
> -+
> -+#include "gettextP.h"
> -+#ifdef _LIBC
> -+# include <libintl.h>
> -+#else
> -+# include "libgnuintl.h"
> -+#endif
> -+
> -+#include <locale.h>
> -+
> -+/* @@ end of prolog @@ */
> -+
> -+/* Names for the libintl functions are a problem.  They must not clash
> -+   with existing names and they should follow ANSI C.  But this source
> -+   code is also used in GNU C Library where the names have a __
> -+   prefix.  So we have to make a difference here.  */
> -+#ifdef _LIBC
> -+# define NGETTEXT __ngettext
> -+# define DCNGETTEXT __dcngettext
> -+#else
> -+# define NGETTEXT libintl_ngettext
> -+# define DCNGETTEXT libintl_dcngettext
> -+#endif
> -+
> -+/* Look up MSGID in the current default message catalog for the current
> -+   LC_MESSAGES locale.  If not found, returns MSGID itself (the default
> -+   text).  */
> -+char *
> -+NGETTEXT (const char *msgid1, const char *msgid2, unsigned long int n)
> -+{
> -+  return DCNGETTEXT (NULL, msgid1, msgid2, n, LC_MESSAGES);
> -+}
> -+
> -+#ifdef _LIBC
> -+/* Alias for function name in GNU C Library.  */
> -+weak_alias (__ngettext, ngettext);
> -+#endif
> ---- lrzsz-0.12.20.safe/intl/os2compat.c        1969-12-31
> 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/intl/os2compat.c     2004-09-12 14:40:34.539720120 -0400
> -@@ -0,0 +1,98 @@
> -+/* OS/2 compatibility functions.
> -+   Copyright (C) 2001-2002 Free Software Foundation, Inc.
> -+
> -+   This program is free software; you can redistribute it and/or modify
> it
> -+   under the terms of the GNU Library General Public License as published
> -+   by the Free Software Foundation; either version 2, 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
> -+   Library General Public License for more details.
> -+
> -+   You should have received a copy of the GNU Library 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.  */
> -+
> -+#define OS2_AWARE
> -+#ifdef HAVE_CONFIG_H
> -+#include <config.h>
> -+#endif
> -+
> -+#include <stdlib.h>
> -+#include <string.h>
> -+#include <sys/param.h>
> -+
> -+/* A version of getenv() that works from DLLs */
> -+extern unsigned long DosScanEnv (const unsigned char *pszName, unsigned
> char **ppszValue);
> -+
> -+char *
> -+_nl_getenv (const char *name)
> -+{
> -+  unsigned char *value;
> -+  if (DosScanEnv (name, &value))
> -+    return NULL;
> -+  else
> -+    return value;
> -+}
> -+
> -+/* A fixed size buffer.  */
> -+char libintl_nl_default_dirname[MAXPATHLEN+1];
> -+
> -+char *_nlos2_libdir = NULL;
> -+char *_nlos2_localealiaspath = NULL;
> -+char *_nlos2_localedir = NULL;
> -+
> -+static __attribute__((constructor)) void
> -+nlos2_initialize ()
> -+{
> -+  char *root = getenv ("UNIXROOT");
> -+  char *gnulocaledir = getenv ("GNULOCALEDIR");
> -+
> -+  _nlos2_libdir = gnulocaledir;
> -+  if (!_nlos2_libdir)
> -+    {
> -+      if (root)
> -+        {
> -+          size_t sl = strlen (root);
> -+          _nlos2_libdir = (char *) malloc (sl + strlen (LIBDIR) + 1);
> -+          memcpy (_nlos2_libdir, root, sl);
> -+          memcpy (_nlos2_libdir + sl, LIBDIR, strlen (LIBDIR) + 1);
> -+        }
> -+      else
> -+        _nlos2_libdir = LIBDIR;
> -+    }
> -+
> -+  _nlos2_localealiaspath = gnulocaledir;
> -+  if (!_nlos2_localealiaspath)
> -+    {
> -+      if (root)
> -+        {
> -+          size_t sl = strlen (root);
> -+          _nlos2_localealiaspath = (char *) malloc (sl + strlen
> (LOCALE_ALIAS_PATH) + 1);
> -+          memcpy (_nlos2_localealiaspath, root, sl);
> -+          memcpy (_nlos2_localealiaspath + sl, LOCALE_ALIAS_PATH, strlen
> (LOCALE_ALIAS_PATH) + 1);
> -+        }
> -+     else
> -+        _nlos2_localealiaspath = LOCALE_ALIAS_PATH;
> -+    }
> -+
> -+  _nlos2_localedir = gnulocaledir;
> -+  if (!_nlos2_localedir)
> -+    {
> -+      if (root)
> -+        {
> -+          size_t sl = strlen (root);
> -+          _nlos2_localedir = (char *) malloc (sl + strlen (LOCALEDIR) +
> 1);
> -+          memcpy (_nlos2_localedir, root, sl);
> -+          memcpy (_nlos2_localedir + sl, LOCALEDIR, strlen (LOCALEDIR) +
> 1);
> -+        }
> -+      else
> -+        _nlos2_localedir = LOCALEDIR;
> -+    }
> -+
> -+  if (strlen (_nlos2_localedir) <= MAXPATHLEN)
> -+    strcpy (libintl_nl_default_dirname, _nlos2_localedir);
> -+}
> ---- lrzsz-0.12.20.safe/intl/os2compat.h        1969-12-31
> 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/intl/os2compat.h     2004-09-12 14:40:34.544719360 -0400
> -@@ -0,0 +1,46 @@
> -+/* OS/2 compatibility defines.
> -+   This file is intended to be included from config.h
> -+   Copyright (C) 2001-2002 Free Software Foundation, Inc.
> -+
> -+   This program is free software; you can redistribute it and/or modify
> it
> -+   under the terms of the GNU Library General Public License as published
> -+   by the Free Software Foundation; either version 2, 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
> -+   Library General Public License for more details.
> -+
> -+   You should have received a copy of the GNU Library 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.  */
> -+
> -+/* When included from os2compat.h we need all the original definitions */
> -+#ifndef OS2_AWARE
> -+
> -+#undef LIBDIR
> -+#define LIBDIR                        _nlos2_libdir
> -+extern char *_nlos2_libdir;
> -+
> -+#undef LOCALEDIR
> -+#define LOCALEDIR             _nlos2_localedir
> -+extern char *_nlos2_localedir;
> -+
> -+#undef LOCALE_ALIAS_PATH
> -+#define LOCALE_ALIAS_PATH     _nlos2_localealiaspath
> -+extern char *_nlos2_localealiaspath;
> -+
> -+#endif
> -+
> -+#undef HAVE_STRCASECMP
> -+#define HAVE_STRCASECMP 1
> -+#define strcasecmp stricmp
> -+#define strncasecmp strnicmp
> -+
> -+/* We have our own getenv() which works even if library is compiled as
> DLL */
> -+#define getenv _nl_getenv
> -+
> -+/* Older versions of gettext used -1 as the value of LC_MESSAGES */
> -+#define LC_MESSAGES_COMPAT (-1)
> ---- lrzsz-0.12.20.safe/intl/osdep.c    1969-12-31 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/intl/osdep.c 2004-09-12 14:40:34.550718448 -0400
> -@@ -0,0 +1,24 @@
> -+/* OS dependent parts of libintl.
> -+   Copyright (C) 2001-2002 Free Software Foundation, Inc.
> -+
> -+   This program is free software; you can redistribute it and/or modify
> it
> -+   under the terms of the GNU Library General Public License as published
> -+   by the Free Software Foundation; either version 2, 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
> -+   Library General Public License for more details.
> -+
> -+   You should have received a copy of the GNU Library 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.  */
> -+
> -+#if defined __EMX__
> -+# include "os2compat.c"
> -+#else
> -+/* Avoid AIX compiler warning.  */
> -+typedef int dummy;
> -+#endif
> ---- lrzsz-0.12.20.safe/intl/plural.c   1969-12-31 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/intl/plural.c        2004-09-12 14:40:36.571411256 -0400
> -@@ -0,0 +1,1490 @@
> -+/* A Bison parser, made from plural.y
> -+   by GNU bison 1.35.  */
> -+
> -+#define YYBISON 1  /* Identify Bison output.  */
> -+
> -+#define yyparse __gettextparse
> -+#define yylex __gettextlex
> -+#define yyerror __gettexterror
> -+#define yylval __gettextlval
> -+#define yychar __gettextchar
> -+#define yydebug __gettextdebug
> -+#define yynerrs __gettextnerrs
> -+# define      EQUOP2  257
> -+# define      CMPOP2  258
> -+# define      ADDOP2  259
> -+# define      MULOP2  260
> -+# define      NUMBER  261
> -+
> -+#line 1 "plural.y"
> -+
> -+/* Expression parsing for plural form selection.
> -+   Copyright (C) 2000-2001, 2003 Free Software Foundation, Inc.
> -+   Written by Ulrich Drepper <drepper at cygnus.com>, 2000.
> -+
> -+   This program is free software; you can redistribute it and/or modify
> it
> -+   under the terms of the GNU Library General Public License as published
> -+   by the Free Software Foundation; either version 2, 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
> -+   Library General Public License for more details.
> -+
> -+   You should have received a copy of the GNU Library 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.  */
> -+
> -+/* The bison generated parser uses alloca.  AIX 3 forces us to put this
> -+   declaration at the beginning of the file.  The declaration in bison's
> -+   skeleton file comes too late.  This must come before <config.h>
> -+   because <config.h> may include arbitrary system headers.  */
> -+#if defined _AIX && !defined __GNUC__
> -+ #pragma alloca
> -+#endif
> -+
> -+#ifdef HAVE_CONFIG_H
> -+# include <config.h>
> -+#endif
> -+
> -+#include <stddef.h>
> -+#include <stdlib.h>
> -+#include "plural-exp.h"
> -+
> -+/* The main function generated by the parser is called __gettextparse,
> -+   but we want it to be called PLURAL_PARSE.  */
> -+#ifndef _LIBC
> -+# define __gettextparse PLURAL_PARSE
> -+#endif
> -+
> -+#define YYLEX_PARAM   &((struct parse_args *) arg)->cp
> -+#define YYPARSE_PARAM arg
> -+
> -+#line 49 "plural.y"
> -+#ifndef YYSTYPE
> -+typedef union {
> -+  unsigned long int num;
> -+  enum operator op;
> -+  struct expression *exp;
> -+} yystype;
> -+# define YYSTYPE yystype
> -+# define YYSTYPE_IS_TRIVIAL 1
> -+#endif
> -+#line 55 "plural.y"
> -+
> -+/* Prototypes for local functions.  */
> -+static int yylex (YYSTYPE *lval, const char **pexp);
> -+static void yyerror (const char *str);
> -+
> -+/* Allocation of expressions.  */
> -+
> -+static struct expression *
> -+new_exp (int nargs, enum operator op, struct expression * const *args)
> -+{
> -+  int i;
> -+  struct expression *newp;
> -+
> -+  /* If any of the argument could not be malloc'ed, just return NULL.  */
> -+  for (i = nargs - 1; i >= 0; i--)
> -+    if (args[i] == NULL)
> -+      goto fail;
> -+
> -+  /* Allocate a new expression.  */
> -+  newp = (struct expression *) malloc (sizeof (*newp));
> -+  if (newp != NULL)
> -+    {
> -+      newp->nargs = nargs;
> -+      newp->operation = op;
> -+      for (i = nargs - 1; i >= 0; i--)
> -+      newp->val.args[i] = args[i];
> -+      return newp;
> -+    }
> -+
> -+ fail:
> -+  for (i = nargs - 1; i >= 0; i--)
> -+    FREE_EXPRESSION (args[i]);
> -+
> -+  return NULL;
> -+}
> -+
> -+static inline struct expression *
> -+new_exp_0 (enum operator op)
> -+{
> -+  return new_exp (0, op, NULL);
> -+}
> -+
> -+static inline struct expression *
> -+new_exp_1 (enum operator op, struct expression *right)
> -+{
> -+  struct expression *args[1];
> -+
> -+  args[0] = right;
> -+  return new_exp (1, op, args);
> -+}
> -+
> -+static struct expression *
> -+new_exp_2 (enum operator op, struct expression *left, struct expression
> *right)
> -+{
> -+  struct expression *args[2];
> -+
> -+  args[0] = left;
> -+  args[1] = right;
> -+  return new_exp (2, op, args);
> -+}
> -+
> -+static inline struct expression *
> -+new_exp_3 (enum operator op, struct expression *bexp,
> -+         struct expression *tbranch, struct expression *fbranch)
> -+{
> -+  struct expression *args[3];
> -+
> -+  args[0] = bexp;
> -+  args[1] = tbranch;
> -+  args[2] = fbranch;
> -+  return new_exp (3, op, args);
> -+}
> -+
> -+#ifndef YYDEBUG
> -+# define YYDEBUG 0
> -+#endif
> -+
> -+
> -+
> -+#define       YYFINAL         27
> -+#define       YYFLAG          -32768
> -+#define       YYNTBASE        16
> -+
> -+/* YYTRANSLATE(YYLEX) -- Bison token number corresponding to YYLEX. */
> -+#define YYTRANSLATE(x) ((unsigned)(x) <= 261 ? yytranslate[x] : 18)
> -+
> -+/* YYTRANSLATE[YYLEX] -- Bison token number corresponding to YYLEX. */
> -+static const char yytranslate[] =
> -+{
> -+       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
> -+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
> -+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
> -+       2,     2,     2,    10,     2,     2,     2,     2,     5,     2,
> -+      14,    15,     2,     2,     2,     2,     2,     2,     2,     2,
> -+       2,     2,     2,     2,     2,     2,     2,     2,    12,     2,
> -+       2,     2,     2,     3,     2,     2,     2,     2,     2,     2,
> -+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
> -+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
> -+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
> -+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
> -+      13,     2,     2,     2,     2,     2,     2,     2,     2,     2,
> -+       2,     2,     2,     2,     4,     2,     2,     2,     2,     2,
> -+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
> -+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
> -+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
> -+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
> -+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
> -+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
> -+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
> -+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
> -+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
> -+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
> -+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
> -+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
> -+       2,     2,     2,     2,     2,     2,     1,     6,     7,     8,
> -+       9,    11
> -+};
> -+
> -+#if YYDEBUG
> -+static const short yyprhs[] =
> -+{
> -+       0,     0,     2,     8,    12,    16,    20,    24,    28,    32,
> -+      35,    37,    39
> -+};
> -+static const short yyrhs[] =
> -+{
> -+      17,     0,    17,     3,    17,    12,    17,     0,    17,     4,
> -+      17,     0,    17,     5,    17,     0,    17,     6,    17,     0,
> -+      17,     7,    17,     0,    17,     8,    17,     0,    17,     9,
> -+      17,     0,    10,    17,     0,    13,     0,    11,     0,    14,
> -+      17,    15,     0
> -+};
> -+
> -+#endif
> -+
> -+#if YYDEBUG
> -+/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
> -+static const short yyrline[] =
> -+{
> -+       0,   150,   158,   162,   166,   170,   174,   178,   182,   186,
> -+     190,   194,   199
> -+};
> -+#endif
> -+
> -+
> -+#if (YYDEBUG) || defined YYERROR_VERBOSE
> -+
> -+/* YYTNAME[TOKEN_NUM] -- String name of the token TOKEN_NUM. */
> -+static const char *const yytname[] =
> -+{
> -+  "$", "error", "$undefined.", "'?'", "'|'", "'&'", "EQUOP2", "CMPOP2",
> -+  "ADDOP2", "MULOP2", "'!'", "NUMBER", "':'", "'n'", "'('", "')'",
> -+  "start", "exp", 0
> -+};
> -+#endif
> -+
> -+/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
> -+static const short yyr1[] =
> -+{
> -+       0,    16,    17,    17,    17,    17,    17,    17,    17,    17,
> -+      17,    17,    17
> -+};
> -+
> -+/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.
> */
> -+static const short yyr2[] =
> -+{
> -+       0,     1,     5,     3,     3,     3,     3,     3,     3,     2,
> -+       1,     1,     3
> -+};
> -+
> -+/* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE
> -+   doesn't specify something else to do.  Zero means the default is an
> -+   error. */
> -+static const short yydefact[] =
> -+{
> -+       0,     0,    11,    10,     0,     1,     9,     0,     0,     0,
> -+       0,     0,     0,     0,     0,    12,     0,     3,     4,     5,
> -+       6,     7,     8,     0,     2,     0,     0,     0
> -+};
> -+
> -+static const short yydefgoto[] =
> -+{
> -+      25,     5
> -+};
> -+
> -+static const short yypact[] =
> -+{
> -+      -9,    -9,-32768,-32768,    -9,    34,-32768,    11,    -9,    -9,
> -+      -9,    -9,    -9,    -9,    -9,-32768,    24,    39,    43,    16,
> -+      26,    -3,-32768,    -9,    34,    21,    53,-32768
> -+};
> -+
> -+static const short yypgoto[] =
> -+{
> -+  -32768,    -1
> -+};
> -+
> -+
> -+#define       YYLAST          53
> -+
> -+
> -+static const short yytable[] =
> -+{
> -+       6,     1,     2,     7,     3,     4,    14,    16,    17,    18,
> -+      19,    20,    21,    22,     8,     9,    10,    11,    12,    13,
> -+      14,    26,    24,    12,    13,    14,    15,     8,     9,    10,
> -+      11,    12,    13,    14,    13,    14,    23,     8,     9,    10,
> -+      11,    12,    13,    14,    10,    11,    12,    13,    14,    11,
> -+      12,    13,    14,    27
> -+};
> -+
> -+static const short yycheck[] =
> -+{
> -+       1,    10,    11,     4,    13,    14,     9,     8,     9,    10,
> -+      11,    12,    13,    14,     3,     4,     5,     6,     7,     8,
> -+       9,     0,    23,     7,     8,     9,    15,     3,     4,     5,
> -+       6,     7,     8,     9,     8,     9,    12,     3,     4,     5,
> -+       6,     7,     8,     9,     5,     6,     7,     8,     9,     6,
> -+       7,     8,     9,     0
> -+};
> -+#define YYPURE 1
> -+
> -+/* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
> -+#line 3 "/usr/local/share/bison/bison.simple"
> -+
> -+/* Skeleton output parser for bison,
> -+
> -+   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software
> -+   Foundation, Inc.
> -+
> -+   This 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, write to the Free Software
> -+   Foundation, Inc., 59 Temple Place - Suite 330,
> -+   Boston, MA 02111-1307, USA.  */
> -+
> -+/* As a special exception, when this file is copied by Bison into a
> -+   Bison output file, you may use that output file without restriction.
> -+   This special exception was added by the Free Software Foundation
> -+   in version 1.24 of Bison.  */
> -+
> -+/* This is the parser code that is written into each bison parser when
> -+   the %semantic_parser declaration is not specified in the grammar.
> -+   It was written by Richard Stallman by simplifying the hairy parser
> -+   used when %semantic_parser is specified.  */
> -+
> -+/* All symbols defined below should begin with yy or YY, to avoid
> -+   infringing on user name space.  This should be done even for local
> -+   variables, as they might otherwise be expanded by user macros.
> -+   There are some unavoidable exceptions within include files to
> -+   define necessary library symbols; they are noted "INFRINGES ON
> -+   USER NAME SPACE" below.  */
> -+
> -+#if ! defined (yyoverflow) || defined (YYERROR_VERBOSE)
> -+
> -+/* The parser invokes alloca or malloc; define the necessary symbols.  */
> -+
> -+# if YYSTACK_USE_ALLOCA
> -+#  define YYSTACK_ALLOC alloca
> -+# else
> -+#  ifndef YYSTACK_USE_ALLOCA
> -+#   if defined (alloca) || defined (_ALLOCA_H)
> -+#    define YYSTACK_ALLOC alloca
> -+#   else
> -+#    ifdef __GNUC__
> -+#     define YYSTACK_ALLOC __builtin_alloca
> -+#    endif
> -+#   endif
> -+#  endif
> -+# endif
> -+
> -+# ifdef YYSTACK_ALLOC
> -+   /* Pacify GCC's `empty if-body' warning. */
> -+#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
> -+# else
> -+#  if defined (__STDC__) || defined (__cplusplus)
> -+#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
> -+#   define YYSIZE_T size_t
> -+#  endif
> -+#  define YYSTACK_ALLOC malloc
> -+#  define YYSTACK_FREE free
> -+# endif
> -+#endif /* ! defined (yyoverflow) || defined (YYERROR_VERBOSE) */
> -+
> -+
> -+#if (! defined (yyoverflow) \
> -+     && (! defined (__cplusplus) \
> -+       || (YYLTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
> -+
> -+/* A type that is properly aligned for any stack member.  */
> -+union yyalloc
> -+{
> -+  short yyss;
> -+  YYSTYPE yyvs;
> -+# if YYLSP_NEEDED
> -+  YYLTYPE yyls;
> -+# endif
> -+};
> -+
> -+/* The size of the maximum gap between one aligned stack and the next.
> */
> -+# define YYSTACK_GAP_MAX (sizeof (union yyalloc) - 1)
> -+
> -+/* The size of an array large to enough to hold all stacks, each with
> -+   N elements.  */
> -+# if YYLSP_NEEDED
> -+#  define YYSTACK_BYTES(N) \
> -+     ((N) * (sizeof (short) + sizeof (YYSTYPE) + sizeof (YYLTYPE))    \
> -+      + 2 * YYSTACK_GAP_MAX)
> -+# else
> -+#  define YYSTACK_BYTES(N) \
> -+     ((N) * (sizeof (short) + sizeof (YYSTYPE))
>      \
> -+      + YYSTACK_GAP_MAX)
> -+# endif
> -+
> -+/* Copy COUNT objects from FROM to TO.  The source and destination do
> -+   not overlap.  */
> -+# ifndef YYCOPY
> -+#  if 1 < __GNUC__
> -+#   define YYCOPY(To, From, Count) \
> -+      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
> -+#  else
> -+#   define YYCOPY(To, From, Count)            \
> -+      do                                      \
> -+      {                                       \
> -+        register YYSIZE_T yyi;                \
> -+        for (yyi = 0; yyi < (Count); yyi++)   \
> -+          (To)[yyi] = (From)[yyi];            \
> -+      }                                       \
> -+      while (0)
> -+#  endif
> -+# endif
> -+
> -+/* Relocate STACK from its old location to the new one.  The
> -+   local variables YYSIZE and YYSTACKSIZE give the old and new number of
> -+   elements in the stack, and YYPTR gives the new location of the
> -+   stack.  Advance YYPTR to a properly aligned location for the next
> -+   stack.  */
> -+# define YYSTACK_RELOCATE(Stack)                                      \
> -+    do
>       \
> -+      {
>      \
> -+      YYSIZE_T yynewbytes;                                            \
> -+      YYCOPY (&yyptr->Stack, Stack, yysize);                          \
> -+      Stack = &yyptr->Stack;                                          \
> -+      yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAX;   \
> -+      yyptr += yynewbytes / sizeof (*yyptr);                          \
> -+      }
>      \
> -+    while (0)
> -+
> -+#endif
> -+
> -+
> -+#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
> -+# define YYSIZE_T __SIZE_TYPE__
> -+#endif
> -+#if ! defined (YYSIZE_T) && defined (size_t)
> -+# define YYSIZE_T size_t
> -+#endif
> -+#if ! defined (YYSIZE_T)
> -+# if defined (__STDC__) || defined (__cplusplus)
> -+#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
> -+#  define YYSIZE_T size_t
> -+# endif
> -+#endif
> -+#if ! defined (YYSIZE_T)
> -+# define YYSIZE_T unsigned int
> -+#endif
> -+
> -+#define yyerrok               (yyerrstatus = 0)
> -+#define yyclearin     (yychar = YYEMPTY)
> -+#define YYEMPTY               -2
> -+#define YYEOF         0
> -+#define YYACCEPT      goto yyacceptlab
> -+#define YYABORT       goto yyabortlab
> -+#define YYERROR               goto yyerrlab1
> -+/* Like YYERROR except do call yyerror.  This remains here temporarily
> -+   to ease the transition to the new meaning of YYERROR, for GCC.
> -+   Once GCC version 2 has supplanted version 1, this can go.  */
> -+#define YYFAIL                goto yyerrlab
> -+#define YYRECOVERING()  (!!yyerrstatus)
> -+#define YYBACKUP(Token, Value)                                        \
> -+do                                                            \
> -+  if (yychar == YYEMPTY && yylen == 1)                                \
> -+    {                                                         \
> -+      yychar = (Token);                                               \
> -+      yylval = (Value);                                               \
> -+      yychar1 = YYTRANSLATE (yychar);                         \
> -+      YYPOPSTACK;                                             \
> -+      goto yybackup;                                          \
> -+    }                                                         \
> -+  else                                                                \
> -+    {                                                                 \
> -+      yyerror ("syntax error: cannot back up");                       \
> -+      YYERROR;                                                        \
> -+    }                                                         \
> -+while (0)
> -+
> -+#define YYTERROR      1
> -+#define YYERRCODE     256
> -+
> -+
> -+/* YYLLOC_DEFAULT -- Compute the default location (before the actions
> -+   are run).
> -+
> -+   When YYLLOC_DEFAULT is run, CURRENT is set the location of the
> -+   first token.  By default, to implement support for ranges, extend
> -+   its range to the last symbol.  */
> -+
> -+#ifndef YYLLOC_DEFAULT
> -+# define YYLLOC_DEFAULT(Current, Rhs, N)              \
> -+   Current.last_line   = Rhs[N].last_line;    \
> -+   Current.last_column = Rhs[N].last_column;
> -+#endif
> -+
> -+
> -+/* YYLEX -- calling `yylex' with the right arguments.  */
> -+
> -+#if YYPURE
> -+# if YYLSP_NEEDED
> -+#  ifdef YYLEX_PARAM
> -+#   define YYLEX              yylex (&yylval, &yylloc, YYLEX_PARAM)
> -+#  else
> -+#   define YYLEX              yylex (&yylval, &yylloc)
> -+#  endif
> -+# else /* !YYLSP_NEEDED */
> -+#  ifdef YYLEX_PARAM
> -+#   define YYLEX              yylex (&yylval, YYLEX_PARAM)
> -+#  else
> -+#   define YYLEX              yylex (&yylval)
> -+#  endif
> -+# endif /* !YYLSP_NEEDED */
> -+#else /* !YYPURE */
> -+# define YYLEX                        yylex ()
> -+#endif /* !YYPURE */
> -+
> -+
> -+/* Enable debugging if requested.  */
> -+#if YYDEBUG
> -+
> -+# ifndef YYFPRINTF
> -+#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
> -+#  define YYFPRINTF fprintf
> -+# endif
> -+
> -+# define YYDPRINTF(Args)                      \
> -+do {                                          \
> -+  if (yydebug)                                        \
> -+    YYFPRINTF Args;                           \
> -+} while (0)
> -+/* Nonzero means print parse trace.  It is left uninitialized so that
> -+   multiple parsers can coexist.  */
> -+int yydebug;
> -+#else /* !YYDEBUG */
> -+# define YYDPRINTF(Args)
> -+#endif /* !YYDEBUG */
> -+
> -+/* YYINITDEPTH -- initial size of the parser's stacks.  */
> -+#ifndef       YYINITDEPTH
> -+# define YYINITDEPTH 200
> -+#endif
> -+
> -+/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
> -+   if the built-in stack extension method is used).
> -+
> -+   Do not make this value too large; the results are undefined if
> -+   SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
> -+   evaluated with infinite-precision integer arithmetic.  */
> -+
> -+#if YYMAXDEPTH == 0
> -+# undef YYMAXDEPTH
> -+#endif
> -+
> -+#ifndef YYMAXDEPTH
> -+# define YYMAXDEPTH 10000
> -+#endif
> -+
> -+#ifdef YYERROR_VERBOSE
> -+
> -+# ifndef yystrlen
> -+#  if defined (__GLIBC__) && defined (_STRING_H)
> -+#   define yystrlen strlen
> -+#  else
> -+/* Return the length of YYSTR.  */
> -+static YYSIZE_T
> -+#   if defined (__STDC__) || defined (__cplusplus)
> -+yystrlen (const char *yystr)
> -+#   else
> -+yystrlen (yystr)
> -+     const char *yystr;
> -+#   endif
> -+{
> -+  register const char *yys = yystr;
> -+
> -+  while (*yys++ != '\0')
> -+    continue;
> -+
> -+  return yys - yystr - 1;
> -+}
> -+#  endif
> -+# endif
> -+
> -+# ifndef yystpcpy
> -+#  if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
> -+#   define yystpcpy stpcpy
> -+#  else
> -+/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
> -+   YYDEST.  */
> -+static char *
> -+#   if defined (__STDC__) || defined (__cplusplus)
> -+yystpcpy (char *yydest, const char *yysrc)
> -+#   else
> -+yystpcpy (yydest, yysrc)
> -+     char *yydest;
> -+     const char *yysrc;
> -+#   endif
> -+{
> -+  register char *yyd = yydest;
> -+  register const char *yys = yysrc;
> -+
> -+  while ((*yyd++ = *yys++) != '\0')
> -+    continue;
> -+
> -+  return yyd - 1;
> -+}
> -+#  endif
> -+# endif
> -+#endif
> -+
> -+#line 315 "/usr/local/share/bison/bison.simple"
> -+
> -+
> -+/* The user can define YYPARSE_PARAM as the name of an argument to be
> passed
> -+   into yyparse.  The argument should have type void *.
> -+   It should actually point to an object.
> -+   Grammar actions can access the variable by casting it
> -+   to the proper pointer type.  */
> -+
> -+#ifdef YYPARSE_PARAM
> -+# if defined (__STDC__) || defined (__cplusplus)
> -+#  define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
> -+#  define YYPARSE_PARAM_DECL
> -+# else
> -+#  define YYPARSE_PARAM_ARG YYPARSE_PARAM
> -+#  define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
> -+# endif
> -+#else /* !YYPARSE_PARAM */
> -+# define YYPARSE_PARAM_ARG
> -+# define YYPARSE_PARAM_DECL
> -+#endif /* !YYPARSE_PARAM */
> -+
> -+/* Prevent warning if -Wstrict-prototypes.  */
> -+#ifdef __GNUC__
> -+# ifdef YYPARSE_PARAM
> -+int yyparse (void *);
> -+# else
> -+int yyparse (void);
> -+# endif
> -+#endif
> -+
> -+/* YY_DECL_VARIABLES -- depending whether we use a pure parser,
> -+   variables are global, or local to YYPARSE.  */
> -+
> -+#define YY_DECL_NON_LSP_VARIABLES                     \
> -+/* The lookahead symbol.  */                          \
> -+int yychar;                                           \
> -+                                                      \
> -+/* The semantic value of the lookahead symbol. */     \
> -+YYSTYPE yylval;                                               \
> -+                                                      \
> -+/* Number of parse errors so far.  */                 \
> -+int yynerrs;
> -+
> -+#if YYLSP_NEEDED
> -+# define YY_DECL_VARIABLES                    \
> -+YY_DECL_NON_LSP_VARIABLES                     \
> -+                                              \
> -+/* Location data for the lookahead symbol.  */        \
> -+YYLTYPE yylloc;
> -+#else
> -+# define YY_DECL_VARIABLES                    \
> -+YY_DECL_NON_LSP_VARIABLES
> -+#endif
> -+
> -+
> -+/* If nonreentrant, generate the variables here. */
> -+
> -+#if !YYPURE
> -+YY_DECL_VARIABLES
> -+#endif  /* !YYPURE */
> -+
> -+int
> -+yyparse (YYPARSE_PARAM_ARG)
> -+     YYPARSE_PARAM_DECL
> -+{
> -+  /* If reentrant, generate the variables here. */
> -+#if YYPURE
> -+  YY_DECL_VARIABLES
> -+#endif  /* !YYPURE */
> -+
> -+  register int yystate;
> -+  register int yyn;
> -+  int yyresult;
> -+  /* Number of tokens to shift before error messages enabled.  */
> -+  int yyerrstatus;
> -+  /* Lookahead token as an internal (translated) token number.  */
> -+  int yychar1 = 0;
> -+
> -+  /* Three stacks and their tools:
> -+     `yyss': related to states,
> -+     `yyvs': related to semantic values,
> -+     `yyls': related to locations.
> -+
> -+     Refer to the stacks thru separate pointers, to allow yyoverflow
> -+     to reallocate them elsewhere.  */
> -+
> -+  /* The state stack. */
> -+  short       yyssa[YYINITDEPTH];
> -+  short *yyss = yyssa;
> -+  register short *yyssp;
> -+
> -+  /* The semantic value stack.  */
> -+  YYSTYPE yyvsa[YYINITDEPTH];
> -+  YYSTYPE *yyvs = yyvsa;
> -+  register YYSTYPE *yyvsp;
> -+
> -+#if YYLSP_NEEDED
> -+  /* The location stack.  */
> -+  YYLTYPE yylsa[YYINITDEPTH];
> -+  YYLTYPE *yyls = yylsa;
> -+  YYLTYPE *yylsp;
> -+#endif
> -+
> -+#if YYLSP_NEEDED
> -+# define YYPOPSTACK   (yyvsp--, yyssp--, yylsp--)
> -+#else
> -+# define YYPOPSTACK   (yyvsp--, yyssp--)
> -+#endif
> -+
> -+  YYSIZE_T yystacksize = YYINITDEPTH;
> -+
> -+
> -+  /* The variables used to return semantic value and location from the
> -+     action routines.  */
> -+  YYSTYPE yyval;
> -+#if YYLSP_NEEDED
> -+  YYLTYPE yyloc;
> -+#endif
> -+
> -+  /* When reducing, the number of symbols on the RHS of the reduced
> -+     rule. */
> -+  int yylen;
> -+
> -+  YYDPRINTF ((stderr, "Starting parse\n"));
> -+
> -+  yystate = 0;
> -+  yyerrstatus = 0;
> -+  yynerrs = 0;
> -+  yychar = YYEMPTY;           /* Cause a token to be read.  */
> -+
> -+  /* Initialize stack pointers.
> -+     Waste one element of value and location stack
> -+     so that they stay on the same level as the state stack.
> -+     The wasted elements are never initialized.  */
> -+
> -+  yyssp = yyss;
> -+  yyvsp = yyvs;
> -+#if YYLSP_NEEDED
> -+  yylsp = yyls;
> -+#endif
> -+  goto yysetstate;
> -+
> -+/*------------------------------------------------------------.
> -+| yynewstate -- Push a new state, which is found in yystate.  |
> -+`------------------------------------------------------------*/
> -+ yynewstate:
> -+  /* In all cases, when you get here, the value and location stacks
> -+     have just been pushed. so pushing a state here evens the stacks.
> -+     */
> -+  yyssp++;
> -+
> -+ yysetstate:
> -+  *yyssp = yystate;
> -+
> -+  if (yyssp >= yyss + yystacksize - 1)
> -+    {
> -+      /* Get the current used size of the three stacks, in elements.  */
> -+      YYSIZE_T yysize = yyssp - yyss + 1;
> -+
> -+#ifdef yyoverflow
> -+      {
> -+      /* Give user a chance to reallocate the stack. Use copies of
> -+         these so that the &'s don't force the real ones into
> -+         memory.  */
> -+      YYSTYPE *yyvs1 = yyvs;
> -+      short *yyss1 = yyss;
> -+
> -+      /* Each stack pointer address is followed by the size of the
> -+         data in use in that stack, in bytes.  */
> -+# if YYLSP_NEEDED
> -+      YYLTYPE *yyls1 = yyls;
> -+      /* This used to be a conditional around just the two extra args,
> -+         but that might be undefined if yyoverflow is a macro.  */
> -+      yyoverflow ("parser stack overflow",
> -+                  &yyss1, yysize * sizeof (*yyssp),
> -+                  &yyvs1, yysize * sizeof (*yyvsp),
> -+                  &yyls1, yysize * sizeof (*yylsp),
> -+                  &yystacksize);
> -+      yyls = yyls1;
> -+# else
> -+      yyoverflow ("parser stack overflow",
> -+                  &yyss1, yysize * sizeof (*yyssp),
> -+                  &yyvs1, yysize * sizeof (*yyvsp),
> -+                  &yystacksize);
> -+# endif
> -+      yyss = yyss1;
> -+      yyvs = yyvs1;
> -+      }
> -+#else /* no yyoverflow */
> -+# ifndef YYSTACK_RELOCATE
> -+      goto yyoverflowlab;
> -+# else
> -+      /* Extend the stack our own way.  */
> -+      if (yystacksize >= YYMAXDEPTH)
> -+      goto yyoverflowlab;
> -+      yystacksize *= 2;
> -+      if (yystacksize > YYMAXDEPTH)
> -+      yystacksize = YYMAXDEPTH;
> -+
> -+      {
> -+      short *yyss1 = yyss;
> -+      union yyalloc *yyptr =
> -+        (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
> -+      if (! yyptr)
> -+        goto yyoverflowlab;
> -+      YYSTACK_RELOCATE (yyss);
> -+      YYSTACK_RELOCATE (yyvs);
> -+# if YYLSP_NEEDED
> -+      YYSTACK_RELOCATE (yyls);
> -+# endif
> -+# undef YYSTACK_RELOCATE
> -+      if (yyss1 != yyssa)
> -+        YYSTACK_FREE (yyss1);
> -+      }
> -+# endif
> -+#endif /* no yyoverflow */
> -+
> -+      yyssp = yyss + yysize - 1;
> -+      yyvsp = yyvs + yysize - 1;
> -+#if YYLSP_NEEDED
> -+      yylsp = yyls + yysize - 1;
> -+#endif
> -+
> -+      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
> -+                (unsigned long int) yystacksize));
> -+
> -+      if (yyssp >= yyss + yystacksize - 1)
> -+      YYABORT;
> -+    }
> -+
> -+  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
> -+
> -+  goto yybackup;
> -+
> -+
> -+/*-----------.
> -+| yybackup.  |
> -+`-----------*/
> -+yybackup:
> -+
> -+/* Do appropriate processing given the current state.  */
> -+/* Read a lookahead token if we need one and don't already have one.  */
> -+/* yyresume: */
> -+
> -+  /* First try to decide what to do without reference to lookahead
> token.  */
> -+
> -+  yyn = yypact[yystate];
> -+  if (yyn == YYFLAG)
> -+    goto yydefault;
> -+
> -+  /* Not known => get a lookahead token if don't already have one.  */
> -+
> -+  /* yychar is either YYEMPTY or YYEOF
> -+     or a valid token in external form.  */
> -+
> -+  if (yychar == YYEMPTY)
> -+    {
> -+      YYDPRINTF ((stderr, "Reading a token: "));
> -+      yychar = YYLEX;
> -+    }
> -+
> -+  /* Convert token to internal form (in yychar1) for indexing tables
> with */
> -+
> -+  if (yychar <= 0)            /* This means end of input. */
> -+    {
> -+      yychar1 = 0;
> -+      yychar = YYEOF;         /* Don't call YYLEX any more */
> -+
> -+      YYDPRINTF ((stderr, "Now at end of input.\n"));
> -+    }
> -+  else
> -+    {
> -+      yychar1 = YYTRANSLATE (yychar);
> -+
> -+#if YYDEBUG
> -+     /* We have to keep this `#if YYDEBUG', since we use variables
> -+      which are defined only if `YYDEBUG' is set.  */
> -+      if (yydebug)
> -+      {
> -+        YYFPRINTF (stderr, "Next token is %d (%s",
> -+                   yychar, yytname[yychar1]);
> -+        /* Give the individual parser a way to print the precise
> -+           meaning of a token, for further debugging info.  */
> -+# ifdef YYPRINT
> -+        YYPRINT (stderr, yychar, yylval);
> -+# endif
> -+        YYFPRINTF (stderr, ")\n");
> -+      }
> -+#endif
> -+    }
> -+
> -+  yyn += yychar1;
> -+  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
> -+    goto yydefault;
> -+
> -+  yyn = yytable[yyn];
> -+
> -+  /* yyn is what to do for this token type in this state.
> -+     Negative => reduce, -yyn is rule number.
> -+     Positive => shift, yyn is new state.
> -+       New state is final state => don't bother to shift,
> -+       just return success.
> -+     0, or most negative number => error.  */
> -+
> -+  if (yyn < 0)
> -+    {
> -+      if (yyn == YYFLAG)
> -+      goto yyerrlab;
> -+      yyn = -yyn;
> -+      goto yyreduce;
> -+    }
> -+  else if (yyn == 0)
> -+    goto yyerrlab;
> -+
> -+  if (yyn == YYFINAL)
> -+    YYACCEPT;
> -+
> -+  /* Shift the lookahead token.  */
> -+  YYDPRINTF ((stderr, "Shifting token %d (%s), ",
> -+            yychar, yytname[yychar1]));
> -+
> -+  /* Discard the token being shifted unless it is eof.  */
> -+  if (yychar != YYEOF)
> -+    yychar = YYEMPTY;
> -+
> -+  *++yyvsp = yylval;
> -+#if YYLSP_NEEDED
> -+  *++yylsp = yylloc;
> -+#endif
> -+
> -+  /* Count tokens shifted since error; after three, turn off error
> -+     status.  */
> -+  if (yyerrstatus)
> -+    yyerrstatus--;
> -+
> -+  yystate = yyn;
> -+  goto yynewstate;
> -+
> -+
> -+/*-----------------------------------------------------------.
> -+| yydefault -- do the default action for the current state.  |
> -+`-----------------------------------------------------------*/
> -+yydefault:
> -+  yyn = yydefact[yystate];
> -+  if (yyn == 0)
> -+    goto yyerrlab;
> -+  goto yyreduce;
> -+
> -+
> -+/*-----------------------------.
> -+| yyreduce -- Do a reduction.  |
> -+`-----------------------------*/
> -+yyreduce:
> -+  /* yyn is the number of a rule to reduce with.  */
> -+  yylen = yyr2[yyn];
> -+
> -+  /* If YYLEN is nonzero, implement the default value of the action:
> -+     `$$ = $1'.
> -+
> -+     Otherwise, the following line sets YYVAL to the semantic value of
> -+     the lookahead token.  This behavior is undocumented and Bison
> -+     users should not rely upon it.  Assigning to YYVAL
> -+     unconditionally makes the parser a bit smaller, and it avoids a
> -+     GCC warning that YYVAL may be used uninitialized.  */
> -+  yyval = yyvsp[1-yylen];
> -+
> -+#if YYLSP_NEEDED
> -+  /* Similarly for the default location.  Let the user run additional
> -+     commands if for instance locations are ranges.  */
> -+  yyloc = yylsp[1-yylen];
> -+  YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
> -+#endif
> -+
> -+#if YYDEBUG
> -+  /* We have to keep this `#if YYDEBUG', since we use variables which
> -+     are defined only if `YYDEBUG' is set.  */
> -+  if (yydebug)
> -+    {
> -+      int yyi;
> -+
> -+      YYFPRINTF (stderr, "Reducing via rule %d (line %d), ",
> -+               yyn, yyrline[yyn]);
> -+
> -+      /* Print the symbols being reduced, and their result.  */
> -+      for (yyi = yyprhs[yyn]; yyrhs[yyi] > 0; yyi++)
> -+      YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]);
> -+      YYFPRINTF (stderr, " -> %s\n", yytname[yyr1[yyn]]);
> -+    }
> -+#endif
> -+
> -+  switch (yyn) {
> -+
> -+case 1:
> -+#line 151 "plural.y"
> -+{
> -+          if (yyvsp[0].exp == NULL)
> -+            YYABORT;
> -+          ((struct parse_args *) arg)->res = yyvsp[0].exp;
> -+        }
> -+    break;
> -+case 2:
> -+#line 159 "plural.y"
> -+{
> -+          yyval.exp = new_exp_3 (qmop, yyvsp[-4].exp, yyvsp[-2].exp,
> yyvsp[0].exp);
> -+        }
> -+    break;
> -+case 3:
> -+#line 163 "plural.y"
> -+{
> -+          yyval.exp = new_exp_2 (lor, yyvsp[-2].exp, yyvsp[0].exp);
> -+        }
> -+    break;
> -+case 4:
> -+#line 167 "plural.y"
> -+{
> -+          yyval.exp = new_exp_2 (land, yyvsp[-2].exp, yyvsp[0].exp);
> -+        }
> -+    break;
> -+case 5:
> -+#line 171 "plural.y"
> -+{
> -+          yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp,
> yyvsp[0].exp);
> -+        }
> -+    break;
> -+case 6:
> -+#line 175 "plural.y"
> -+{
> -+          yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp,
> yyvsp[0].exp);
> -+        }
> -+    break;
> -+case 7:
> -+#line 179 "plural.y"
> -+{
> -+          yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp,
> yyvsp[0].exp);
> -+        }
> -+    break;
> -+case 8:
> -+#line 183 "plural.y"
> -+{
> -+          yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp,
> yyvsp[0].exp);
> -+        }
> -+    break;
> -+case 9:
> -+#line 187 "plural.y"
> -+{
> -+          yyval.exp = new_exp_1 (lnot, yyvsp[0].exp);
> -+        }
> -+    break;
> -+case 10:
> -+#line 191 "plural.y"
> -+{
> -+          yyval.exp = new_exp_0 (var);
> -+        }
> -+    break;
> -+case 11:
> -+#line 195 "plural.y"
> -+{
> -+          if ((yyval.exp = new_exp_0 (num)) != NULL)
> -+            yyval.exp->val.num = yyvsp[0].num;
> -+        }
> -+    break;
> -+case 12:
> -+#line 200 "plural.y"
> -+{
> -+          yyval.exp = yyvsp[-1].exp;
> -+        }
> -+    break;
> -+}
> -+
> -+#line 705 "/usr/local/share/bison/bison.simple"
> -+
> -+
> -+  yyvsp -= yylen;
> -+  yyssp -= yylen;
> -+#if YYLSP_NEEDED
> -+  yylsp -= yylen;
> -+#endif
> -+
> -+#if YYDEBUG
> -+  if (yydebug)
> -+    {
> -+      short *yyssp1 = yyss - 1;
> -+      YYFPRINTF (stderr, "state stack now");
> -+      while (yyssp1 != yyssp)
> -+      YYFPRINTF (stderr, " %d", *++yyssp1);
> -+      YYFPRINTF (stderr, "\n");
> -+    }
> -+#endif
> -+
> -+  *++yyvsp = yyval;
> -+#if YYLSP_NEEDED
> -+  *++yylsp = yyloc;
> -+#endif
> -+
> -+  /* Now `shift' the result of the reduction.  Determine what state
> -+     that goes to, based on the state we popped back to and the rule
> -+     number reduced by.  */
> -+
> -+  yyn = yyr1[yyn];
> -+
> -+  yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
> -+  if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
> -+    yystate = yytable[yystate];
> -+  else
> -+    yystate = yydefgoto[yyn - YYNTBASE];
> -+
> -+  goto yynewstate;
> -+
> -+
> -+/*------------------------------------.
> -+| yyerrlab -- here on detecting error |
> -+`------------------------------------*/
> -+yyerrlab:
> -+  /* If not already recovering from an error, report this error.  */
> -+  if (!yyerrstatus)
> -+    {
> -+      ++yynerrs;
> -+
> -+#ifdef YYERROR_VERBOSE
> -+      yyn = yypact[yystate];
> -+
> -+      if (yyn > YYFLAG && yyn < YYLAST)
> -+      {
> -+        YYSIZE_T yysize = 0;
> -+        char *yymsg;
> -+        int yyx, yycount;
> -+
> -+        yycount = 0;
> -+        /* Start YYX at -YYN if negative to avoid negative indexes in
> -+           YYCHECK.  */
> -+        for (yyx = yyn < 0 ? -yyn : 0;
> -+             yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++)
> -+          if (yycheck[yyx + yyn] == yyx)
> -+            yysize += yystrlen (yytname[yyx]) + 15, yycount++;
> -+        yysize += yystrlen ("parse error, unexpected ") + 1;
> -+        yysize += yystrlen (yytname[YYTRANSLATE (yychar)]);
> -+        yymsg = (char *) YYSTACK_ALLOC (yysize);
> -+        if (yymsg != 0)
> -+          {
> -+            char *yyp = yystpcpy (yymsg, "parse error, unexpected ");
> -+            yyp = yystpcpy (yyp, yytname[YYTRANSLATE (yychar)]);
> -+
> -+            if (yycount < 5)
> -+              {
> -+                yycount = 0;
> -+                for (yyx = yyn < 0 ? -yyn : 0;
> -+                     yyx < (int) (sizeof (yytname) / sizeof (char *));
> -+                     yyx++)
> -+                  if (yycheck[yyx + yyn] == yyx)
> -+                    {
> -+                      const char *yyq = ! yycount ? ", expecting " : "
> or ";
> -+                      yyp = yystpcpy (yyp, yyq);
> -+                      yyp = yystpcpy (yyp, yytname[yyx]);
> -+                      yycount++;
> -+                    }
> -+              }
> -+            yyerror (yymsg);
> -+            YYSTACK_FREE (yymsg);
> -+          }
> -+        else
> -+          yyerror ("parse error; also virtual memory exhausted");
> -+      }
> -+      else
> -+#endif /* defined (YYERROR_VERBOSE) */
> -+      yyerror ("parse error");
> -+    }
> -+  goto yyerrlab1;
> -+
> -+
> -+/*--------------------------------------------------.
> -+| yyerrlab1 -- error raised explicitly by an action |
> -+`--------------------------------------------------*/
> -+yyerrlab1:
> -+  if (yyerrstatus == 3)
> -+    {
> -+      /* If just tried and failed to reuse lookahead token after an
> -+       error, discard it.  */
> -+
> -+      /* return failure if at end of input */
> -+      if (yychar == YYEOF)
> -+      YYABORT;
> -+      YYDPRINTF ((stderr, "Discarding token %d (%s).\n",
> -+                yychar, yytname[yychar1]));
> -+      yychar = YYEMPTY;
> -+    }
> -+
> -+  /* Else will try to reuse lookahead token after shifting the error
> -+     token.  */
> -+
> -+  yyerrstatus = 3;            /* Each real token shifted decrements this
> */
> -+
> -+  goto yyerrhandle;
> -+
> -+
> -+/*-------------------------------------------------------------------.
> -+| yyerrdefault -- current state does not do anything special for the |
> -+| error token.                                                       |
> -+`-------------------------------------------------------------------*/
> -+yyerrdefault:
> -+#if 0
> -+  /* This is wrong; only states that explicitly want error tokens
> -+     should shift them.  */
> -+
> -+  /* If its default is to accept any token, ok.  Otherwise pop it.  */
> -+  yyn = yydefact[yystate];
> -+  if (yyn)
> -+    goto yydefault;
> -+#endif
> -+
> -+
> -+/*---------------------------------------------------------------.
> -+| yyerrpop -- pop the current state because it cannot handle the |
> -+| error token                                                    |
> -+`---------------------------------------------------------------*/
> -+yyerrpop:
> -+  if (yyssp == yyss)
> -+    YYABORT;
> -+  yyvsp--;
> -+  yystate = *--yyssp;
> -+#if YYLSP_NEEDED
> -+  yylsp--;
> -+#endif
> -+
> -+#if YYDEBUG
> -+  if (yydebug)
> -+    {
> -+      short *yyssp1 = yyss - 1;
> -+      YYFPRINTF (stderr, "Error: state stack now");
> -+      while (yyssp1 != yyssp)
> -+      YYFPRINTF (stderr, " %d", *++yyssp1);
> -+      YYFPRINTF (stderr, "\n");
> -+    }
> -+#endif
> -+
> -+/*--------------.
> -+| yyerrhandle.  |
> -+`--------------*/
> -+yyerrhandle:
> -+  yyn = yypact[yystate];
> -+  if (yyn == YYFLAG)
> -+    goto yyerrdefault;
> -+
> -+  yyn += YYTERROR;
> -+  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
> -+    goto yyerrdefault;
> -+
> -+  yyn = yytable[yyn];
> -+  if (yyn < 0)
> -+    {
> -+      if (yyn == YYFLAG)
> -+      goto yyerrpop;
> -+      yyn = -yyn;
> -+      goto yyreduce;
> -+    }
> -+  else if (yyn == 0)
> -+    goto yyerrpop;
> -+
> -+  if (yyn == YYFINAL)
> -+    YYACCEPT;
> -+
> -+  YYDPRINTF ((stderr, "Shifting error token, "));
> -+
> -+  *++yyvsp = yylval;
> -+#if YYLSP_NEEDED
> -+  *++yylsp = yylloc;
> -+#endif
> -+
> -+  yystate = yyn;
> -+  goto yynewstate;
> -+
> -+
> -+/*-------------------------------------.
> -+| yyacceptlab -- YYACCEPT comes here.  |
> -+`-------------------------------------*/
> -+yyacceptlab:
> -+  yyresult = 0;
> -+  goto yyreturn;
> -+
> -+/*-----------------------------------.
> -+| yyabortlab -- YYABORT comes here.  |
> -+`-----------------------------------*/
> -+yyabortlab:
> -+  yyresult = 1;
> -+  goto yyreturn;
> -+
> -+/*---------------------------------------------.
> -+| yyoverflowab -- parser overflow comes here.  |
> -+`---------------------------------------------*/
> -+yyoverflowlab:
> -+  yyerror ("parser stack overflow");
> -+  yyresult = 2;
> -+  /* Fall through.  */
> -+
> -+yyreturn:
> -+#ifndef yyoverflow
> -+  if (yyss != yyssa)
> -+    YYSTACK_FREE (yyss);
> -+#endif
> -+  return yyresult;
> -+}
> -+#line 205 "plural.y"
> -+
> -+
> -+void
> -+internal_function
> -+FREE_EXPRESSION (struct expression *exp)
> -+{
> -+  if (exp == NULL)
> -+    return;
> -+
> -+  /* Handle the recursive case.  */
> -+  switch (exp->nargs)
> -+    {
> -+    case 3:
> -+      FREE_EXPRESSION (exp->val.args[2]);
> -+      /* FALLTHROUGH */
> -+    case 2:
> -+      FREE_EXPRESSION (exp->val.args[1]);
> -+      /* FALLTHROUGH */
> -+    case 1:
> -+      FREE_EXPRESSION (exp->val.args[0]);
> -+      /* FALLTHROUGH */
> -+    default:
> -+      break;
> -+    }
> -+
> -+  free (exp);
> -+}
> -+
> -+
> -+static int
> -+yylex (YYSTYPE *lval, const char **pexp)
> -+{
> -+  const char *exp = *pexp;
> -+  int result;
> -+
> -+  while (1)
> -+    {
> -+      if (exp[0] == '\0')
> -+      {
> -+        *pexp = exp;
> -+        return YYEOF;
> -+      }
> -+
> -+      if (exp[0] != ' ' && exp[0] != '\t')
> -+      break;
> -+
> -+      ++exp;
> -+    }
> -+
> -+  result = *exp++;
> -+  switch (result)
> -+    {
> -+    case '0': case '1': case '2': case '3': case '4':
> -+    case '5': case '6': case '7': case '8': case '9':
> -+      {
> -+      unsigned long int n = result - '0';
> -+      while (exp[0] >= '0' && exp[0] <= '9')
> -+        {
> -+          n *= 10;
> -+          n += exp[0] - '0';
> -+          ++exp;
> -+        }
> -+      lval->num = n;
> -+      result = NUMBER;
> -+      }
> -+      break;
> -+
> -+    case '=':
> -+      if (exp[0] == '=')
> -+      {
> -+        ++exp;
> -+        lval->op = equal;
> -+        result = EQUOP2;
> -+      }
> -+      else
> -+      result = YYERRCODE;
> -+      break;
> -+
> -+    case '!':
> -+      if (exp[0] == '=')
> -+      {
> -+        ++exp;
> -+        lval->op = not_equal;
> -+        result = EQUOP2;
> -+      }
> -+      break;
> -+
> -+    case '&':
> -+    case '|':
> -+      if (exp[0] == result)
> -+      ++exp;
> -+      else
> -+      result = YYERRCODE;
> -+      break;
> -+
> -+    case '<':
> -+      if (exp[0] == '=')
> -+      {
> -+        ++exp;
> -+        lval->op = less_or_equal;
> -+      }
> -+      else
> -+      lval->op = less_than;
> -+      result = CMPOP2;
> -+      break;
> -+
> -+    case '>':
> -+      if (exp[0] == '=')
> -+      {
> -+        ++exp;
> -+        lval->op = greater_or_equal;
> -+      }
> -+      else
> -+      lval->op = greater_than;
> -+      result = CMPOP2;
> -+      break;
> -+
> -+    case '*':
> -+      lval->op = mult;
> -+      result = MULOP2;
> -+      break;
> -+
> -+    case '/':
> -+      lval->op = divide;
> -+      result = MULOP2;
> -+      break;
> -+
> -+    case '%':
> -+      lval->op = module;
> -+      result = MULOP2;
> -+      break;
> -+
> -+    case '+':
> -+      lval->op = plus;
> -+      result = ADDOP2;
> -+      break;
> -+
> -+    case '-':
> -+      lval->op = minus;
> -+      result = ADDOP2;
> -+      break;
> -+
> -+    case 'n':
> -+    case '?':
> -+    case ':':
> -+    case '(':
> -+    case ')':
> -+      /* Nothing, just return the character.  */
> -+      break;
> -+
> -+    case ';':
> -+    case '\n':
> -+    case '\0':
> -+      /* Be safe and let the user call this function again.  */
> -+      --exp;
> -+      result = YYEOF;
> -+      break;
> -+
> -+    default:
> -+      result = YYERRCODE;
> -+#if YYDEBUG != 0
> -+      --exp;
> -+#endif
> -+      break;
> -+    }
> -+
> -+  *pexp = exp;
> -+
> -+  return result;
> -+}
> -+
> -+
> -+static void
> -+yyerror (const char *str)
> -+{
> -+  /* Do nothing.  We don't print error messages here.  */
> -+}
> ---- lrzsz-0.12.20.safe/intl/plural-exp.c       1969-12-31
> 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/intl/plural-exp.c    2004-09-12 14:40:34.578714192 -0400
> -@@ -0,0 +1,154 @@
> -+/* Expression parsing for plural form selection.
> -+   Copyright (C) 2000-2001, 2003 Free Software Foundation, Inc.
> -+   Written by Ulrich Drepper <drepper at cygnus.com>, 2000.
> -+
> -+   This program is free software; you can redistribute it and/or modify
> it
> -+   under the terms of the GNU Library General Public License as published
> -+   by the Free Software Foundation; either version 2, 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
> -+   Library General Public License for more details.
> -+
> -+   You should have received a copy of the GNU Library 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.  */
> -+
> -+#ifdef HAVE_CONFIG_H
> -+# include <config.h>
> -+#endif
> -+
> -+#include <ctype.h>
> -+#include <stdlib.h>
> -+#include <string.h>
> -+
> -+#include "plural-exp.h"
> -+
> -+#if (defined __GNUC__ && !defined __APPLE_CC__) \
> -+    || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L)
> -+
> -+/* These structs are the constant expression for the germanic plural
> -+   form determination.  It represents the expression  "n != 1".  */
> -+static const struct expression plvar =
> -+{
> -+  .nargs = 0,
> -+  .operation = var,
> -+};
> -+static const struct expression plone =
> -+{
> -+  .nargs = 0,
> -+  .operation = num,
> -+  .val =
> -+  {
> -+    .num = 1
> -+  }
> -+};
> -+struct expression GERMANIC_PLURAL =
> -+{
> -+  .nargs = 2,
> -+  .operation = not_equal,
> -+  .val =
> -+  {
> -+    .args =
> -+    {
> -+      [0] = (struct expression *) &plvar,
> -+      [1] = (struct expression *) &plone
> -+    }
> -+  }
> -+};
> -+
> -+# define INIT_GERMANIC_PLURAL()
> -+
> -+#else
> -+
> -+/* For compilers without support for ISO C 99 struct/union initializers:
> -+   Initialization at run-time.  */
> -+
> -+static struct expression plvar;
> -+static struct expression plone;
> -+struct expression GERMANIC_PLURAL;
> -+
> -+static void
> -+init_germanic_plural ()
> -+{
> -+  if (plone.val.num == 0)
> -+    {
> -+      plvar.nargs = 0;
> -+      plvar.operation = var;
> -+
> -+      plone.nargs = 0;
> -+      plone.operation = num;
> -+      plone.val.num = 1;
> -+
> -+      GERMANIC_PLURAL.nargs = 2;
> -+      GERMANIC_PLURAL.operation = not_equal;
> -+      GERMANIC_PLURAL.val.args[0] = &plvar;
> -+      GERMANIC_PLURAL.val.args[1] = &plone;
> -+    }
> -+}
> -+
> -+# define INIT_GERMANIC_PLURAL() init_germanic_plural ()
> -+
> -+#endif
> -+
> -+void
> -+internal_function
> -+EXTRACT_PLURAL_EXPRESSION (const char *nullentry, struct expression
> **pluralp,
> -+                         unsigned long int *npluralsp)
> -+{
> -+  if (nullentry != NULL)
> -+    {
> -+      const char *plural;
> -+      const char *nplurals;
> -+
> -+      plural = strstr (nullentry, "plural=");
> -+      nplurals = strstr (nullentry, "nplurals=");
> -+      if (plural == NULL || nplurals == NULL)
> -+      goto no_plural;
> -+      else
> -+      {
> -+        char *endp;
> -+        unsigned long int n;
> -+        struct parse_args args;
> -+
> -+        /* First get the number.  */
> -+        nplurals += 9;
> -+        while (*nplurals != '\0' && isspace ((unsigned char) *nplurals))
> -+          ++nplurals;
> -+        if (!(*nplurals >= '0' && *nplurals <= '9'))
> -+          goto no_plural;
> -+#if defined HAVE_STRTOUL || defined _LIBC
> -+        n = strtoul (nplurals, &endp, 10);
> -+#else
> -+        for (endp = nplurals, n = 0; *endp >= '0' && *endp <= '9';
> endp++)
> -+          n = n * 10 + (*endp - '0');
> -+#endif
> -+        if (nplurals == endp)
> -+          goto no_plural;
> -+        *npluralsp = n;
> -+
> -+        /* Due to the restrictions bison imposes onto the interface of
> the
> -+           scanner function we have to put the input string and the
> result
> -+           passed up from the parser into the same structure which
> address
> -+           is passed down to the parser.  */
> -+        plural += 7;
> -+        args.cp = plural;
> -+        if (PLURAL_PARSE (&args) != 0)
> -+          goto no_plural;
> -+        *pluralp = args.res;
> -+      }
> -+    }
> -+  else
> -+    {
> -+      /* By default we are using the Germanic form: singular form only
> -+         for `one', the plural form otherwise.  Yes, this is also what
> -+         English is using since English is a Germanic language.  */
> -+    no_plural:
> -+      INIT_GERMANIC_PLURAL ();
> -+      *pluralp = &GERMANIC_PLURAL;
> -+      *npluralsp = 2;
> -+    }
> -+}
> ---- lrzsz-0.12.20.safe/intl/plural-exp.h       1969-12-31
> 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/intl/plural-exp.h    2004-09-12 14:40:34.584713280 -0400
> -@@ -0,0 +1,118 @@
> -+/* Expression parsing and evaluation for plural form selection.
> -+   Copyright (C) 2000-2003 Free Software Foundation, Inc.
> -+   Written by Ulrich Drepper <drepper at cygnus.com>, 2000.
> -+
> -+   This program is free software; you can redistribute it and/or modify
> it
> -+   under the terms of the GNU Library General Public License as published
> -+   by the Free Software Foundation; either version 2, 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
> -+   Library General Public License for more details.
> -+
> -+   You should have received a copy of the GNU Library 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.  */
> -+
> -+#ifndef _PLURAL_EXP_H
> -+#define _PLURAL_EXP_H
> -+
> -+#ifndef internal_function
> -+# define internal_function
> -+#endif
> -+
> -+#ifndef attribute_hidden
> -+# define attribute_hidden
> -+#endif
> -+
> -+
> -+/* This is the representation of the expressions to determine the
> -+   plural form.  */
> -+struct expression
> -+{
> -+  int nargs;                  /* Number of arguments.  */
> -+  enum operator
> -+  {
> -+    /* Without arguments:  */
> -+    var,                      /* The variable "n".  */
> -+    num,                      /* Decimal number.  */
> -+    /* Unary operators:  */
> -+    lnot,                     /* Logical NOT.  */
> -+    /* Binary operators:  */
> -+    mult,                     /* Multiplication.  */
> -+    divide,                   /* Division.  */
> -+    module,                   /* Modulo operation.  */
> -+    plus,                     /* Addition.  */
> -+    minus,                    /* Subtraction.  */
> -+    less_than,                        /* Comparison.  */
> -+    greater_than,             /* Comparison.  */
> -+    less_or_equal,            /* Comparison.  */
> -+    greater_or_equal,         /* Comparison.  */
> -+    equal,                    /* Comparison for equality.  */
> -+    not_equal,                        /* Comparison for inequality.  */
> -+    land,                     /* Logical AND.  */
> -+    lor,                      /* Logical OR.  */
> -+    /* Ternary operators:  */
> -+    qmop                      /* Question mark operator.  */
> -+  } operation;
> -+  union
> -+  {
> -+    unsigned long int num;    /* Number value for `num'.  */
> -+    struct expression *args[3];       /* Up to three arguments.  */
> -+  } val;
> -+};
> -+
> -+/* This is the data structure to pass information to the parser and get
> -+   the result in a thread-safe way.  */
> -+struct parse_args
> -+{
> -+  const char *cp;
> -+  struct expression *res;
> -+};
> -+
> -+
> -+/* Names for the libintl functions are a problem.  This source code is
> used
> -+   1. in the GNU C Library library,
> -+   2. in the GNU libintl library,
> -+   3. in the GNU gettext tools.
> -+   The function names in each situation must be different, to allow for
> -+   binary incompatible changes in 'struct expression'.  Furthermore,
> -+   1. in the GNU C Library library, the names have a __ prefix,
> -+   2.+3. in the GNU libintl library and in the GNU gettext tools, the
> names
> -+         must follow ANSI C and not start with __.
> -+   So we have to distinguish the three cases.  */
> -+#ifdef _LIBC
> -+# define FREE_EXPRESSION __gettext_free_exp
> -+# define PLURAL_PARSE __gettextparse
> -+# define GERMANIC_PLURAL __gettext_germanic_plural
> -+# define EXTRACT_PLURAL_EXPRESSION __gettext_extract_plural
> -+#elif defined (IN_LIBINTL)
> -+# define FREE_EXPRESSION libintl_gettext_free_exp
> -+# define PLURAL_PARSE libintl_gettextparse
> -+# define GERMANIC_PLURAL libintl_gettext_germanic_plural
> -+# define EXTRACT_PLURAL_EXPRESSION libintl_gettext_extract_plural
> -+#else
> -+# define FREE_EXPRESSION free_plural_expression
> -+# define PLURAL_PARSE parse_plural_expression
> -+# define GERMANIC_PLURAL germanic_plural
> -+# define EXTRACT_PLURAL_EXPRESSION extract_plural_expression
> -+#endif
> -+
> -+extern void FREE_EXPRESSION (struct expression *exp)
> -+     internal_function;
> -+extern int PLURAL_PARSE (void *arg);
> -+extern struct expression GERMANIC_PLURAL attribute_hidden;
> -+extern void EXTRACT_PLURAL_EXPRESSION (const char *nullentry,
> -+                                     struct expression **pluralp,
> -+                                     unsigned long int *npluralsp)
> -+     internal_function;
> -+
> -+#if !defined (_LIBC) && !defined (IN_LIBINTL)
> -+extern unsigned long int plural_eval (struct expression *pexp,
> -+                                    unsigned long int n);
> -+#endif
> -+
> -+#endif /* _PLURAL_EXP_H */
> ---- lrzsz-0.12.20.safe/intl/plural.y   1969-12-31 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/intl/plural.y        2004-09-12 14:40:34.589712520 -0400
> -@@ -0,0 +1,381 @@
> -+%{
> -+/* Expression parsing for plural form selection.
> -+   Copyright (C) 2000-2001, 2003 Free Software Foundation, Inc.
> -+   Written by Ulrich Drepper <drepper at cygnus.com>, 2000.
> -+
> -+   This program is free software; you can redistribute it and/or modify
> it
> -+   under the terms of the GNU Library General Public License as published
> -+   by the Free Software Foundation; either version 2, 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
> -+   Library General Public License for more details.
> -+
> -+   You should have received a copy of the GNU Library 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.  */
> -+
> -+/* The bison generated parser uses alloca.  AIX 3 forces us to put this
> -+   declaration at the beginning of the file.  The declaration in bison's
> -+   skeleton file comes too late.  This must come before <config.h>
> -+   because <config.h> may include arbitrary system headers.  */
> -+#if defined _AIX && !defined __GNUC__
> -+ #pragma alloca
> -+#endif
> -+
> -+#ifdef HAVE_CONFIG_H
> -+# include <config.h>
> -+#endif
> -+
> -+#include <stddef.h>
> -+#include <stdlib.h>
> -+#include "plural-exp.h"
> -+
> -+/* The main function generated by the parser is called __gettextparse,
> -+   but we want it to be called PLURAL_PARSE.  */
> -+#ifndef _LIBC
> -+# define __gettextparse PLURAL_PARSE
> -+#endif
> -+
> -+#define YYLEX_PARAM   &((struct parse_args *) arg)->cp
> -+#define YYPARSE_PARAM arg
> -+%}
> -+%pure_parser
> -+%expect 7
> -+
> -+%union {
> -+  unsigned long int num;
> -+  enum operator op;
> -+  struct expression *exp;
> -+}
> -+
> -+%{
> -+/* Prototypes for local functions.  */
> -+static int yylex (YYSTYPE *lval, const char **pexp);
> -+static void yyerror (const char *str);
> -+
> -+/* Allocation of expressions.  */
> -+
> -+static struct expression *
> -+new_exp (int nargs, enum operator op, struct expression * const *args)
> -+{
> -+  int i;
> -+  struct expression *newp;
> -+
> -+  /* If any of the argument could not be malloc'ed, just return NULL.  */
> -+  for (i = nargs - 1; i >= 0; i--)
> -+    if (args[i] == NULL)
> -+      goto fail;
> -+
> -+  /* Allocate a new expression.  */
> -+  newp = (struct expression *) malloc (sizeof (*newp));
> -+  if (newp != NULL)
> -+    {
> -+      newp->nargs = nargs;
> -+      newp->operation = op;
> -+      for (i = nargs - 1; i >= 0; i--)
> -+      newp->val.args[i] = args[i];
> -+      return newp;
> -+    }
> -+
> -+ fail:
> -+  for (i = nargs - 1; i >= 0; i--)
> -+    FREE_EXPRESSION (args[i]);
> -+
> -+  return NULL;
> -+}
> -+
> -+static inline struct expression *
> -+new_exp_0 (enum operator op)
> -+{
> -+  return new_exp (0, op, NULL);
> -+}
> -+
> -+static inline struct expression *
> -+new_exp_1 (enum operator op, struct expression *right)
> -+{
> -+  struct expression *args[1];
> -+
> -+  args[0] = right;
> -+  return new_exp (1, op, args);
> -+}
> -+
> -+static struct expression *
> -+new_exp_2 (enum operator op, struct expression *left, struct expression
> *right)
> -+{
> -+  struct expression *args[2];
> -+
> -+  args[0] = left;
> -+  args[1] = right;
> -+  return new_exp (2, op, args);
> -+}
> -+
> -+static inline struct expression *
> -+new_exp_3 (enum operator op, struct expression *bexp,
> -+         struct expression *tbranch, struct expression *fbranch)
> -+{
> -+  struct expression *args[3];
> -+
> -+  args[0] = bexp;
> -+  args[1] = tbranch;
> -+  args[2] = fbranch;
> -+  return new_exp (3, op, args);
> -+}
> -+
> -+%}
> -+
> -+/* This declares that all operators have the same associativity and the
> -+   precedence order as in C.  See [Harbison, Steele: C, A Reference
> Manual].
> -+   There is no unary minus and no bitwise operators.
> -+   Operators with the same syntactic behaviour have been merged into a
> single
> -+   token, to save space in the array generated by bison.  */
> -+%right '?'            /*   ?          */
> -+%left '|'             /*   ||         */
> -+%left '&'             /*   &&         */
> -+%left EQUOP2          /*   == !=      */
> -+%left CMPOP2          /*   < > <= >=  */
> -+%left ADDOP2          /*   + -        */
> -+%left MULOP2          /*   * / %      */
> -+%right '!'            /*   !          */
> -+
> -+%token <op> EQUOP2 CMPOP2 ADDOP2 MULOP2
> -+%token <num> NUMBER
> -+%type <exp> exp
> -+
> -+%%
> -+
> -+start:          exp
> -+        {
> -+          if ($1 == NULL)
> -+            YYABORT;
> -+          ((struct parse_args *) arg)->res = $1;
> -+        }
> -+      ;
> -+
> -+exp:    exp '?' exp ':' exp
> -+        {
> -+          $$ = new_exp_3 (qmop, $1, $3, $5);
> -+        }
> -+      | exp '|' exp
> -+        {
> -+          $$ = new_exp_2 (lor, $1, $3);
> -+        }
> -+      | exp '&' exp
> -+        {
> -+          $$ = new_exp_2 (land, $1, $3);
> -+        }
> -+      | exp EQUOP2 exp
> -+        {
> -+          $$ = new_exp_2 ($2, $1, $3);
> -+        }
> -+      | exp CMPOP2 exp
> -+        {
> -+          $$ = new_exp_2 ($2, $1, $3);
> -+        }
> -+      | exp ADDOP2 exp
> -+        {
> -+          $$ = new_exp_2 ($2, $1, $3);
> -+        }
> -+      | exp MULOP2 exp
> -+        {
> -+          $$ = new_exp_2 ($2, $1, $3);
> -+        }
> -+      | '!' exp
> -+        {
> -+          $$ = new_exp_1 (lnot, $2);
> -+        }
> -+      | 'n'
> -+        {
> -+          $$ = new_exp_0 (var);
> -+        }
> -+      | NUMBER
> -+        {
> -+          if (($$ = new_exp_0 (num)) != NULL)
> -+            $$->val.num = $1;
> -+        }
> -+      | '(' exp ')'
> -+        {
> -+          $$ = $2;
> -+        }
> -+      ;
> -+
> -+%%
> -+
> -+void
> -+internal_function
> -+FREE_EXPRESSION (struct expression *exp)
> -+{
> -+  if (exp == NULL)
> -+    return;
> -+
> -+  /* Handle the recursive case.  */
> -+  switch (exp->nargs)
> -+    {
> -+    case 3:
> -+      FREE_EXPRESSION (exp->val.args[2]);
> -+      /* FALLTHROUGH */
> -+    case 2:
> -+      FREE_EXPRESSION (exp->val.args[1]);
> -+      /* FALLTHROUGH */
> -+    case 1:
> -+      FREE_EXPRESSION (exp->val.args[0]);
> -+      /* FALLTHROUGH */
> -+    default:
> -+      break;
> -+    }
> -+
> -+  free (exp);
> -+}
> -+
> -+
> -+static int
> -+yylex (YYSTYPE *lval, const char **pexp)
> -+{
> -+  const char *exp = *pexp;
> -+  int result;
> -+
> -+  while (1)
> -+    {
> -+      if (exp[0] == '\0')
> -+      {
> -+        *pexp = exp;
> -+        return YYEOF;
> -+      }
> -+
> -+      if (exp[0] != ' ' && exp[0] != '\t')
> -+      break;
> -+
> -+      ++exp;
> -+    }
> -+
> -+  result = *exp++;
> -+  switch (result)
> -+    {
> -+    case '0': case '1': case '2': case '3': case '4':
> -+    case '5': case '6': case '7': case '8': case '9':
> -+      {
> -+      unsigned long int n = result - '0';
> -+      while (exp[0] >= '0' && exp[0] <= '9')
> -+        {
> -+          n *= 10;
> -+          n += exp[0] - '0';
> -+          ++exp;
> -+        }
> -+      lval->num = n;
> -+      result = NUMBER;
> -+      }
> -+      break;
> -+
> -+    case '=':
> -+      if (exp[0] == '=')
> -+      {
> -+        ++exp;
> -+        lval->op = equal;
> -+        result = EQUOP2;
> -+      }
> -+      else
> -+      result = YYERRCODE;
> -+      break;
> -+
> -+    case '!':
> -+      if (exp[0] == '=')
> -+      {
> -+        ++exp;
> -+        lval->op = not_equal;
> -+        result = EQUOP2;
> -+      }
> -+      break;
> -+
> -+    case '&':
> -+    case '|':
> -+      if (exp[0] == result)
> -+      ++exp;
> -+      else
> -+      result = YYERRCODE;
> -+      break;
> -+
> -+    case '<':
> -+      if (exp[0] == '=')
> -+      {
> -+        ++exp;
> -+        lval->op = less_or_equal;
> -+      }
> -+      else
> -+      lval->op = less_than;
> -+      result = CMPOP2;
> -+      break;
> -+
> -+    case '>':
> -+      if (exp[0] == '=')
> -+      {
> -+        ++exp;
> -+        lval->op = greater_or_equal;
> -+      }
> -+      else
> -+      lval->op = greater_than;
> -+      result = CMPOP2;
> -+      break;
> -+
> -+    case '*':
> -+      lval->op = mult;
> -+      result = MULOP2;
> -+      break;
> -+
> -+    case '/':
> -+      lval->op = divide;
> -+      result = MULOP2;
> -+      break;
> -+
> -+    case '%':
> -+      lval->op = module;
> -+      result = MULOP2;
> -+      break;
> -+
> -+    case '+':
> -+      lval->op = plus;
> -+      result = ADDOP2;
> -+      break;
> -+
> -+    case '-':
> -+      lval->op = minus;
> -+      result = ADDOP2;
> -+      break;
> -+
> -+    case 'n':
> -+    case '?':
> -+    case ':':
> -+    case '(':
> -+    case ')':
> -+      /* Nothing, just return the character.  */
> -+      break;
> -+
> -+    case ';':
> -+    case '\n':
> -+    case '\0':
> -+      /* Be safe and let the user call this function again.  */
> -+      --exp;
> -+      result = YYEOF;
> -+      break;
> -+
> -+    default:
> -+      result = YYERRCODE;
> -+#if YYDEBUG != 0
> -+      --exp;
> -+#endif
> -+      break;
> -+    }
> -+
> -+  *pexp = exp;
> -+
> -+  return result;
> -+}
> -+
> -+
> -+static void
> -+yyerror (const char *str)
> -+{
> -+  /* Do nothing.  We don't print error messages here.  */
> -+}
> ---- lrzsz-0.12.20.safe/intl/po2tbl.sed.in      1998-04-26
> 09:20:52.000000000 -0400
> -+++ lrzsz-0.12.20/intl/po2tbl.sed.in   1969-12-31 19:00:00.000000000
> -0500
> -@@ -1,102 +0,0 @@
> --# po2tbl.sed - Convert Uniforum style .po file to lookup table for
> catgets
> --# Copyright (C) 1995 Free Software Foundation, Inc.
> --# Ulrich Drepper <drepper at gnu.ai.mit.edu>, 1995.
> --#
> --# This 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, write to the Free Software
> --# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
> USA.
> --#
> --1 {
> --  i\
> --/* Automatically generated by po2tbl.sed from @PACKAGE NAME at .pot.  */\
> --\
> --#if HAVE_CONFIG_H\
> --# include <config.h>\
> --#endif\
> --\
> --#include "libgettext.h"\
> --\
> --const struct _msg_ent _msg_tbl[] = {
> --  h
> --  s/.*/0/
> --  x
> --}
> --#
> --# Write msgid entries in C array form.
> --#
> --/^msgid/ {
> --  s/msgid[    ]*\(".*"\)/  {\1/
> --  tb
> --# Append the next line
> --  :b
> --  N
> --# Look whether second part is continuation line.
> --  s/\(.*\)"\(\n\)"\(.*"\)/\1\2\3/
> --# Yes, then branch.
> --  ta
> --# Because we assume that the input file correctly formed the line
> --# just read cannot be again be a msgid line.  So it's safe to ignore
> --# it.
> --  s/\(.*\)\n.*/\1/
> --  bc
> --# We found a continuation line.  But before printing insert '\'.
> --  :a
> --  s/\(.*\)\(\n.*\)/\1\\\2/
> --  P
> --# We cannot use D here.
> --  s/.*\n\(.*\)/\1/
> --# Some buggy seds do not clear the `successful substitution since last
> ``t'''
> --# flag on `N', so we do a `t' here to clear it.
> --  tb
> --# Not reached
> --  :c
> --  x
> --# The following nice solution is by
> --# Bruno <Haible at ma2s2.mathematik.uni-karlsruhe.de>
> --  td
> --# Increment a decimal number in pattern space.
> --# First hide trailing `9' digits.
> --  :d
> --  s/9\(_*\)$/_\1/
> --  td
> --# Assure at least one digit is available.
> --  s/^\(_*\)$/0\1/
> --# Increment the last digit.
> --  s/8\(_*\)$/9\1/
> --  s/7\(_*\)$/8\1/
> --  s/6\(_*\)$/7\1/
> --  s/5\(_*\)$/6\1/
> --  s/4\(_*\)$/5\1/
> --  s/3\(_*\)$/4\1/
> --  s/2\(_*\)$/3\1/
> --  s/1\(_*\)$/2\1/
> --  s/0\(_*\)$/1\1/
> --# Convert the hidden `9' digits to `0's.
> --  s/_/0/g
> --  x
> --  G
> --  s/\(.*\)\n\([0-9]*\)/\1, \2},/
> --  s/\(.*\)"$/\1/
> --  p
> --}
> --#
> --# Last line.
> --#
> --$ {
> --  i\
> --};\
> --
> --  g
> --  s/0*\(.*\)/int _msg_tbl_length = \1;/p
> --}
> --d
> ---- lrzsz-0.12.20.safe/intl/printf-args.c      1969-12-31
> 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/intl/printf-args.c   2004-09-12 14:40:34.595711608 -0400
> -@@ -0,0 +1,119 @@
> -+/* Decomposed printf argument list.
> -+   Copyright (C) 1999, 2002-2003 Free Software Foundation, Inc.
> -+
> -+   This program is free software; you can redistribute it and/or modify
> it
> -+   under the terms of the GNU Library General Public License as published
> -+   by the Free Software Foundation; either version 2, 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
> -+   Library General Public License for more details.
> -+
> -+   You should have received a copy of the GNU Library 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.  */
> -+
> -+#ifdef HAVE_CONFIG_H
> -+# include <config.h>
> -+#endif
> -+
> -+/* Specification.  */
> -+#include "printf-args.h"
> -+
> -+#ifdef STATIC
> -+STATIC
> -+#endif
> -+int
> -+printf_fetchargs (va_list args, arguments *a)
> -+{
> -+  size_t i;
> -+  argument *ap;
> -+
> -+  for (i = 0, ap = &a->arg[0]; i < a->count; i++, ap++)
> -+    switch (ap->type)
> -+      {
> -+      case TYPE_SCHAR:
> -+      ap->a.a_schar = va_arg (args, /*signed char*/ int);
> -+      break;
> -+      case TYPE_UCHAR:
> -+      ap->a.a_uchar = va_arg (args, /*unsigned char*/ int);
> -+      break;
> -+      case TYPE_SHORT:
> -+      ap->a.a_short = va_arg (args, /*short*/ int);
> -+      break;
> -+      case TYPE_USHORT:
> -+      ap->a.a_ushort = va_arg (args, /*unsigned short*/ int);
> -+      break;
> -+      case TYPE_INT:
> -+      ap->a.a_int = va_arg (args, int);
> -+      break;
> -+      case TYPE_UINT:
> -+      ap->a.a_uint = va_arg (args, unsigned int);
> -+      break;
> -+      case TYPE_LONGINT:
> -+      ap->a.a_longint = va_arg (args, long int);
> -+      break;
> -+      case TYPE_ULONGINT:
> -+      ap->a.a_ulongint = va_arg (args, unsigned long int);
> -+      break;
> -+#ifdef HAVE_LONG_LONG
> -+      case TYPE_LONGLONGINT:
> -+      ap->a.a_longlongint = va_arg (args, long long int);
> -+      break;
> -+      case TYPE_ULONGLONGINT:
> -+      ap->a.a_ulonglongint = va_arg (args, unsigned long long int);
> -+      break;
> -+#endif
> -+      case TYPE_DOUBLE:
> -+      ap->a.a_double = va_arg (args, double);
> -+      break;
> -+#ifdef HAVE_LONG_DOUBLE
> -+      case TYPE_LONGDOUBLE:
> -+      ap->a.a_longdouble = va_arg (args, long double);
> -+      break;
> -+#endif
> -+      case TYPE_CHAR:
> -+      ap->a.a_char = va_arg (args, int);
> -+      break;
> -+#ifdef HAVE_WINT_T
> -+      case TYPE_WIDE_CHAR:
> -+      ap->a.a_wide_char = va_arg (args, wint_t);
> -+      break;
> -+#endif
> -+      case TYPE_STRING:
> -+      ap->a.a_string = va_arg (args, const char *);
> -+      break;
> -+#ifdef HAVE_WCHAR_T
> -+      case TYPE_WIDE_STRING:
> -+      ap->a.a_wide_string = va_arg (args, const wchar_t *);
> -+      break;
> -+#endif
> -+      case TYPE_POINTER:
> -+      ap->a.a_pointer = va_arg (args, void *);
> -+      break;
> -+      case TYPE_COUNT_SCHAR_POINTER:
> -+      ap->a.a_count_schar_pointer = va_arg (args, signed char *);
> -+      break;
> -+      case TYPE_COUNT_SHORT_POINTER:
> -+      ap->a.a_count_short_pointer = va_arg (args, short *);
> -+      break;
> -+      case TYPE_COUNT_INT_POINTER:
> -+      ap->a.a_count_int_pointer = va_arg (args, int *);
> -+      break;
> -+      case TYPE_COUNT_LONGINT_POINTER:
> -+      ap->a.a_count_longint_pointer = va_arg (args, long int *);
> -+      break;
> -+#ifdef HAVE_LONG_LONG
> -+      case TYPE_COUNT_LONGLONGINT_POINTER:
> -+      ap->a.a_count_longlongint_pointer = va_arg (args, long long int *);
> -+      break;
> -+#endif
> -+      default:
> -+      /* Unknown type.  */
> -+      return -1;
> -+      }
> -+  return 0;
> -+}
> ---- lrzsz-0.12.20.safe/intl/printf-args.h      1969-12-31
> 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/intl/printf-args.h   2004-09-12 14:40:34.601710696 -0400
> -@@ -0,0 +1,137 @@
> -+/* Decomposed printf argument list.
> -+   Copyright (C) 1999, 2002-2003 Free Software Foundation, Inc.
> -+
> -+   This program is free software; you can redistribute it and/or modify
> it
> -+   under the terms of the GNU Library General Public License as published
> -+   by the Free Software Foundation; either version 2, 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
> -+   Library General Public License for more details.
> -+
> -+   You should have received a copy of the GNU Library 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.  */
> -+
> -+#ifndef _PRINTF_ARGS_H
> -+#define _PRINTF_ARGS_H
> -+
> -+/* Get size_t.  */
> -+#include <stddef.h>
> -+
> -+/* Get wchar_t.  */
> -+#ifdef HAVE_WCHAR_T
> -+# include <stddef.h>
> -+#endif
> -+
> -+/* Get wint_t.  */
> -+#ifdef HAVE_WINT_T
> -+# include <wchar.h>
> -+#endif
> -+
> -+/* Get va_list.  */
> -+#include <stdarg.h>
> -+
> -+
> -+/* Argument types */
> -+typedef enum
> -+{
> -+  TYPE_NONE,
> -+  TYPE_SCHAR,
> -+  TYPE_UCHAR,
> -+  TYPE_SHORT,
> -+  TYPE_USHORT,
> -+  TYPE_INT,
> -+  TYPE_UINT,
> -+  TYPE_LONGINT,
> -+  TYPE_ULONGINT,
> -+#ifdef HAVE_LONG_LONG
> -+  TYPE_LONGLONGINT,
> -+  TYPE_ULONGLONGINT,
> -+#endif
> -+  TYPE_DOUBLE,
> -+#ifdef HAVE_LONG_DOUBLE
> -+  TYPE_LONGDOUBLE,
> -+#endif
> -+  TYPE_CHAR,
> -+#ifdef HAVE_WINT_T
> -+  TYPE_WIDE_CHAR,
> -+#endif
> -+  TYPE_STRING,
> -+#ifdef HAVE_WCHAR_T
> -+  TYPE_WIDE_STRING,
> -+#endif
> -+  TYPE_POINTER,
> -+  TYPE_COUNT_SCHAR_POINTER,
> -+  TYPE_COUNT_SHORT_POINTER,
> -+  TYPE_COUNT_INT_POINTER,
> -+  TYPE_COUNT_LONGINT_POINTER
> -+#ifdef HAVE_LONG_LONG
> -+, TYPE_COUNT_LONGLONGINT_POINTER
> -+#endif
> -+} arg_type;
> -+
> -+/* Polymorphic argument */
> -+typedef struct
> -+{
> -+  arg_type type;
> -+  union
> -+  {
> -+    signed char                       a_schar;
> -+    unsigned char             a_uchar;
> -+    short                     a_short;
> -+    unsigned short            a_ushort;
> -+    int                               a_int;
> -+    unsigned int              a_uint;
> -+    long int                  a_longint;
> -+    unsigned long int         a_ulongint;
> -+#ifdef HAVE_LONG_LONG
> -+    long long int             a_longlongint;
> -+    unsigned long long int    a_ulonglongint;
> -+#endif
> -+    float                     a_float;
> -+    double                    a_double;
> -+#ifdef HAVE_LONG_DOUBLE
> -+    long double                       a_longdouble;
> -+#endif
> -+    int                               a_char;
> -+#ifdef HAVE_WINT_T
> -+    wint_t                    a_wide_char;
> -+#endif
> -+    const char*                       a_string;
> -+#ifdef HAVE_WCHAR_T
> -+    const wchar_t*            a_wide_string;
> -+#endif
> -+    void*                     a_pointer;
> -+    signed char *             a_count_schar_pointer;
> -+    short *                   a_count_short_pointer;
> -+    int *                     a_count_int_pointer;
> -+    long int *                        a_count_longint_pointer;
> -+#ifdef HAVE_LONG_LONG
> -+    long long int *           a_count_longlongint_pointer;
> -+#endif
> -+  }
> -+  a;
> -+}
> -+argument;
> -+
> -+typedef struct
> -+{
> -+  size_t count;
> -+  argument *arg;
> -+}
> -+arguments;
> -+
> -+
> -+/* Fetch the arguments, putting them into a. */
> -+#ifdef STATIC
> -+STATIC
> -+#else
> -+extern
> -+#endif
> -+int printf_fetchargs (va_list args, arguments *a);
> -+
> -+#endif /* _PRINTF_ARGS_H */
> ---- lrzsz-0.12.20.safe/intl/printf.c   1969-12-31 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/intl/printf.c        2004-09-12 14:40:34.607709784 -0400
> -@@ -0,0 +1,371 @@
> -+/* Formatted output to strings, using POSIX/XSI format strings with
> positions.
> -+   Copyright (C) 2003 Free Software Foundation, Inc.
> -+   Written by Bruno Haible <bruno at clisp.org>, 2003.
> -+
> -+   This program is free software; you can redistribute it and/or modify
> it
> -+   under the terms of the GNU Library General Public License as published
> -+   by the Free Software Foundation; either version 2, 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
> -+   Library General Public License for more details.
> -+
> -+   You should have received a copy of the GNU Library 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.  */
> -+
> -+#ifdef HAVE_CONFIG_H
> -+# include <config.h>
> -+#endif
> -+
> -+#ifdef __GNUC__
> -+# define alloca __builtin_alloca
> -+# define HAVE_ALLOCA 1
> -+#else
> -+# ifdef _MSC_VER
> -+#  include <malloc.h>
> -+#  define alloca _alloca
> -+# else
> -+#  if defined HAVE_ALLOCA_H || defined _LIBC
> -+#   include <alloca.h>
> -+#  else
> -+#   ifdef _AIX
> -+ #pragma alloca
> -+#   else
> -+#    ifndef alloca
> -+char *alloca ();
> -+#    endif
> -+#   endif
> -+#  endif
> -+# endif
> -+#endif
> -+
> -+#include <stdio.h>
> -+
> -+#if !HAVE_POSIX_PRINTF
> -+
> -+#include <stdlib.h>
> -+#include <string.h>
> -+
> -+/* When building a DLL, we must export some functions.  Note that because
> -+   the functions are only defined for binary backward compatibility, we
> -+   don't need to use __declspec(dllimport) in any case.  */
> -+#if defined _MSC_VER && BUILDING_DLL
> -+# define DLL_EXPORTED __declspec(dllexport)
> -+#else
> -+# define DLL_EXPORTED
> -+#endif
> -+
> -+#define STATIC static
> -+
> -+/* Define auxiliary functions declared in "printf-args.h".  */
> -+#include "printf-args.c"
> -+
> -+/* Define auxiliary functions declared in "printf-parse.h".  */
> -+#include "printf-parse.c"
> -+
> -+/* Define functions declared in "vasnprintf.h".  */
> -+#define vasnprintf libintl_vasnprintf
> -+#include "vasnprintf.c"
> -+#if 0 /* not needed */
> -+#define asnprintf libintl_asnprintf
> -+#include "asnprintf.c"
> -+#endif
> -+
> -+DLL_EXPORTED
> -+int
> -+libintl_vfprintf (FILE *stream, const char *format, va_list args)
> -+{
> -+  if (strchr (format, '$') == NULL)
> -+    return vfprintf (stream, format, args);
> -+  else
> -+    {
> -+      size_t length;
> -+      char *result = libintl_vasnprintf (NULL, &length, format, args);
> -+      int retval = -1;
> -+      if (result != NULL)
> -+      {
> -+        if (fwrite (result, 1, length, stream) == length)
> -+          retval = length;
> -+        free (result);
> -+      }
> -+      return retval;
> -+    }
> -+}
> -+
> -+DLL_EXPORTED
> -+int
> -+libintl_fprintf (FILE *stream, const char *format, ...)
> -+{
> -+  va_list args;
> -+  int retval;
> -+
> -+  va_start (args, format);
> -+  retval = libintl_vfprintf (stream, format, args);
> -+  va_end (args);
> -+  return retval;
> -+}
> -+
> -+DLL_EXPORTED
> -+int
> -+libintl_vprintf (const char *format, va_list args)
> -+{
> -+  return libintl_vfprintf (stdout, format, args);
> -+}
> -+
> -+DLL_EXPORTED
> -+int
> -+libintl_printf (const char *format, ...)
> -+{
> -+  va_list args;
> -+  int retval;
> -+
> -+  va_start (args, format);
> -+  retval = libintl_vprintf (format, args);
> -+  va_end (args);
> -+  return retval;
> -+}
> -+
> -+DLL_EXPORTED
> -+int
> -+libintl_vsprintf (char *resultbuf, const char *format, va_list args)
> -+{
> -+  if (strchr (format, '$') == NULL)
> -+    return vsprintf (resultbuf, format, args);
> -+  else
> -+    {
> -+      size_t length = (size_t) ~0 / (4 * sizeof (char));
> -+      char *result = libintl_vasnprintf (resultbuf, &length, format,
> args);
> -+      if (result != resultbuf)
> -+      {
> -+        free (result);
> -+        return -1;
> -+      }
> -+      else
> -+      return length;
> -+    }
> -+}
> -+
> -+DLL_EXPORTED
> -+int
> -+libintl_sprintf (char *resultbuf, const char *format, ...)
> -+{
> -+  va_list args;
> -+  int retval;
> -+
> -+  va_start (args, format);
> -+  retval = libintl_vsprintf (resultbuf, format, args);
> -+  va_end (args);
> -+  return retval;
> -+}
> -+
> -+#if HAVE_SNPRINTF
> -+
> -+# if HAVE_DECL__SNPRINTF
> -+   /* Windows.  */
> -+#  define system_vsnprintf _vsnprintf
> -+# else
> -+   /* Unix.  */
> -+#  define system_vsnprintf vsnprintf
> -+# endif
> -+
> -+DLL_EXPORTED
> -+int
> -+libintl_vsnprintf (char *resultbuf, size_t length, const char *format,
> va_list args)
> -+{
> -+  if (strchr (format, '$') == NULL)
> -+    return system_vsnprintf (resultbuf, length, format, args);
> -+  else
> -+    {
> -+      size_t maxlength = length;
> -+      char *result = libintl_vasnprintf (resultbuf, &length, format,
> args);
> -+      if (result != resultbuf)
> -+      {
> -+        if (maxlength > 0)
> -+          {
> -+            if (length < maxlength)
> -+              abort ();
> -+            memcpy (resultbuf, result, maxlength - 1);
> -+            resultbuf[maxlength - 1] = '\0';
> -+          }
> -+        free (result);
> -+        return -1;
> -+      }
> -+      else
> -+      return length;
> -+    }
> -+}
> -+
> -+DLL_EXPORTED
> -+int
> -+libintl_snprintf (char *resultbuf, size_t length, const char *format,
> ...)
> -+{
> -+  va_list args;
> -+  int retval;
> -+
> -+  va_start (args, format);
> -+  retval = libintl_vsnprintf (resultbuf, length, format, args);
> -+  va_end (args);
> -+  return retval;
> -+}
> -+
> -+#endif
> -+
> -+#if HAVE_ASPRINTF
> -+
> -+DLL_EXPORTED
> -+int
> -+libintl_vasprintf (char **resultp, const char *format, va_list args)
> -+{
> -+  size_t length;
> -+  char *result = libintl_vasnprintf (NULL, &length, format, args);
> -+  if (result == NULL)
> -+    return -1;
> -+  *resultp = result;
> -+  return length;
> -+}
> -+
> -+DLL_EXPORTED
> -+int
> -+libintl_asprintf (char **resultp, const char *format, ...)
> -+{
> -+  va_list args;
> -+  int retval;
> -+
> -+  va_start (args, format);
> -+  retval = libintl_vasprintf (resultp, format, args);
> -+  va_end (args);
> -+  return retval;
> -+}
> -+
> -+#endif
> -+
> -+#if HAVE_FWPRINTF
> -+
> -+#include <wchar.h>
> -+
> -+#define WIDE_CHAR_VERSION 1
> -+
> -+/* Define auxiliary functions declared in "wprintf-parse.h".  */
> -+#include "printf-parse.c"
> -+
> -+/* Define functions declared in "vasnprintf.h".  */
> -+#define vasnwprintf libintl_vasnwprintf
> -+#include "vasnprintf.c"
> -+#if 0 /* not needed */
> -+#define asnwprintf libintl_asnwprintf
> -+#include "asnprintf.c"
> -+#endif
> -+
> -+# if HAVE_DECL__SNWPRINTF
> -+   /* Windows.  */
> -+#  define system_vswprintf _vsnwprintf
> -+# else
> -+   /* Unix.  */
> -+#  define system_vswprintf vswprintf
> -+# endif
> -+
> -+DLL_EXPORTED
> -+int
> -+libintl_vfwprintf (FILE *stream, const wchar_t *format, va_list args)
> -+{
> -+  if (wcschr (format, '$') == NULL)
> -+    return vfwprintf (stream, format, args);
> -+  else
> -+    {
> -+      size_t length;
> -+      wchar_t *result = libintl_vasnwprintf (NULL, &length, format,
> args);
> -+      int retval = -1;
> -+      if (result != NULL)
> -+      {
> -+        size_t i;
> -+        for (i = 0; i < length; i++)
> -+          if (fputwc (result[i], stream) == WEOF)
> -+            break;
> -+        if (i == length)
> -+          retval = length;
> -+        free (result);
> -+      }
> -+      return retval;
> -+    }
> -+}
> -+
> -+DLL_EXPORTED
> -+int
> -+libintl_fwprintf (FILE *stream, const wchar_t *format, ...)
> -+{
> -+  va_list args;
> -+  int retval;
> -+
> -+  va_start (args, format);
> -+  retval = libintl_vfwprintf (stream, format, args);
> -+  va_end (args);
> -+  return retval;
> -+}
> -+
> -+DLL_EXPORTED
> -+int
> -+libintl_vwprintf (const wchar_t *format, va_list args)
> -+{
> -+  return libintl_vfwprintf (stdout, format, args);
> -+}
> -+
> -+DLL_EXPORTED
> -+int
> -+libintl_wprintf (const wchar_t *format, ...)
> -+{
> -+  va_list args;
> -+  int retval;
> -+
> -+  va_start (args, format);
> -+  retval = libintl_vwprintf (format, args);
> -+  va_end (args);
> -+  return retval;
> -+}
> -+
> -+DLL_EXPORTED
> -+int
> -+libintl_vswprintf (wchar_t *resultbuf, size_t length, const wchar_t
> *format, va_list args)
> -+{
> -+  if (wcschr (format, '$') == NULL)
> -+    return system_vswprintf (resultbuf, length, format, args);
> -+  else
> -+    {
> -+      size_t maxlength = length;
> -+      wchar_t *result = libintl_vasnwprintf (resultbuf, &length, format,
> args);
> -+      if (result != resultbuf)
> -+      {
> -+        if (maxlength > 0)
> -+          {
> -+            if (length < maxlength)
> -+              abort ();
> -+            memcpy (resultbuf, result, (maxlength - 1) * sizeof
> (wchar_t));
> -+            resultbuf[maxlength - 1] = 0;
> -+          }
> -+        free (result);
> -+        return -1;
> -+      }
> -+      else
> -+      return length;
> -+    }
> -+}
> -+
> -+DLL_EXPORTED
> -+int
> -+libintl_swprintf (wchar_t *resultbuf, size_t length, const wchar_t
> *format, ...)
> -+{
> -+  va_list args;
> -+  int retval;
> -+
> -+  va_start (args, format);
> -+  retval = libintl_vswprintf (resultbuf, length, format, args);
> -+  va_end (args);
> -+  return retval;
> -+}
> -+
> -+#endif
> -+
> -+#endif
> ---- lrzsz-0.12.20.safe/intl/printf-parse.c     1969-12-31
> 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/intl/printf-parse.c  2004-09-12 14:40:34.622707504 -0400
> -@@ -0,0 +1,537 @@
> -+/* Formatted output to strings.
> -+   Copyright (C) 1999-2000, 2002-2003 Free Software Foundation, Inc.
> -+
> -+   This program is free software; you can redistribute it and/or modify
> it
> -+   under the terms of the GNU Library General Public License as published
> -+   by the Free Software Foundation; either version 2, 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
> -+   Library General Public License for more details.
> -+
> -+   You should have received a copy of the GNU Library 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.  */
> -+
> -+#ifdef HAVE_CONFIG_H
> -+# include <config.h>
> -+#endif
> -+
> -+/* Specification.  */
> -+#if WIDE_CHAR_VERSION
> -+# include "wprintf-parse.h"
> -+#else
> -+# include "printf-parse.h"
> -+#endif
> -+
> -+/* Get size_t, NULL.  */
> -+#include <stddef.h>
> -+
> -+/* Get intmax_t.  */
> -+#if HAVE_STDINT_H_WITH_UINTMAX
> -+# include <stdint.h>
> -+#endif
> -+#if HAVE_INTTYPES_H_WITH_UINTMAX
> -+# include <inttypes.h>
> -+#endif
> -+
> -+/* malloc(), realloc(), free().  */
> -+#include <stdlib.h>
> -+
> -+/* Checked size_t computations.  */
> -+#include "xsize.h"
> -+
> -+#if WIDE_CHAR_VERSION
> -+# define PRINTF_PARSE wprintf_parse
> -+# define CHAR_T wchar_t
> -+# define DIRECTIVE wchar_t_directive
> -+# define DIRECTIVES wchar_t_directives
> -+#else
> -+# define PRINTF_PARSE printf_parse
> -+# define CHAR_T char
> -+# define DIRECTIVE char_directive
> -+# define DIRECTIVES char_directives
> -+#endif
> -+
> -+#ifdef STATIC
> -+STATIC
> -+#endif
> -+int
> -+PRINTF_PARSE (const CHAR_T *format, DIRECTIVES *d, arguments *a)
> -+{
> -+  const CHAR_T *cp = format;          /* pointer into format */
> -+  size_t arg_posn = 0;                /* number of regular arguments
> consumed */
> -+  size_t d_allocated;                 /* allocated elements of d->dir */
> -+  size_t a_allocated;                 /* allocated elements of a->arg */
> -+  size_t max_width_length = 0;
> -+  size_t max_precision_length = 0;
> -+
> -+  d->count = 0;
> -+  d_allocated = 1;
> -+  d->dir = malloc (d_allocated * sizeof (DIRECTIVE));
> -+  if (d->dir == NULL)
> -+    /* Out of memory.  */
> -+    return -1;
> -+
> -+  a->count = 0;
> -+  a_allocated = 0;
> -+  a->arg = NULL;
> -+
> -+#define REGISTER_ARG(_index_,_type_) \
> -+  {                                                                   \
> -+    size_t n = (_index_);                                             \
> -+    if (n >= a_allocated)                                             \
> -+      {
>      \
> -+      size_t memory_size;                                             \
> -+      argument *memory;                                               \
> -+                                                                      \
> -+      a_allocated = xtimes (a_allocated, 2);                          \
> -+      if (a_allocated <= n)                                           \
> -+        a_allocated = xsum (n, 1);                                    \
> -+      memory_size = xtimes (a_allocated, sizeof (argument));          \
> -+      if (size_overflow_p (memory_size))                              \
> -+        /* Overflow, would lead to out of memory.  */                 \
> -+        goto error;                                                   \
> -+      memory = (a->arg                                                \
> -+                ? realloc (a->arg, memory_size)                       \
> -+                : malloc (memory_size));                              \
> -+      if (memory == NULL)                                             \
> -+        /* Out of memory.  */                                         \
> -+        goto error;                                                   \
> -+      a->arg = memory;                                                \
> -+      }
>      \
> -+    while (a->count <= n)                                             \
> -+      a->arg[a->count++].type = TYPE_NONE;                            \
> -+    if (a->arg[n].type == TYPE_NONE)                                  \
> -+      a->arg[n].type = (_type_);                                      \
> -+    else if (a->arg[n].type != (_type_))                              \
> -+      /* Ambiguous type for positional argument.  */                  \
> -+      goto error;                                                     \
> -+  }
> -+
> -+  while (*cp != '\0')
> -+    {
> -+      CHAR_T c = *cp++;
> -+      if (c == '%')
> -+      {
> -+        size_t arg_index = ARG_NONE;
> -+        DIRECTIVE *dp = &d->dir[d->count];/* pointer to next directive */
> -+
> -+        /* Initialize the next directive.  */
> -+        dp->dir_start = cp - 1;
> -+        dp->flags = 0;
> -+        dp->width_start = NULL;
> -+        dp->width_end = NULL;
> -+        dp->width_arg_index = ARG_NONE;
> -+        dp->precision_start = NULL;
> -+        dp->precision_end = NULL;
> -+        dp->precision_arg_index = ARG_NONE;
> -+        dp->arg_index = ARG_NONE;
> -+
> -+        /* Test for positional argument.  */
> -+        if (*cp >= '0' && *cp <= '9')
> -+          {
> -+            const CHAR_T *np;
> -+
> -+            for (np = cp; *np >= '0' && *np <= '9'; np++)
> -+              ;
> -+            if (*np == '$')
> -+              {
> -+                size_t n = 0;
> -+
> -+                for (np = cp; *np >= '0' && *np <= '9'; np++)
> -+                  n = xsum (xtimes (n, 10), *np - '0');
> -+                if (n == 0)
> -+                  /* Positional argument 0.  */
> -+                  goto error;
> -+                if (size_overflow_p (n))
> -+                  /* n too large, would lead to out of memory later.  */
> -+                  goto error;
> -+                arg_index = n - 1;
> -+                cp = np + 1;
> -+              }
> -+          }
> -+
> -+        /* Read the flags.  */
> -+        for (;;)
> -+          {
> -+            if (*cp == '\'')
> -+              {
> -+                dp->flags |= FLAG_GROUP;
> -+                cp++;
> -+              }
> -+            else if (*cp == '-')
> -+              {
> -+                dp->flags |= FLAG_LEFT;
> -+                cp++;
> -+              }
> -+            else if (*cp == '+')
> -+              {
> -+                dp->flags |= FLAG_SHOWSIGN;
> -+                cp++;
> -+              }
> -+            else if (*cp == ' ')
> -+              {
> -+                dp->flags |= FLAG_SPACE;
> -+                cp++;
> -+              }
> -+            else if (*cp == '#')
> -+              {
> -+                dp->flags |= FLAG_ALT;
> -+                cp++;
> -+              }
> -+            else if (*cp == '0')
> -+              {
> -+                dp->flags |= FLAG_ZERO;
> -+                cp++;
> -+              }
> -+            else
> -+              break;
> -+          }
> -+
> -+        /* Parse the field width.  */
> -+        if (*cp == '*')
> -+          {
> -+            dp->width_start = cp;
> -+            cp++;
> -+            dp->width_end = cp;
> -+            if (max_width_length < 1)
> -+              max_width_length = 1;
> -+
> -+            /* Test for positional argument.  */
> -+            if (*cp >= '0' && *cp <= '9')
> -+              {
> -+                const CHAR_T *np;
> -+
> -+                for (np = cp; *np >= '0' && *np <= '9'; np++)
> -+                  ;
> -+                if (*np == '$')
> -+                  {
> -+                    size_t n = 0;
> -+
> -+                    for (np = cp; *np >= '0' && *np <= '9'; np++)
> -+                      n = xsum (xtimes (n, 10), *np - '0');
> -+                    if (n == 0)
> -+                      /* Positional argument 0.  */
> -+                      goto error;
> -+                    if (size_overflow_p (n))
> -+                      /* n too large, would lead to out of memory
> later.  */
> -+                      goto error;
> -+                    dp->width_arg_index = n - 1;
> -+                    cp = np + 1;
> -+                  }
> -+              }
> -+            if (dp->width_arg_index == ARG_NONE)
> -+              {
> -+                dp->width_arg_index = arg_posn++;
> -+                if (dp->width_arg_index == ARG_NONE)
> -+                  /* arg_posn wrapped around.  */
> -+                  goto error;
> -+              }
> -+            REGISTER_ARG (dp->width_arg_index, TYPE_INT);
> -+          }
> -+        else if (*cp >= '0' && *cp <= '9')
> -+          {
> -+            size_t width_length;
> -+
> -+            dp->width_start = cp;
> -+            for (; *cp >= '0' && *cp <= '9'; cp++)
> -+              ;
> -+            dp->width_end = cp;
> -+            width_length = dp->width_end - dp->width_start;
> -+            if (max_width_length < width_length)
> -+              max_width_length = width_length;
> -+          }
> -+
> -+        /* Parse the precision.  */
> -+        if (*cp == '.')
> -+          {
> -+            cp++;
> -+            if (*cp == '*')
> -+              {
> -+                dp->precision_start = cp - 1;
> -+                cp++;
> -+                dp->precision_end = cp;
> -+                if (max_precision_length < 2)
> -+                  max_precision_length = 2;
> -+
> -+                /* Test for positional argument.  */
> -+                if (*cp >= '0' && *cp <= '9')
> -+                  {
> -+                    const CHAR_T *np;
> -+
> -+                    for (np = cp; *np >= '0' && *np <= '9'; np++)
> -+                      ;
> -+                    if (*np == '$')
> -+                      {
> -+                        size_t n = 0;
> -+
> -+                        for (np = cp; *np >= '0' && *np <= '9'; np++)
> -+                          n = xsum (xtimes (n, 10), *np - '0');
> -+                        if (n == 0)
> -+                          /* Positional argument 0.  */
> -+                          goto error;
> -+                        if (size_overflow_p (n))
> -+                          /* n too large, would lead to out of memory
> -+                             later.  */
> -+                          goto error;
> -+                        dp->precision_arg_index = n - 1;
> -+                        cp = np + 1;
> -+                      }
> -+                  }
> -+                if (dp->precision_arg_index == ARG_NONE)
> -+                  {
> -+                    dp->precision_arg_index = arg_posn++;
> -+                    if (dp->precision_arg_index == ARG_NONE)
> -+                      /* arg_posn wrapped around.  */
> -+                      goto error;
> -+                  }
> -+                REGISTER_ARG (dp->precision_arg_index, TYPE_INT);
> -+              }
> -+            else
> -+              {
> -+                size_t precision_length;
> -+
> -+                dp->precision_start = cp - 1;
> -+                for (; *cp >= '0' && *cp <= '9'; cp++)
> -+                  ;
> -+                dp->precision_end = cp;
> -+                precision_length = dp->precision_end -
> dp->precision_start;
> -+                if (max_precision_length < precision_length)
> -+                  max_precision_length = precision_length;
> -+              }
> -+          }
> -+
> -+        {
> -+          arg_type type;
> -+
> -+          /* Parse argument type/size specifiers.  */
> -+          {
> -+            int flags = 0;
> -+
> -+            for (;;)
> -+              {
> -+                if (*cp == 'h')
> -+                  {
> -+                    flags |= (1 << (flags & 1));
> -+                    cp++;
> -+                  }
> -+                else if (*cp == 'L')
> -+                  {
> -+                    flags |= 4;
> -+                    cp++;
> -+                  }
> -+                else if (*cp == 'l')
> -+                  {
> -+                    flags += 8;
> -+                    cp++;
> -+                  }
> -+#ifdef HAVE_INTMAX_T
> -+                else if (*cp == 'j')
> -+                  {
> -+                    if (sizeof (intmax_t) > sizeof (long))
> -+                      {
> -+                        /* intmax_t = long long */
> -+                        flags += 16;
> -+                      }
> -+                    else if (sizeof (intmax_t) > sizeof (int))
> -+                      {
> -+                        /* intmax_t = long */
> -+                        flags += 8;
> -+                      }
> -+                    cp++;
> -+                  }
> -+#endif
> -+                else if (*cp == 'z' || *cp == 'Z')
> -+                  {
> -+                    /* 'z' is standardized in ISO C 99, but glibc uses
> 'Z'
> -+                       because the warning facility in gcc-2.95.2
> understands
> -+                       only 'Z' (see gcc-2.95.2/gcc/c-common.c:1784).  */
> -+                    if (sizeof (size_t) > sizeof (long))
> -+                      {
> -+                        /* size_t = long long */
> -+                        flags += 16;
> -+                      }
> -+                    else if (sizeof (size_t) > sizeof (int))
> -+                      {
> -+                        /* size_t = long */
> -+                        flags += 8;
> -+                      }
> -+                    cp++;
> -+                  }
> -+                else if (*cp == 't')
> -+                  {
> -+                    if (sizeof (ptrdiff_t) > sizeof (long))
> -+                      {
> -+                        /* ptrdiff_t = long long */
> -+                        flags += 16;
> -+                      }
> -+                    else if (sizeof (ptrdiff_t) > sizeof (int))
> -+                      {
> -+                        /* ptrdiff_t = long */
> -+                        flags += 8;
> -+                      }
> -+                    cp++;
> -+                  }
> -+                else
> -+                  break;
> -+              }
> -+
> -+            /* Read the conversion character.  */
> -+            c = *cp++;
> -+            switch (c)
> -+              {
> -+              case 'd': case 'i':
> -+#ifdef HAVE_LONG_LONG
> -+                if (flags >= 16 || (flags & 4))
> -+                  type = TYPE_LONGLONGINT;
> -+                else
> -+#endif
> -+                if (flags >= 8)
> -+                  type = TYPE_LONGINT;
> -+                else if (flags & 2)
> -+                  type = TYPE_SCHAR;
> -+                else if (flags & 1)
> -+                  type = TYPE_SHORT;
> -+                else
> -+                  type = TYPE_INT;
> -+                break;
> -+              case 'o': case 'u': case 'x': case 'X':
> -+#ifdef HAVE_LONG_LONG
> -+                if (flags >= 16 || (flags & 4))
> -+                  type = TYPE_ULONGLONGINT;
> -+                else
> -+#endif
> -+                if (flags >= 8)
> -+                  type = TYPE_ULONGINT;
> -+                else if (flags & 2)
> -+                  type = TYPE_UCHAR;
> -+                else if (flags & 1)
> -+                  type = TYPE_USHORT;
> -+                else
> -+                  type = TYPE_UINT;
> -+                break;
> -+              case 'f': case 'F': case 'e': case 'E': case 'g': case 'G':
> -+              case 'a': case 'A':
> -+#ifdef HAVE_LONG_DOUBLE
> -+                if (flags >= 16 || (flags & 4))
> -+                  type = TYPE_LONGDOUBLE;
> -+                else
> -+#endif
> -+                type = TYPE_DOUBLE;
> -+                break;
> -+              case 'c':
> -+                if (flags >= 8)
> -+#ifdef HAVE_WINT_T
> -+                  type = TYPE_WIDE_CHAR;
> -+#else
> -+                  goto error;
> -+#endif
> -+                else
> -+                  type = TYPE_CHAR;
> -+                break;
> -+#ifdef HAVE_WINT_T
> -+              case 'C':
> -+                type = TYPE_WIDE_CHAR;
> -+                c = 'c';
> -+                break;
> -+#endif
> -+              case 's':
> -+                if (flags >= 8)
> -+#ifdef HAVE_WCHAR_T
> -+                  type = TYPE_WIDE_STRING;
> -+#else
> -+                  goto error;
> -+#endif
> -+                else
> -+                  type = TYPE_STRING;
> -+                break;
> -+#ifdef HAVE_WCHAR_T
> -+              case 'S':
> -+                type = TYPE_WIDE_STRING;
> -+                c = 's';
> -+                break;
> -+#endif
> -+              case 'p':
> -+                type = TYPE_POINTER;
> -+                break;
> -+              case 'n':
> -+#ifdef HAVE_LONG_LONG
> -+                if (flags >= 16 || (flags & 4))
> -+                  type = TYPE_COUNT_LONGLONGINT_POINTER;
> -+                else
> -+#endif
> -+                if (flags >= 8)
> -+                  type = TYPE_COUNT_LONGINT_POINTER;
> -+                else if (flags & 2)
> -+                  type = TYPE_COUNT_SCHAR_POINTER;
> -+                else if (flags & 1)
> -+                  type = TYPE_COUNT_SHORT_POINTER;
> -+                else
> -+                  type = TYPE_COUNT_INT_POINTER;
> -+                break;
> -+              case '%':
> -+                type = TYPE_NONE;
> -+                break;
> -+              default:
> -+                /* Unknown conversion character.  */
> -+                goto error;
> -+              }
> -+          }
> -+
> -+          if (type != TYPE_NONE)
> -+            {
> -+              dp->arg_index = arg_index;
> -+              if (dp->arg_index == ARG_NONE)
> -+                {
> -+                  dp->arg_index = arg_posn++;
> -+                  if (dp->arg_index == ARG_NONE)
> -+                    /* arg_posn wrapped around.  */
> -+                    goto error;
> -+                }
> -+              REGISTER_ARG (dp->arg_index, type);
> -+            }
> -+          dp->conversion = c;
> -+          dp->dir_end = cp;
> -+        }
> -+
> -+        d->count++;
> -+        if (d->count >= d_allocated)
> -+          {
> -+            size_t memory_size;
> -+            DIRECTIVE *memory;
> -+
> -+            d_allocated = xtimes (d_allocated, 2);
> -+            memory_size = xtimes (d_allocated, sizeof (DIRECTIVE));
> -+            if (size_overflow_p (memory_size))
> -+              /* Overflow, would lead to out of memory.  */
> -+              goto error;
> -+            memory = realloc (d->dir, memory_size);
> -+            if (memory == NULL)
> -+              /* Out of memory.  */
> -+              goto error;
> -+            d->dir = memory;
> -+          }
> -+      }
> -+    }
> -+  d->dir[d->count].dir_start = cp;
> -+
> -+  d->max_width_length = max_width_length;
> -+  d->max_precision_length = max_precision_length;
> -+  return 0;
> -+
> -+error:
> -+  if (a->arg)
> -+    free (a->arg);
> -+  if (d->dir)
> -+    free (d->dir);
> -+  return -1;
> -+}
> -+
> -+#undef DIRECTIVES
> -+#undef DIRECTIVE
> -+#undef CHAR_T
> -+#undef PRINTF_PARSE
> ---- lrzsz-0.12.20.safe/intl/printf-parse.h     1969-12-31
> 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/intl/printf-parse.h  2004-09-12 14:40:34.628706592 -0400
> -@@ -0,0 +1,75 @@
> -+/* Parse printf format string.
> -+   Copyright (C) 1999, 2002-2003 Free Software Foundation, Inc.
> -+
> -+   This program is free software; you can redistribute it and/or modify
> it
> -+   under the terms of the GNU Library General Public License as published
> -+   by the Free Software Foundation; either version 2, 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
> -+   Library General Public License for more details.
> -+
> -+   You should have received a copy of the GNU Library 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.  */
> -+
> -+#ifndef _PRINTF_PARSE_H
> -+#define _PRINTF_PARSE_H
> -+
> -+#include "printf-args.h"
> -+
> -+
> -+/* Flags */
> -+#define FLAG_GROUP     1      /* ' flag */
> -+#define FLAG_LEFT      2      /* - flag */
> -+#define FLAG_SHOWSIGN  4      /* + flag */
> -+#define FLAG_SPACE     8      /* space flag */
> -+#define FLAG_ALT      16      /* # flag */
> -+#define FLAG_ZERO     32
> -+
> -+/* arg_index value indicating that no argument is consumed.  */
> -+#define ARG_NONE      (~(size_t)0)
> -+
> -+/* A parsed directive.  */
> -+typedef struct
> -+{
> -+  const char* dir_start;
> -+  const char* dir_end;
> -+  int flags;
> -+  const char* width_start;
> -+  const char* width_end;
> -+  size_t width_arg_index;
> -+  const char* precision_start;
> -+  const char* precision_end;
> -+  size_t precision_arg_index;
> -+  char conversion; /* d i o u x X f e E g G c s p n U % but not C S */
> -+  size_t arg_index;
> -+}
> -+char_directive;
> -+
> -+/* A parsed format string.  */
> -+typedef struct
> -+{
> -+  size_t count;
> -+  char_directive *dir;
> -+  size_t max_width_length;
> -+  size_t max_precision_length;
> -+}
> -+char_directives;
> -+
> -+
> -+/* Parses the format string.  Fills in the number N of directives, and
> fills
> -+   in directives[0], ..., directives[N-1], and sets
> directives[N].dir_start
> -+   to the end of the format string.  Also fills in the arg_type fields
> of the
> -+   arguments and the needed count of arguments.  */
> -+#ifdef STATIC
> -+STATIC
> -+#else
> -+extern
> -+#endif
> -+int printf_parse (const char *format, char_directives *d, arguments *a);
> -+
> -+#endif /* _PRINTF_PARSE_H */
> ---- lrzsz-0.12.20.safe/intl/ref-add.sin        1969-12-31
> 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/intl/ref-add.sin     2004-09-12 14:40:34.633705832 -0400
> -@@ -0,0 +1,31 @@
> -+# Add this package to a list of references stored in a text file.
> -+#
> -+#   Copyright (C) 2000 Free Software Foundation, Inc.
> -+#
> -+#   This program is free software; you can redistribute it and/or modify
> it
> -+#   under the terms of the GNU Library General Public License as
> published
> -+#   by the Free Software Foundation; either version 2, 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
> -+#   Library General Public License for more details.
> -+#
> -+#   You should have received a copy of the GNU Library 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.
> -+#
> -+# Written by Bruno Haible <haible at 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:/
> -+}
> ---- lrzsz-0.12.20.safe/intl/ref-del.sin        1969-12-31
> 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/intl/ref-del.sin     2004-09-12 14:40:34.638705072 -0400
> -@@ -0,0 +1,26 @@
> -+# Remove this package from a list of references stored in a text file.
> -+#
> -+#   Copyright (C) 2000 Free Software Foundation, Inc.
> -+#
> -+#   This program is free software; you can redistribute it and/or modify
> it
> -+#   under the terms of the GNU Library General Public License as
> published
> -+#   by the Free Software Foundation; either version 2, 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
> -+#   Library General Public License for more details.
> -+#
> -+#   You should have received a copy of the GNU Library 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.
> -+#
> -+# Written by Bruno Haible <haible at clisp.cons.org>.
> -+#
> -+/^# Packages using this file: / {
> -+  s/# Packages using this file://
> -+  s/ @PACKAGE@ / /
> -+  s/^/# Packages using this file:/
> -+}
> ---- lrzsz-0.12.20.safe/intl/relocatable.c      1969-12-31
> 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/intl/relocatable.c   2004-09-12 14:40:34.644704160 -0400
> -@@ -0,0 +1,449 @@
> -+/* Provide relocatable packages.
> -+   Copyright (C) 2003 Free Software Foundation, Inc.
> -+   Written by Bruno Haible <bruno at clisp.org>, 2003.
> -+
> -+   This program is free software; you can redistribute it and/or modify
> it
> -+   under the terms of the GNU Library General Public License as published
> -+   by the Free Software Foundation; either version 2, 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
> -+   Library General Public License for more details.
> -+
> -+   You should have received a copy of the GNU Library 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.  */
> -+
> -+
> -+/* Tell glibc's <stdio.h> to provide a prototype for getline().
> -+   This must come before <config.h> because <config.h> may include
> -+   <features.h>, and once <features.h> has been included, it's too
> late.  */
> -+#ifndef _GNU_SOURCE
> -+# define _GNU_SOURCE  1
> -+#endif
> -+
> -+#ifdef HAVE_CONFIG_H
> -+# include "config.h"
> -+#endif
> -+
> -+/* Specification.  */
> -+#include "relocatable.h"
> -+
> -+#if ENABLE_RELOCATABLE
> -+
> -+#include <stddef.h>
> -+#include <stdio.h>
> -+#include <stdlib.h>
> -+#include <string.h>
> -+
> -+#ifdef NO_XMALLOC
> -+# define xmalloc malloc
> -+#else
> -+# include "xalloc.h"
> -+#endif
> -+
> -+#if defined _WIN32 || defined __WIN32__
> -+# define WIN32_LEAN_AND_MEAN
> -+# include <windows.h>
> -+#endif
> -+
> -+#if DEPENDS_ON_LIBCHARSET
> -+# include <libcharset.h>
> -+#endif
> -+#if DEPENDS_ON_LIBICONV && HAVE_ICONV
> -+# include <iconv.h>
> -+#endif
> -+#if DEPENDS_ON_LIBINTL && ENABLE_NLS
> -+# include <libintl.h>
> -+#endif
> -+
> -+/* Faked cheap 'bool'.  */
> -+#undef bool
> -+#undef false
> -+#undef true
> -+#define bool int
> -+#define false 0
> -+#define true 1
> -+
> -+/* Pathname support.
> -+   ISSLASH(C)           tests whether C is a directory separator
> character.
> -+   IS_PATH_WITH_DIR(P)  tests whether P contains a directory
> specification.
> -+ */
> -+#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined
> __DJGPP__
> -+  /* Win32, 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_PATH_WITH_DIR(P) \
> -+    (strchr (P, '/') != NULL || strchr (P, '\\') != NULL || HAS_DEVICE
> (P))
> -+# define FILESYSTEM_PREFIX_LEN(P) (HAS_DEVICE (P) ? 2 : 0)
> -+#else
> -+  /* Unix */
> -+# define ISSLASH(C) ((C) == '/')
> -+# define IS_PATH_WITH_DIR(P) (strchr (P, '/') != NULL)
> -+# define FILESYSTEM_PREFIX_LEN(P) 0
> -+#endif
> -+
> -+/* Original installation prefix.  */
> -+static char *orig_prefix;
> -+static size_t orig_prefix_len;
> -+/* Current installation prefix.  */
> -+static char *curr_prefix;
> -+static size_t curr_prefix_len;
> -+/* These prefixes do not end in a slash.  Anything that will be
> concatenated
> -+   to them must start with a slash.  */
> -+
> -+/* Sets the original and the current installation prefix of this module.
> -+   Relocation simply replaces a pathname starting with the original
> prefix
> -+   by the corresponding pathname with the current prefix instead.  Both
> -+   prefixes should be directory names without trailing slash (i.e. use ""
> -+   instead of "/").  */
> -+static void
> -+set_this_relocation_prefix (const char *orig_prefix_arg,
> -+                          const char *curr_prefix_arg)
> -+{
> -+  if (orig_prefix_arg != NULL && curr_prefix_arg != NULL
> -+      /* Optimization: if orig_prefix and curr_prefix are equal, the
> -+       relocation is a nop.  */
> -+      && strcmp (orig_prefix_arg, curr_prefix_arg) != 0)
> -+    {
> -+      /* Duplicate the argument strings.  */
> -+      char *memory;
> -+
> -+      orig_prefix_len = strlen (orig_prefix_arg);
> -+      curr_prefix_len = strlen (curr_prefix_arg);
> -+      memory = (char *) xmalloc (orig_prefix_len + 1 + curr_prefix_len +
> 1);
> -+#ifdef NO_XMALLOC
> -+      if (memory != NULL)
> -+#endif
> -+      {
> -+        memcpy (memory, orig_prefix_arg, orig_prefix_len + 1);
> -+        orig_prefix = memory;
> -+        memory += orig_prefix_len + 1;
> -+        memcpy (memory, curr_prefix_arg, curr_prefix_len + 1);
> -+        curr_prefix = memory;
> -+        return;
> -+      }
> -+    }
> -+  orig_prefix = NULL;
> -+  curr_prefix = NULL;
> -+  /* Don't worry about wasted memory here - this function is usually only
> -+     called once.  */
> -+}
> -+
> -+/* Sets the original and the current installation prefix of the package.
> -+   Relocation simply replaces a pathname starting with the original
> prefix
> -+   by the corresponding pathname with the current prefix instead.  Both
> -+   prefixes should be directory names without trailing slash (i.e. use ""
> -+   instead of "/").  */
> -+void
> -+set_relocation_prefix (const char *orig_prefix_arg, const char
> *curr_prefix_arg)
> -+{
> -+  set_this_relocation_prefix (orig_prefix_arg, curr_prefix_arg);
> -+
> -+  /* Now notify all dependent libraries.  */
> -+#if DEPENDS_ON_LIBCHARSET
> -+  libcharset_set_relocation_prefix (orig_prefix_arg, curr_prefix_arg);
> -+#endif
> -+#if DEPENDS_ON_LIBICONV && HAVE_ICONV && _LIBICONV_VERSION >= 0x0109
> -+  libiconv_set_relocation_prefix (orig_prefix_arg, curr_prefix_arg);
> -+#endif
> -+#if DEPENDS_ON_LIBINTL && ENABLE_NLS && defined
> libintl_set_relocation_prefix
> -+  libintl_set_relocation_prefix (orig_prefix_arg, curr_prefix_arg);
> -+#endif
> -+}
> -+
> -+#if !defined IN_LIBRARY || (defined PIC && defined INSTALLDIR)
> -+
> -+/* Convenience function:
> -+   Computes the current installation prefix, based on the original
> -+   installation prefix, the original installation directory of a
> particular
> -+   file, and the current pathname of this file.  Returns NULL upon
> failure.  */
> -+#ifdef IN_LIBRARY
> -+#define compute_curr_prefix local_compute_curr_prefix
> -+static
> -+#endif
> -+const char *
> -+compute_curr_prefix (const char *orig_installprefix,
> -+                   const char *orig_installdir,
> -+                   const char *curr_pathname)
> -+{
> -+  const char *curr_installdir;
> -+  const char *rel_installdir;
> -+
> -+  if (curr_pathname == NULL)
> -+    return NULL;
> -+
> -+  /* Determine the relative installation directory, relative to the
> prefix.
> -+     This is simply the difference between orig_installprefix and
> -+     orig_installdir.  */
> -+  if (strncmp (orig_installprefix, orig_installdir, strlen
> (orig_installprefix))
> -+      != 0)
> -+    /* Shouldn't happen - nothing should be installed outside
> $(prefix).  */
> -+    return NULL;
> -+  rel_installdir = orig_installdir + strlen (orig_installprefix);
> -+
> -+  /* Determine the current installation directory.  */
> -+  {
> -+    const char *p_base = curr_pathname + FILESYSTEM_PREFIX_LEN
> (curr_pathname);
> -+    const char *p = curr_pathname + strlen (curr_pathname);
> -+    char *q;
> -+
> -+    while (p > p_base)
> -+      {
> -+      p--;
> -+      if (ISSLASH (*p))
> -+        break;
> -+      }
> -+
> -+    q = (char *) xmalloc (p - curr_pathname + 1);
> -+#ifdef NO_XMALLOC
> -+    if (q == NULL)
> -+      return NULL;
> -+#endif
> -+    memcpy (q, curr_pathname, p - curr_pathname);
> -+    q[p - curr_pathname] = '\0';
> -+    curr_installdir = q;
> -+  }
> -+
> -+  /* Compute the current installation prefix by removing the trailing
> -+     rel_installdir from it.  */
> -+  {
> -+    const char *rp = rel_installdir + strlen (rel_installdir);
> -+    const char *cp = curr_installdir + strlen (curr_installdir);
> -+    const char *cp_base =
> -+      curr_installdir + FILESYSTEM_PREFIX_LEN (curr_installdir);
> -+
> -+    while (rp > rel_installdir && cp > cp_base)
> -+      {
> -+      bool same = false;
> -+      const char *rpi = rp;
> -+      const char *cpi = cp;
> -+
> -+      while (rpi > rel_installdir && cpi > cp_base)
> -+        {
> -+          rpi--;
> -+          cpi--;
> -+          if (ISSLASH (*rpi) || ISSLASH (*cpi))
> -+            {
> -+              if (ISSLASH (*rpi) && ISSLASH (*cpi))
> -+                same = true;
> -+              break;
> -+            }
> -+#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined
> __DJGPP__
> -+          /* Win32, OS/2, DOS - case insignificant filesystem */
> -+          if ((*rpi >= 'a' && *rpi <= 'z' ? *rpi - 'a' + 'A' : *rpi)
> -+              != (*cpi >= 'a' && *cpi <= 'z' ? *cpi - 'a' + 'A' : *cpi))
> -+            break;
> -+#else
> -+          if (*rpi != *cpi)
> -+            break;
> -+#endif
> -+        }
> -+      if (!same)
> -+        break;
> -+      /* The last pathname component was the same.  opi and cpi now point
> -+         to the slash before it.  */
> -+      rp = rpi;
> -+      cp = cpi;
> -+      }
> -+
> -+    if (rp > rel_installdir)
> -+      /* Unexpected: The curr_installdir does not end with
> rel_installdir.  */
> -+      return NULL;
> -+
> -+    {
> -+      size_t curr_prefix_len = cp - curr_installdir;
> -+      char *curr_prefix;
> -+
> -+      curr_prefix = (char *) xmalloc (curr_prefix_len + 1);
> -+#ifdef NO_XMALLOC
> -+      if (curr_prefix == NULL)
> -+      return NULL;
> -+#endif
> -+      memcpy (curr_prefix, curr_installdir, curr_prefix_len);
> -+      curr_prefix[curr_prefix_len] = '\0';
> -+
> -+      return curr_prefix;
> -+    }
> -+  }
> -+}
> -+
> -+#endif /* !IN_LIBRARY || PIC */
> -+
> -+#if defined PIC && defined INSTALLDIR
> -+
> -+/* Full pathname of shared library, or NULL.  */
> -+static char *shared_library_fullname;
> -+
> -+#if defined _WIN32 || defined __WIN32__
> -+
> -+/* Determine the full pathname of the shared library when it is loaded.
> */
> -+
> -+BOOL WINAPI
> -+DllMain (HINSTANCE module_handle, DWORD event, LPVOID reserved)
> -+{
> -+  (void) reserved;
> -+
> -+  if (event == DLL_PROCESS_ATTACH)
> -+    {
> -+      /* The DLL is being loaded into an application's address range.  */
> -+      static char location[MAX_PATH];
> -+
> -+      if (!GetModuleFileName (module_handle, location, sizeof
> (location)))
> -+      /* Shouldn't happen.  */
> -+      return FALSE;
> -+
> -+      if (!IS_PATH_WITH_DIR (location))
> -+      /* Shouldn't happen.  */
> -+      return FALSE;
> -+
> -+      shared_library_fullname = strdup (location);
> -+    }
> -+
> -+  return TRUE;
> -+}
> -+
> -+#else /* Unix */
> -+
> -+static void
> -+find_shared_library_fullname ()
> -+{
> -+#if defined __linux__ && __GLIBC__ >= 2
> -+  /* Linux has /proc/self/maps. glibc 2 has the getline() function.  */
> -+  FILE *fp;
> -+
> -+  /* Open the current process' maps file.  It describes one VMA per
> line.  */
> -+  fp = fopen ("/proc/self/maps", "r");
> -+  if (fp)
> -+    {
> -+      unsigned long address = (unsigned long)
> &find_shared_library_fullname;
> -+      for (;;)
> -+      {
> -+        unsigned long start, end;
> -+        int c;
> -+
> -+        if (fscanf (fp, "%lx-%lx", &start, &end) != 2)
> -+          break;
> -+        if (address >= start && address <= end - 1)
> -+          {
> -+            /* Found it.  Now see if this line contains a filename.  */
> -+            while (c = getc (fp), c != EOF && c != '\n' && c != '/')
> -+              continue;
> -+            if (c == '/')
> -+              {
> -+                size_t size;
> -+                int len;
> -+
> -+                ungetc (c, fp);
> -+                shared_library_fullname = NULL; size = 0;
> -+                len = getline (&shared_library_fullname, &size, fp);
> -+                if (len >= 0)
> -+                  {
> -+                    /* Success: filled shared_library_fullname.  */
> -+                    if (len > 0 && shared_library_fullname[len - 1] ==
> '\n')
> -+                      shared_library_fullname[len - 1] = '\0';
> -+                  }
> -+              }
> -+            break;
> -+          }
> -+        while (c = getc (fp), c != EOF && c != '\n')
> -+          continue;
> -+      }
> -+      fclose (fp);
> -+    }
> -+#endif
> -+}
> -+
> -+#endif /* WIN32 / Unix */
> -+
> -+/* Return the full pathname of the current shared library.
> -+   Return NULL if unknown.
> -+   Guaranteed to work only on Linux and Woe32.  */
> -+static char *
> -+get_shared_library_fullname ()
> -+{
> -+#if !(defined _WIN32 || defined __WIN32__)
> -+  static bool tried_find_shared_library_fullname;
> -+  if (!tried_find_shared_library_fullname)
> -+    {
> -+      find_shared_library_fullname ();
> -+      tried_find_shared_library_fullname = true;
> -+    }
> -+#endif
> -+  return shared_library_fullname;
> -+}
> -+
> -+#endif /* PIC */
> -+
> -+/* Returns the pathname, relocated according to the current installation
> -+   directory.  */
> -+const char *
> -+relocate (const char *pathname)
> -+{
> -+#if defined PIC && defined INSTALLDIR
> -+  static int initialized;
> -+
> -+  /* Initialization code for a shared library.  */
> -+  if (!initialized)
> -+    {
> -+      /* At this point, orig_prefix and curr_prefix likely have already
> been
> -+       set through the main program's set_program_name_and_installdir
> -+       function.  This is sufficient in the case that the library has
> -+       initially been installed in the same orig_prefix.  But we can do
> -+       better, to also cover the cases that 1. it has been installed
> -+       in a different prefix before being moved to orig_prefix and
> (later)
> -+       to curr_prefix, 2. unlike the program, it has not moved away from
> -+       orig_prefix.  */
> -+      const char *orig_installprefix = INSTALLPREFIX;
> -+      const char *orig_installdir = INSTALLDIR;
> -+      const char *curr_prefix_better;
> -+
> -+      curr_prefix_better =
> -+      compute_curr_prefix (orig_installprefix, orig_installdir,
> -+                           get_shared_library_fullname ());
> -+      if (curr_prefix_better == NULL)
> -+      curr_prefix_better = curr_prefix;
> -+
> -+      set_relocation_prefix (orig_installprefix, curr_prefix_better);
> -+
> -+      initialized = 1;
> -+    }
> -+#endif
> -+
> -+  /* Note: It is not necessary to perform case insensitive comparison
> here,
> -+     even for DOS-like filesystems, because the pathname argument was
> -+     typically created from the same Makefile variable as orig_prefix
> came
> -+     from.  */
> -+  if (orig_prefix != NULL && curr_prefix != NULL
> -+      && strncmp (pathname, orig_prefix, orig_prefix_len) == 0)
> -+    {
> -+      if (pathname[orig_prefix_len] == '\0')
> -+      /* pathname equals orig_prefix.  */
> -+      return curr_prefix;
> -+      if (ISSLASH (pathname[orig_prefix_len]))
> -+      {
> -+        /* pathname starts with orig_prefix.  */
> -+        const char *pathname_tail = &pathname[orig_prefix_len];
> -+        char *result =
> -+          (char *) xmalloc (curr_prefix_len + strlen (pathname_tail) +
> 1);
> -+
> -+#ifdef NO_XMALLOC
> -+        if (result != NULL)
> -+#endif
> -+          {
> -+            memcpy (result, curr_prefix, curr_prefix_len);
> -+            strcpy (result + curr_prefix_len, pathname_tail);
> -+            return result;
> -+          }
> -+      }
> -+    }
> -+  /* Nothing to relocate.  */
> -+  return pathname;
> -+}
> -+
> -+#endif
> ---- lrzsz-0.12.20.safe/intl/relocatable.h      1969-12-31
> 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/intl/relocatable.h   2004-09-12 14:40:34.651703096 -0400
> -@@ -0,0 +1,77 @@
> -+/* Provide relocatable packages.
> -+   Copyright (C) 2003 Free Software Foundation, Inc.
> -+   Written by Bruno Haible <bruno at clisp.org>, 2003.
> -+
> -+   This program is free software; you can redistribute it and/or modify
> it
> -+   under the terms of the GNU Library General Public License as published
> -+   by the Free Software Foundation; either version 2, 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
> -+   Library General Public License for more details.
> -+
> -+   You should have received a copy of the GNU Library 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.  */
> -+
> -+#ifndef _RELOCATABLE_H
> -+#define _RELOCATABLE_H
> -+
> -+#ifdef __cplusplus
> -+extern "C" {
> -+#endif
> -+
> -+
> -+/* This can be enabled through the configure --enable-relocatable
> option.  */
> -+#if ENABLE_RELOCATABLE
> -+
> -+/* When building a DLL, we must export some functions.  Note that because
> -+   this is a private .h file, we don't need to use __declspec(dllimport)
> -+   in any case.  */
> -+#if defined _MSC_VER && BUILDING_DLL
> -+# define RELOCATABLE_DLL_EXPORTED __declspec(dllexport)
> -+#else
> -+# define RELOCATABLE_DLL_EXPORTED
> -+#endif
> -+
> -+/* Sets the original and the current installation prefix of the package.
> -+   Relocation simply replaces a pathname starting with the original
> prefix
> -+   by the corresponding pathname with the current prefix instead.  Both
> -+   prefixes should be directory names without trailing slash (i.e. use ""
> -+   instead of "/").  */
> -+extern RELOCATABLE_DLL_EXPORTED void
> -+       set_relocation_prefix (const char *orig_prefix,
> -+                            const char *curr_prefix);
> -+
> -+/* Returns the pathname, relocated according to the current installation
> -+   directory.  */
> -+extern const char * relocate (const char *pathname);
> -+
> -+/* Memory management: relocate() leaks memory, because it has to
> construct
> -+   a fresh pathname.  If this is a problem because your program calls
> -+   relocate() frequently, think about caching the result.  */
> -+
> -+/* Convenience function:
> -+   Computes the current installation prefix, based on the original
> -+   installation prefix, the original installation directory of a
> particular
> -+   file, and the current pathname of this file.  Returns NULL upon
> failure.  */
> -+extern const char * compute_curr_prefix (const char *orig_installprefix,
> -+                                       const char *orig_installdir,
> -+                                       const char *curr_pathname);
> -+
> -+#else
> -+
> -+/* By default, we use the hardwired pathnames.  */
> -+#define relocate(pathname) (pathname)
> -+
> -+#endif
> -+
> -+
> -+#ifdef __cplusplus
> -+}
> -+#endif
> -+
> -+#endif /* _RELOCATABLE_H */
> ---- lrzsz-0.12.20.safe/intl/textdomain.c       1998-04-26
> 09:22:37.000000000 -0400
> -+++ lrzsz-0.12.20/intl/textdomain.c    2004-09-12 14:40:34.656702336 -0400
> -@@ -1,51 +1,60 @@
> --/* Implementation of the textdomain(3) function
> --   Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
> --   Written by Ulrich Drepper <drepper at gnu.ai.mit.edu>, 1995.
> -+/* Implementation of the textdomain(3) function.
> -+   Copyright (C) 1995-1998, 2000-2003 Free Software Foundation, Inc.
> -
> --   This 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)
> -+   This program is free software; you can redistribute it and/or modify
> it
> -+   under the terms of the GNU Library General Public License as published
> -+   by the Free Software Foundation; either version 2, 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.
> -+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> -+   Library General Public License for more details.
> -
> --   You should have received a copy of the GNU 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.  */
> -+   You should have received a copy of the GNU Library 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.  */
> -
> - #ifdef HAVE_CONFIG_H
> - # include <config.h>
> - #endif
> -
> --#if defined STDC_HEADERS || defined _LIBC
> --# include <stdlib.h>
> --#endif
> -+#include <stdlib.h>
> -+#include <string.h>
> -
> --#if defined STDC_HEADERS || defined HAVE_STRING_H || defined _LIBC
> --# include <string.h>
> -+#ifdef _LIBC
> -+# include <libintl.h>
> - #else
> --# include <strings.h>
> --# ifndef memcpy
> --#  define memcpy(Dst, Src, Num) bcopy (Src, Dst, Num)
> --# endif
> -+# include "libgnuintl.h"
> - #endif
> -+#include "gettextP.h"
> -
> - #ifdef _LIBC
> --# include <libintl.h>
> -+/* We have to handle multi-threaded applications.  */
> -+# include <bits/libc-lock.h>
> - #else
> --# include "libgettext.h"
> -+/* Provide dummy implementation if this is outside glibc.  */
> -+# define __libc_rwlock_define(CLASS, NAME)
> -+# define __libc_rwlock_wrlock(NAME)
> -+# define __libc_rwlock_unlock(NAME)
> -+#endif
> -+
> -+/* The internal variables in the standalone libintl.a must have different
> -+   names than the internal variables in GNU libc, otherwise programs
> -+   using libintl.a cannot be linked statically.  */
> -+#if !defined _LIBC
> -+# define _nl_default_default_domain libintl_nl_default_default_domain
> -+# define _nl_current_default_domain libintl_nl_current_default_domain
> - #endif
> -
> - /* @@ end of prolog @@ */
> -
> - /* Name of the default text domain.  */
> --extern const char _nl_default_default_domain[];
> -+extern const char _nl_default_default_domain[] attribute_hidden;
> -
> - /* Default text domain in which entries for gettext(3) are to be found.
> */
> --extern const char *_nl_current_default_domain;
> -+extern const char *_nl_current_default_domain attribute_hidden;
> -
> -
> - /* Names for the libintl functions are a problem.  They must not clash
> -@@ -54,50 +63,76 @@
> -    prefix.  So we have to make a difference here.  */
> - #ifdef _LIBC
> - # define TEXTDOMAIN __textdomain
> --# define strdup(str) __strdup (str)
> -+# ifndef strdup
> -+#  define strdup(str) __strdup (str)
> -+# endif
> - #else
> --# define TEXTDOMAIN textdomain__
> -+# define TEXTDOMAIN libintl_textdomain
> - #endif
> -
> -+/* Lock variable to protect the global data in the gettext
> implementation.  */
> -+__libc_rwlock_define (extern, _nl_state_lock attribute_hidden)
> -+
> - /* Set the current default message catalog to DOMAINNAME.
> -    If DOMAINNAME is null, return the current default.
> -    If DOMAINNAME is "", reset to the default of "messages".  */
> - char *
> --TEXTDOMAIN (domainname)
> --     const char *domainname;
> -+TEXTDOMAIN (const char *domainname)
> - {
> --  char *old;
> -+  char *new_domain;
> -+  char *old_domain;
> -
> -   /* A NULL pointer requests the current setting.  */
> -   if (domainname == NULL)
> -     return (char *) _nl_current_default_domain;
> -
> --  old = (char *) _nl_current_default_domain;
> -+  __libc_rwlock_wrlock (_nl_state_lock);
> -+
> -+  old_domain = (char *) _nl_current_default_domain;
> -
> -   /* If domain name is the null string set to default domain
> "messages".  */
> -   if (domainname[0] == '\0'
> -       || strcmp (domainname, _nl_default_default_domain) == 0)
> --    _nl_current_default_domain = _nl_default_default_domain;
> -+    {
> -+      _nl_current_default_domain = _nl_default_default_domain;
> -+      new_domain = (char *) _nl_current_default_domain;
> -+    }
> -+  else if (strcmp (domainname, old_domain) == 0)
> -+    /* This can happen and people will use it to signal that some
> -+       environment variable changed.  */
> -+    new_domain = old_domain;
> -   else
> -     {
> -       /* If the following malloc fails `_nl_current_default_domain'
> -        will be NULL.  This value will be returned and so signals we
> -        are out of core.  */
> - #if defined _LIBC || defined HAVE_STRDUP
> --      _nl_current_default_domain = strdup (domainname);
> -+      new_domain = strdup (domainname);
> - #else
> -       size_t len = strlen (domainname) + 1;
> --      char *cp = (char *) malloc (len);
> --      if (cp != NULL)
> --      memcpy (cp, domainname, len);
> --      _nl_current_default_domain = cp;
> -+      new_domain = (char *) malloc (len);
> -+      if (new_domain != NULL)
> -+      memcpy (new_domain, domainname, len);
> - #endif
> -+
> -+      if (new_domain != NULL)
> -+      _nl_current_default_domain = new_domain;
> -     }
> -
> --  if (old != _nl_default_default_domain)
> --    free (old);
> -+  /* We use this possibility to signal a change of the loaded catalogs
> -+     since this is most likely the case and there is no other easy we
> -+     to do it.  Do it only when the call was successful.  */
> -+  if (new_domain != NULL)
> -+    {
> -+      ++_nl_msg_cat_cntr;
> -
> --  return (char *) _nl_current_default_domain;
> -+      if (old_domain != new_domain && old_domain !=
> _nl_default_default_domain)
> -+      free (old_domain);
> -+    }
> -+
> -+  __libc_rwlock_unlock (_nl_state_lock);
> -+
> -+  return new_domain;
> - }
> -
> - #ifdef _LIBC
> ---- lrzsz-0.12.20.safe/intl/vasnprintf.c       1969-12-31
> 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/intl/vasnprintf.c    2004-09-12 14:40:34.662701424 -0400
> -@@ -0,0 +1,887 @@
> -+/* vsprintf with automatic memory allocation.
> -+   Copyright (C) 1999, 2002-2003 Free Software Foundation, Inc.
> -+
> -+   This program is free software; you can redistribute it and/or modify
> it
> -+   under the terms of the GNU Library General Public License as published
> -+   by the Free Software Foundation; either version 2, 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
> -+   Library General Public License for more details.
> -+
> -+   You should have received a copy of the GNU Library 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.  */
> -+
> -+/* Tell glibc's <stdio.h> to provide a prototype for snprintf().
> -+   This must come before <config.h> because <config.h> may include
> -+   <features.h>, and once <features.h> has been included, it's too
> late.  */
> -+#ifndef _GNU_SOURCE
> -+# define _GNU_SOURCE    1
> -+#endif
> -+
> -+#ifdef HAVE_CONFIG_H
> -+# include <config.h>
> -+#endif
> -+#ifndef IN_LIBINTL
> -+# include <alloca.h>
> -+#endif
> -+
> -+/* Specification.  */
> -+#if WIDE_CHAR_VERSION
> -+# include "vasnwprintf.h"
> -+#else
> -+# include "vasnprintf.h"
> -+#endif
> -+
> -+#include <stdio.h>    /* snprintf(), sprintf() */
> -+#include <stdlib.h>   /* abort(), malloc(), realloc(), free() */
> -+#include <string.h>   /* memcpy(), strlen() */
> -+#include <errno.h>    /* errno */
> -+#include <limits.h>   /* CHAR_BIT */
> -+#include <float.h>    /* DBL_MAX_EXP, LDBL_MAX_EXP */
> -+#if WIDE_CHAR_VERSION
> -+# include "wprintf-parse.h"
> -+#else
> -+# include "printf-parse.h"
> -+#endif
> -+
> -+/* Checked size_t computations.  */
> -+#include "xsize.h"
> -+
> -+#ifdef HAVE_WCHAR_T
> -+# ifdef HAVE_WCSLEN
> -+#  define local_wcslen wcslen
> -+# else
> -+   /* Solaris 2.5.1 has wcslen() in a separate library libw.so. To avoid
> -+      a dependency towards this library, here is a local substitute.
> -+      Define this substitute only once, even if this file is included
> -+      twice in the same compilation unit.  */
> -+#  ifndef local_wcslen_defined
> -+#   define local_wcslen_defined 1
> -+static size_t
> -+local_wcslen (const wchar_t *s)
> -+{
> -+  const wchar_t *ptr;
> -+
> -+  for (ptr = s; *ptr != (wchar_t) 0; ptr++)
> -+    ;
> -+  return ptr - s;
> -+}
> -+#  endif
> -+# endif
> -+#endif
> -+
> -+#if WIDE_CHAR_VERSION
> -+# define VASNPRINTF vasnwprintf
> -+# define CHAR_T wchar_t
> -+# define DIRECTIVE wchar_t_directive
> -+# define DIRECTIVES wchar_t_directives
> -+# define PRINTF_PARSE wprintf_parse
> -+# define USE_SNPRINTF 1
> -+# if HAVE_DECL__SNWPRINTF
> -+   /* On Windows, the function swprintf() has a different signature than
> -+      on Unix; we use the _snwprintf() function instead.  */
> -+#  define SNPRINTF _snwprintf
> -+# else
> -+   /* Unix.  */
> -+#  define SNPRINTF swprintf
> -+# endif
> -+#else
> -+# define VASNPRINTF vasnprintf
> -+# define CHAR_T char
> -+# define DIRECTIVE char_directive
> -+# define DIRECTIVES char_directives
> -+# define PRINTF_PARSE printf_parse
> -+# define USE_SNPRINTF (HAVE_DECL__SNPRINTF || HAVE_SNPRINTF)
> -+# if HAVE_DECL__SNPRINTF
> -+   /* Windows.  */
> -+#  define SNPRINTF _snprintf
> -+# else
> -+   /* Unix.  */
> -+#  define SNPRINTF snprintf
> -+# endif
> -+#endif
> -+
> -+CHAR_T *
> -+VASNPRINTF (CHAR_T *resultbuf, size_t *lengthp, const CHAR_T *format,
> va_list args)
> -+{
> -+  DIRECTIVES d;
> -+  arguments a;
> -+
> -+  if (PRINTF_PARSE (format, &d, &a) < 0)
> -+    {
> -+      errno = EINVAL;
> -+      return NULL;
> -+    }
> -+
> -+#define CLEANUP() \
> -+  free (d.dir);
>      \
> -+  if (a.arg)                                                          \
> -+    free (a.arg);
> -+
> -+  if (printf_fetchargs (args, &a) < 0)
> -+    {
> -+      CLEANUP ();
> -+      errno = EINVAL;
> -+      return NULL;
> -+    }
> -+
> -+  {
> -+    size_t buf_neededlength;
> -+    CHAR_T *buf;
> -+    CHAR_T *buf_malloced;
> -+    const CHAR_T *cp;
> -+    size_t i;
> -+    DIRECTIVE *dp;
> -+    /* Output string accumulator.  */
> -+    CHAR_T *result;
> -+    size_t allocated;
> -+    size_t length;
> -+
> -+    /* Allocate a small buffer that will hold a directive passed to
> -+       sprintf or snprintf.  */
> -+    buf_neededlength =
> -+      xsum4 (7, d.max_width_length, d.max_precision_length, 6);
> -+#if HAVE_ALLOCA
> -+    if (buf_neededlength < 4000 / sizeof (CHAR_T))
> -+      {
> -+      buf = (CHAR_T *) alloca (buf_neededlength * sizeof (CHAR_T));
> -+      buf_malloced = NULL;
> -+      }
> -+    else
> -+#endif
> -+      {
> -+      size_t buf_memsize = xtimes (buf_neededlength, sizeof (CHAR_T));
> -+      if (size_overflow_p (buf_memsize))
> -+        goto out_of_memory_1;
> -+      buf = (CHAR_T *) malloc (buf_memsize);
> -+      if (buf == NULL)
> -+        goto out_of_memory_1;
> -+      buf_malloced = buf;
> -+      }
> -+
> -+    if (resultbuf != NULL)
> -+      {
> -+      result = resultbuf;
> -+      allocated = *lengthp;
> -+      }
> -+    else
> -+      {
> -+      result = NULL;
> -+      allocated = 0;
> -+      }
> -+    length = 0;
> -+    /* Invariants:
> -+       result is either == resultbuf or == NULL or malloc-allocated.
> -+       If length > 0, then result != NULL.  */
> -+
> -+    /* Ensures that allocated >= needed.  Aborts through a jump to
> -+       out_of_memory if needed is SIZE_MAX or otherwise too big.  */
> -+#define ENSURE_ALLOCATION(needed) \
> -+    if ((needed) > allocated)
>   \
> -+      {
>           \
> -+      size_t memory_size;
>   \
> -+      CHAR_T *memory;
>   \
> -+
>    \
> -+      allocated = (allocated > 0 ? xtimes (allocated, 2) : 12);
>   \
> -+      if ((needed) > allocated)
>   \
> -+        allocated = (needed);
>   \
> -+      memory_size = xtimes (allocated, sizeof (CHAR_T));
>    \
> -+      if (size_overflow_p (memory_size))
>    \
> -+        goto out_of_memory;
>   \
> -+      if (result == resultbuf || result == NULL)
>    \
> -+        memory = (CHAR_T *) malloc (memory_size);
>   \
> -+      else
>    \
> -+        memory = (CHAR_T *) realloc (result, memory_size);
>    \
> -+      if (memory == NULL)
>   \
> -+        goto out_of_memory;
>   \
> -+      if (result == resultbuf && length > 0)
>    \
> -+        memcpy (memory, result, length * sizeof (CHAR_T));
>    \
> -+      result = memory;
>    \
> -+      }
> -+
> -+    for (cp = format, i = 0, dp = &d.dir[0]; ; cp = dp->dir_end, i++,
> dp++)
> -+      {
> -+      if (cp != dp->dir_start)
> -+        {
> -+          size_t n = dp->dir_start - cp;
> -+          size_t augmented_length = xsum (length, n);
> -+
> -+          ENSURE_ALLOCATION (augmented_length);
> -+          memcpy (result + length, cp, n * sizeof (CHAR_T));
> -+          length = augmented_length;
> -+        }
> -+      if (i == d.count)
> -+        break;
> -+
> -+      /* Execute a single directive.  */
> -+      if (dp->conversion == '%')
> -+        {
> -+          size_t augmented_length;
> -+
> -+          if (!(dp->arg_index == ARG_NONE))
> -+            abort ();
> -+          augmented_length = xsum (length, 1);
> -+          ENSURE_ALLOCATION (augmented_length);
> -+          result[length] = '%';
> -+          length = augmented_length;
> -+        }
> -+      else
> -+        {
> -+          if (!(dp->arg_index != ARG_NONE))
> -+            abort ();
> -+
> -+          if (dp->conversion == 'n')
> -+            {
> -+              switch (a.arg[dp->arg_index].type)
> -+                {
> -+                case TYPE_COUNT_SCHAR_POINTER:
> -+                  *a.arg[dp->arg_index].a.a_count_schar_pointer = length;
> -+                  break;
> -+                case TYPE_COUNT_SHORT_POINTER:
> -+                  *a.arg[dp->arg_index].a.a_count_short_pointer = length;
> -+                  break;
> -+                case TYPE_COUNT_INT_POINTER:
> -+                  *a.arg[dp->arg_index].a.a_count_int_pointer = length;
> -+                  break;
> -+                case TYPE_COUNT_LONGINT_POINTER:
> -+                  *a.arg[dp->arg_index].a.a_count_longint_pointer =
> length;
> -+                  break;
> -+#ifdef HAVE_LONG_LONG
> -+                case TYPE_COUNT_LONGLONGINT_POINTER:
> -+                  *a.arg[dp->arg_index].a.a_count_longlongint_pointer =
> length;
> -+                  break;
> -+#endif
> -+                default:
> -+                  abort ();
> -+                }
> -+            }
> -+          else
> -+            {
> -+              arg_type type = a.arg[dp->arg_index].type;
> -+              CHAR_T *p;
> -+              unsigned int prefix_count;
> -+              int prefixes[2];
> -+#if !USE_SNPRINTF
> -+              size_t tmp_length;
> -+              CHAR_T tmpbuf[700];
> -+              CHAR_T *tmp;
> -+
> -+              /* Allocate a temporary buffer of sufficient size for
> calling
> -+                 sprintf.  */
> -+              {
> -+                size_t width;
> -+                size_t precision;
> -+
> -+                width = 0;
> -+                if (dp->width_start != dp->width_end)
> -+                  {
> -+                    if (dp->width_arg_index != ARG_NONE)
> -+                      {
> -+                        int arg;
> -+
> -+                        if (!(a.arg[dp->width_arg_index].type ==
> TYPE_INT))
> -+                          abort ();
> -+                        arg = a.arg[dp->width_arg_index].a.a_int;
> -+                        width = (arg < 0 ? (unsigned int) (-arg) : arg);
> -+                      }
> -+                    else
> -+                      {
> -+                        const CHAR_T *digitp = dp->width_start;
> -+
> -+                        do
> -+                          width = xsum (xtimes (width, 10), *digitp++ -
> '0');
> -+                        while (digitp != dp->width_end);
> -+                      }
> -+                  }
> -+
> -+                precision = 6;
> -+                if (dp->precision_start != dp->precision_end)
> -+                  {
> -+                    if (dp->precision_arg_index != ARG_NONE)
> -+                      {
> -+                        int arg;
> -+
> -+                        if (!(a.arg[dp->precision_arg_index].type ==
> TYPE_INT))
> -+                          abort ();
> -+                        arg = a.arg[dp->precision_arg_index].a.a_int;
> -+                        precision = (arg < 0 ? 0 : arg);
> -+                      }
> -+                    else
> -+                      {
> -+                        const CHAR_T *digitp = dp->precision_start + 1;
> -+
> -+                        precision = 0;
> -+                        do
> -+                          precision = xsum (xtimes (precision, 10),
> *digitp++ - '0');
> -+                        while (digitp != dp->precision_end);
> -+                      }
> -+                  }
> -+
> -+                switch (dp->conversion)
> -+                  {
> -+
> -+                  case 'd': case 'i': case 'u':
> -+# ifdef HAVE_LONG_LONG
> -+                    if (type == TYPE_LONGLONGINT || type ==
> TYPE_ULONGLONGINT)
> -+                      tmp_length =
> -+                        (unsigned int) (sizeof (unsigned long long) *
> CHAR_BIT
> -+                                        * 0.30103 /* binary -> decimal */
> -+                                        * 2 /* estimate for FLAG_GROUP */
> -+                                       )
> -+                        + 1 /* turn floor into ceil */
> -+                        + 1; /* account for leading sign */
> -+                    else
> -+# endif
> -+                    if (type == TYPE_LONGINT || type == TYPE_ULONGINT)
> -+                      tmp_length =
> -+                        (unsigned int) (sizeof (unsigned long) * CHAR_BIT
> -+                                        * 0.30103 /* binary -> decimal */
> -+                                        * 2 /* estimate for FLAG_GROUP */
> -+                                       )
> -+                        + 1 /* turn floor into ceil */
> -+                        + 1; /* account for leading sign */
> -+                    else
> -+                      tmp_length =
> -+                        (unsigned int) (sizeof (unsigned int) * CHAR_BIT
> -+                                        * 0.30103 /* binary -> decimal */
> -+                                        * 2 /* estimate for FLAG_GROUP */
> -+                                       )
> -+                        + 1 /* turn floor into ceil */
> -+                        + 1; /* account for leading sign */
> -+                    break;
> -+
> -+                  case 'o':
> -+# ifdef HAVE_LONG_LONG
> -+                    if (type == TYPE_LONGLONGINT || type ==
> TYPE_ULONGLONGINT)
> -+                      tmp_length =
> -+                        (unsigned int) (sizeof (unsigned long long) *
> CHAR_BIT
> -+                                        * 0.333334 /* binary -> octal */
> -+                                       )
> -+                        + 1 /* turn floor into ceil */
> -+                        + 1; /* account for leading sign */
> -+                    else
> -+# endif
> -+                    if (type == TYPE_LONGINT || type == TYPE_ULONGINT)
> -+                      tmp_length =
> -+                        (unsigned int) (sizeof (unsigned long) * CHAR_BIT
> -+                                        * 0.333334 /* binary -> octal */
> -+                                       )
> -+                        + 1 /* turn floor into ceil */
> -+                        + 1; /* account for leading sign */
> -+                    else
> -+                      tmp_length =
> -+                        (unsigned int) (sizeof (unsigned int) * CHAR_BIT
> -+                                        * 0.333334 /* binary -> octal */
> -+                                       )
> -+                        + 1 /* turn floor into ceil */
> -+                        + 1; /* account for leading sign */
> -+                    break;
> -+
> -+                  case 'x': case 'X':
> -+# ifdef HAVE_LONG_LONG
> -+                    if (type == TYPE_LONGLONGINT || type ==
> TYPE_ULONGLONGINT)
> -+                      tmp_length =
> -+                        (unsigned int) (sizeof (unsigned long long) *
> CHAR_BIT
> -+                                        * 0.25 /* binary -> hexadecimal
> */
> -+                                       )
> -+                        + 1 /* turn floor into ceil */
> -+                        + 2; /* account for leading sign or alternate
> form */
> -+                    else
> -+# endif
> -+                    if (type == TYPE_LONGINT || type == TYPE_ULONGINT)
> -+                      tmp_length =
> -+                        (unsigned int) (sizeof (unsigned long) * CHAR_BIT
> -+                                        * 0.25 /* binary -> hexadecimal
> */
> -+                                       )
> -+                        + 1 /* turn floor into ceil */
> -+                        + 2; /* account for leading sign or alternate
> form */
> -+                    else
> -+                      tmp_length =
> -+                        (unsigned int) (sizeof (unsigned int) * CHAR_BIT
> -+                                        * 0.25 /* binary -> hexadecimal
> */
> -+                                       )
> -+                        + 1 /* turn floor into ceil */
> -+                        + 2; /* account for leading sign or alternate
> form */
> -+                    break;
> -+
> -+                  case 'f': case 'F':
> -+# ifdef HAVE_LONG_DOUBLE
> -+                    if (type == TYPE_LONGDOUBLE)
> -+                      tmp_length =
> -+                        (unsigned int) (LDBL_MAX_EXP
> -+                                        * 0.30103 /* binary -> decimal */
> -+                                        * 2 /* estimate for FLAG_GROUP */
> -+                                       )
> -+                        + 1 /* turn floor into ceil */
> -+                        + 10; /* sign, decimal point etc. */
> -+                    else
> -+# endif
> -+                      tmp_length =
> -+                        (unsigned int) (DBL_MAX_EXP
> -+                                        * 0.30103 /* binary -> decimal */
> -+                                        * 2 /* estimate for FLAG_GROUP */
> -+                                       )
> -+                        + 1 /* turn floor into ceil */
> -+                        + 10; /* sign, decimal point etc. */
> -+                    tmp_length = xsum (tmp_length, precision);
> -+                    break;
> -+
> -+                  case 'e': case 'E': case 'g': case 'G':
> -+                  case 'a': case 'A':
> -+                    tmp_length =
> -+                      12; /* sign, decimal point, exponent etc. */
> -+                    tmp_length = xsum (tmp_length, precision);
> -+                    break;
> -+
> -+                  case 'c':
> -+# if defined HAVE_WINT_T && !WIDE_CHAR_VERSION
> -+                    if (type == TYPE_WIDE_CHAR)
> -+                      tmp_length = MB_CUR_MAX;
> -+                    else
> -+# endif
> -+                      tmp_length = 1;
> -+                    break;
> -+
> -+                  case 's':
> -+# ifdef HAVE_WCHAR_T
> -+                    if (type == TYPE_WIDE_STRING)
> -+                      {
> -+                        tmp_length =
> -+                          local_wcslen
> (a.arg[dp->arg_index].a.a_wide_string);
> -+
> -+#  if !WIDE_CHAR_VERSION
> -+                        tmp_length = xtimes (tmp_length, MB_CUR_MAX);
> -+#  endif
> -+                      }
> -+                    else
> -+# endif
> -+                      tmp_length = strlen
> (a.arg[dp->arg_index].a.a_string);
> -+                    break;
> -+
> -+                  case 'p':
> -+                    tmp_length =
> -+                      (unsigned int) (sizeof (void *) * CHAR_BIT
> -+                                      * 0.25 /* binary -> hexadecimal */
> -+                                     )
> -+                        + 1 /* turn floor into ceil */
> -+                        + 2; /* account for leading 0x */
> -+                    break;
> -+
> -+                  default:
> -+                    abort ();
> -+                  }
> -+
> -+                if (tmp_length < width)
> -+                  tmp_length = width;
> -+
> -+                tmp_length = xsum (tmp_length, 1); /* account for
> trailing NUL */
> -+              }
> -+
> -+              if (tmp_length <= sizeof (tmpbuf) / sizeof (CHAR_T))
> -+                tmp = tmpbuf;
> -+              else
> -+                {
> -+                  size_t tmp_memsize = xtimes (tmp_length, sizeof
> (CHAR_T));
> -+
> -+                  if (size_overflow_p (tmp_memsize))
> -+                    /* Overflow, would lead to out of memory.  */
> -+                    goto out_of_memory;
> -+                  tmp = (CHAR_T *) malloc (tmp_memsize);
> -+                  if (tmp == NULL)
> -+                    /* Out of memory.  */
> -+                    goto out_of_memory;
> -+                }
> -+#endif
> -+
> -+              /* Construct the format string for calling snprintf or
> -+                 sprintf.  */
> -+              p = buf;
> -+              *p++ = '%';
> -+              if (dp->flags & FLAG_GROUP)
> -+                *p++ = '\'';
> -+              if (dp->flags & FLAG_LEFT)
> -+                *p++ = '-';
> -+              if (dp->flags & FLAG_SHOWSIGN)
> -+                *p++ = '+';
> -+              if (dp->flags & FLAG_SPACE)
> -+                *p++ = ' ';
> -+              if (dp->flags & FLAG_ALT)
> -+                *p++ = '#';
> -+              if (dp->flags & FLAG_ZERO)
> -+                *p++ = '0';
> -+              if (dp->width_start != dp->width_end)
> -+                {
> -+                  size_t n = dp->width_end - dp->width_start;
> -+                  memcpy (p, dp->width_start, n * sizeof (CHAR_T));
> -+                  p += n;
> -+                }
> -+              if (dp->precision_start != dp->precision_end)
> -+                {
> -+                  size_t n = dp->precision_end - dp->precision_start;
> -+                  memcpy (p, dp->precision_start, n * sizeof (CHAR_T));
> -+                  p += n;
> -+                }
> -+
> -+              switch (type)
> -+                {
> -+#ifdef HAVE_LONG_LONG
> -+                case TYPE_LONGLONGINT:
> -+                case TYPE_ULONGLONGINT:
> -+                  *p++ = 'l';
> -+                  /*FALLTHROUGH*/
> -+#endif
> -+                case TYPE_LONGINT:
> -+                case TYPE_ULONGINT:
> -+#ifdef HAVE_WINT_T
> -+                case TYPE_WIDE_CHAR:
> -+#endif
> -+#ifdef HAVE_WCHAR_T
> -+                case TYPE_WIDE_STRING:
> -+#endif
> -+                  *p++ = 'l';
> -+                  break;
> -+#ifdef HAVE_LONG_DOUBLE
> -+                case TYPE_LONGDOUBLE:
> -+                  *p++ = 'L';
> -+                  break;
> -+#endif
> -+                default:
> -+                  break;
> -+                }
> -+              *p = dp->conversion;
> -+#if USE_SNPRINTF
> -+              p[1] = '%';
> -+              p[2] = 'n';
> -+              p[3] = '\0';
> -+#else
> -+              p[1] = '\0';
> -+#endif
> -+
> -+              /* Construct the arguments for calling snprintf or
> sprintf.  */
> -+              prefix_count = 0;
> -+              if (dp->width_arg_index != ARG_NONE)
> -+                {
> -+                  if (!(a.arg[dp->width_arg_index].type == TYPE_INT))
> -+                    abort ();
> -+                  prefixes[prefix_count++] =
> a.arg[dp->width_arg_index].a.a_int;
> -+                }
> -+              if (dp->precision_arg_index != ARG_NONE)
> -+                {
> -+                  if (!(a.arg[dp->precision_arg_index].type == TYPE_INT))
> -+                    abort ();
> -+                  prefixes[prefix_count++] =
> a.arg[dp->precision_arg_index].a.a_int;
> -+                }
> -+
> -+#if USE_SNPRINTF
> -+              /* Prepare checking whether snprintf returns the count
> -+                 via %n.  */
> -+              ENSURE_ALLOCATION (xsum (length, 1));
> -+              result[length] = '\0';
> -+#endif
> -+
> -+              for (;;)
> -+                {
> -+                  size_t maxlen;
> -+                  int count;
> -+                  int retcount;
> -+
> -+                  maxlen = allocated - length;
> -+                  count = -1;
> -+                  retcount = 0;
> -+
> -+#if USE_SNPRINTF
> -+# define SNPRINTF_BUF(arg) \
> -+                  switch (prefix_count)
>  \
> -+                    {
>  \
> -+                    case 0:
>  \
> -+                      retcount = SNPRINTF (result + length, maxlen,
> buf,  \
> -+                                           arg, &count);
>   \
> -+                      break;
>   \
> -+                    case 1:
>  \
> -+                      retcount = SNPRINTF (result + length, maxlen,
> buf,  \
> -+                                           prefixes[0], arg, &count);
>  \
> -+                      break;
>   \
> -+                    case 2:
>  \
> -+                      retcount = SNPRINTF (result + length, maxlen,
> buf,  \
> -+                                           prefixes[0], prefixes[1],
> arg, \
> -+                                           &count);
>  \
> -+                      break;
>   \
> -+                    default:
>   \
> -+                      abort ();
>  \
> -+                    }
> -+#else
> -+# define SNPRINTF_BUF(arg) \
> -+                  switch (prefix_count)
>  \
> -+                    {
>  \
> -+                    case 0:
>  \
> -+                      count = sprintf (tmp, buf, arg);
>   \
> -+                      break;
>   \
> -+                    case 1:
>  \
> -+                      count = sprintf (tmp, buf, prefixes[0], arg);
>  \
> -+                      break;
>   \
> -+                    case 2:
>  \
> -+                      count = sprintf (tmp, buf, prefixes[0],
> prefixes[1],\
> -+                                       arg);
>   \
> -+                      break;
>   \
> -+                    default:
>   \
> -+                      abort ();
>  \
> -+                    }
> -+#endif
> -+
> -+                  switch (type)
> -+                    {
> -+                    case TYPE_SCHAR:
> -+                      {
> -+                        int arg = a.arg[dp->arg_index].a.a_schar;
> -+                        SNPRINTF_BUF (arg);
> -+                      }
> -+                      break;
> -+                    case TYPE_UCHAR:
> -+                      {
> -+                        unsigned int arg =
> a.arg[dp->arg_index].a.a_uchar;
> -+                        SNPRINTF_BUF (arg);
> -+                      }
> -+                      break;
> -+                    case TYPE_SHORT:
> -+                      {
> -+                        int arg = a.arg[dp->arg_index].a.a_short;
> -+                        SNPRINTF_BUF (arg);
> -+                      }
> -+                      break;
> -+                    case TYPE_USHORT:
> -+                      {
> -+                        unsigned int arg =
> a.arg[dp->arg_index].a.a_ushort;
> -+                        SNPRINTF_BUF (arg);
> -+                      }
> -+                      break;
> -+                    case TYPE_INT:
> -+                      {
> -+                        int arg = a.arg[dp->arg_index].a.a_int;
> -+                        SNPRINTF_BUF (arg);
> -+                      }
> -+                      break;
> -+                    case TYPE_UINT:
> -+                      {
> -+                        unsigned int arg = a.arg[dp->arg_index].a.a_uint;
> -+                        SNPRINTF_BUF (arg);
> -+                      }
> -+                      break;
> -+                    case TYPE_LONGINT:
> -+                      {
> -+                        long int arg = a.arg[dp->arg_index].a.a_longint;
> -+                        SNPRINTF_BUF (arg);
> -+                      }
> -+                      break;
> -+                    case TYPE_ULONGINT:
> -+                      {
> -+                        unsigned long int arg =
> a.arg[dp->arg_index].a.a_ulongint;
> -+                        SNPRINTF_BUF (arg);
> -+                      }
> -+                      break;
> -+#ifdef HAVE_LONG_LONG
> -+                    case TYPE_LONGLONGINT:
> -+                      {
> -+                        long long int arg =
> a.arg[dp->arg_index].a.a_longlongint;
> -+                        SNPRINTF_BUF (arg);
> -+                      }
> -+                      break;
> -+                    case TYPE_ULONGLONGINT:
> -+                      {
> -+                        unsigned long long int arg =
> a.arg[dp->arg_index].a.a_ulonglongint;
> -+                        SNPRINTF_BUF (arg);
> -+                      }
> -+                      break;
> -+#endif
> -+                    case TYPE_DOUBLE:
> -+                      {
> -+                        double arg = a.arg[dp->arg_index].a.a_double;
> -+                        SNPRINTF_BUF (arg);
> -+                      }
> -+                      break;
> -+#ifdef HAVE_LONG_DOUBLE
> -+                    case TYPE_LONGDOUBLE:
> -+                      {
> -+                        long double arg =
> a.arg[dp->arg_index].a.a_longdouble;
> -+                        SNPRINTF_BUF (arg);
> -+                      }
> -+                      break;
> -+#endif
> -+                    case TYPE_CHAR:
> -+                      {
> -+                        int arg = a.arg[dp->arg_index].a.a_char;
> -+                        SNPRINTF_BUF (arg);
> -+                      }
> -+                      break;
> -+#ifdef HAVE_WINT_T
> -+                    case TYPE_WIDE_CHAR:
> -+                      {
> -+                        wint_t arg = a.arg[dp->arg_index].a.a_wide_char;
> -+                        SNPRINTF_BUF (arg);
> -+                      }
> -+                      break;
> -+#endif
> -+                    case TYPE_STRING:
> -+                      {
> -+                        const char *arg =
> a.arg[dp->arg_index].a.a_string;
> -+                        SNPRINTF_BUF (arg);
> -+                      }
> -+                      break;
> -+#ifdef HAVE_WCHAR_T
> -+                    case TYPE_WIDE_STRING:
> -+                      {
> -+                        const wchar_t *arg =
> a.arg[dp->arg_index].a.a_wide_string;
> -+                        SNPRINTF_BUF (arg);
> -+                      }
> -+                      break;
> -+#endif
> -+                    case TYPE_POINTER:
> -+                      {
> -+                        void *arg = a.arg[dp->arg_index].a.a_pointer;
> -+                        SNPRINTF_BUF (arg);
> -+                      }
> -+                      break;
> -+                    default:
> -+                      abort ();
> -+                    }
> -+
> -+#if USE_SNPRINTF
> -+                  /* Portability: Not all implementations of snprintf()
> -+                     are ISO C 99 compliant.  Determine the number of
> -+                     bytes that snprintf() has produced or would have
> -+                     produced.  */
> -+                  if (count >= 0)
> -+                    {
> -+                      /* Verify that snprintf() has NUL-terminated its
> -+                         result.  */
> -+                      if (count < maxlen && result[length + count] !=
> '\0')
> -+                        abort ();
> -+                      /* Portability hack.  */
> -+                      if (retcount > count)
> -+                        count = retcount;
> -+                    }
> -+                  else
> -+                    {
> -+                      /* snprintf() doesn't understand the '%n'
> -+                         directive.  */
> -+                      if (p[1] != '\0')
> -+                        {
> -+                          /* Don't use the '%n' directive; instead, look
> -+                             at the snprintf() return value.  */
> -+                          p[1] = '\0';
> -+                          continue;
> -+                        }
> -+                      else
> -+                        {
> -+                          /* Look at the snprintf() return value.  */
> -+                          if (retcount < 0)
> -+                            {
> -+                              /* HP-UX 10.20 snprintf() is doubly
> deficient:
> -+                                 It doesn't understand the '%n'
> directive,
> -+                                 *and* it returns -1 (rather than the
> length
> -+                                 that would have been required) when the
> -+                                 buffer is too small.  */
> -+                              size_t bigger_need =
> -+                                xsum (xtimes (allocated, 2), 12);
> -+                              ENSURE_ALLOCATION (bigger_need);
> -+                              continue;
> -+                            }
> -+                          else
> -+                            count = retcount;
> -+                        }
> -+                    }
> -+#endif
> -+
> -+                  /* Attempt to handle failure.  */
> -+                  if (count < 0)
> -+                    {
> -+                      if (!(result == resultbuf || result == NULL))
> -+                        free (result);
> -+                      if (buf_malloced != NULL)
> -+                        free (buf_malloced);
> -+                      CLEANUP ();
> -+                      errno = EINVAL;
> -+                      return NULL;
> -+                    }
> -+
> -+#if !USE_SNPRINTF
> -+                  if (count >= tmp_length)
> -+                    /* tmp_length was incorrectly calculated - fix the
> -+                       code above!  */
> -+                    abort ();
> -+#endif
> -+
> -+                  /* Make room for the result.  */
> -+                  if (count >= maxlen)
> -+                    {
> -+                      /* Need at least count bytes.  But allocate
> -+                         proportionally, to avoid looping eternally if
> -+                         snprintf() reports a too small count.  */
> -+                      size_t n =
> -+                        xmax (xsum (length, count), xtimes (allocated,
> 2));
> -+
> -+                      ENSURE_ALLOCATION (n);
> -+#if USE_SNPRINTF
> -+                      continue;
> -+#endif
> -+                    }
> -+
> -+#if USE_SNPRINTF
> -+                  /* The snprintf() result did fit.  */
> -+#else
> -+                  /* Append the sprintf() result.  */
> -+                  memcpy (result + length, tmp, count * sizeof (CHAR_T));
> -+                  if (tmp != tmpbuf)
> -+                    free (tmp);
> -+#endif
> -+
> -+                  length += count;
> -+                  break;
> -+                }
> -+            }
> -+        }
> -+      }
> -+
> -+    /* Add the final NUL.  */
> -+    ENSURE_ALLOCATION (xsum (length, 1));
> -+    result[length] = '\0';
> -+
> -+    if (result != resultbuf && length + 1 < allocated)
> -+      {
> -+      /* Shrink the allocated memory if possible.  */
> -+      CHAR_T *memory;
> -+
> -+      memory = (CHAR_T *) realloc (result, (length + 1) * sizeof
> (CHAR_T));
> -+      if (memory != NULL)
> -+        result = memory;
> -+      }
> -+
> -+    if (buf_malloced != NULL)
> -+      free (buf_malloced);
> -+    CLEANUP ();
> -+    *lengthp = length;
> -+    return result;
> -+
> -+  out_of_memory:
> -+    if (!(result == resultbuf || result == NULL))
> -+      free (result);
> -+    if (buf_malloced != NULL)
> -+      free (buf_malloced);
> -+  out_of_memory_1:
> -+    CLEANUP ();
> -+    errno = ENOMEM;
> -+    return NULL;
> -+  }
> -+}
> -+
> -+#undef SNPRINTF
> -+#undef USE_SNPRINTF
> -+#undef PRINTF_PARSE
> -+#undef DIRECTIVES
> -+#undef DIRECTIVE
> -+#undef CHAR_T
> -+#undef VASNPRINTF
> ---- lrzsz-0.12.20.safe/intl/vasnprintf.h       1969-12-31
> 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/intl/vasnprintf.h    2004-09-12 14:40:34.667700664 -0400
> -@@ -0,0 +1,61 @@
> -+/* vsprintf with automatic memory allocation.
> -+   Copyright (C) 2002-2003 Free Software Foundation, Inc.
> -+
> -+   This program is free software; you can redistribute it and/or modify
> it
> -+   under the terms of the GNU Library General Public License as published
> -+   by the Free Software Foundation; either version 2, 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
> -+   Library General Public License for more details.
> -+
> -+   You should have received a copy of the GNU Library 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.  */
> -+
> -+#ifndef _VASNPRINTF_H
> -+#define _VASNPRINTF_H
> -+
> -+/* Get va_list.  */
> -+#include <stdarg.h>
> -+
> -+/* Get size_t.  */
> -+#include <stddef.h>
> -+
> -+#ifndef __attribute__
> -+/* This feature is available in gcc versions 2.5 and later.  */
> -+# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) ||
> __STRICT_ANSI__
> -+#  define __attribute__(Spec) /* empty */
> -+# endif
> -+/* The __-protected variants of `format' and `printf' attributes
> -+   are accepted by gcc versions 2.6.4 (effectively 2.7) and later.  */
> -+# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7)
> -+#  define __format__ format
> -+#  define __printf__ printf
> -+# endif
> -+#endif
> -+
> -+#ifdef        __cplusplus
> -+extern "C" {
> -+#endif
> -+
> -+/* Write formatted output to a string dynamically allocated with
> malloc().
> -+   You can pass a preallocated buffer for the result in RESULTBUF and its
> -+   size in *LENGTHP; otherwise you pass RESULTBUF = NULL.
> -+   If successful, return the address of the string (this may be =
> RESULTBUF
> -+   if no dynamic memory allocation was necessary) and set *LENGTHP to the
> -+   number of resulting bytes, excluding the trailing NUL.  Upon error,
> set
> -+   errno and return NULL.  */
> -+extern char * asnprintf (char *resultbuf, size_t *lengthp, const char
> *format, ...)
> -+       __attribute__ ((__format__ (__printf__, 3, 4)));
> -+extern char * vasnprintf (char *resultbuf, size_t *lengthp, const char
> *format, va_list args)
> -+       __attribute__ ((__format__ (__printf__, 3, 0)));
> -+
> -+#ifdef        __cplusplus
> -+}
> -+#endif
> -+
> -+#endif /* _VASNPRINTF_H */
> ---- lrzsz-0.12.20.safe/intl/vasnwprintf.h      1969-12-31
> 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/intl/vasnwprintf.h   2004-09-12 14:40:34.673699752 -0400
> -@@ -0,0 +1,46 @@
> -+/* vswprintf with automatic memory allocation.
> -+   Copyright (C) 2002-2003 Free Software Foundation, Inc.
> -+
> -+   This program is free software; you can redistribute it and/or modify
> it
> -+   under the terms of the GNU Library General Public License as published
> -+   by the Free Software Foundation; either version 2, 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
> -+   Library General Public License for more details.
> -+
> -+   You should have received a copy of the GNU Library 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.  */
> -+
> -+#ifndef _VASNWPRINTF_H
> -+#define _VASNWPRINTF_H
> -+
> -+/* Get va_list.  */
> -+#include <stdarg.h>
> -+
> -+/* Get wchar_t, size_t.  */
> -+#include <stddef.h>
> -+
> -+#ifdef        __cplusplus
> -+extern "C" {
> -+#endif
> -+
> -+/* Write formatted output to a string dynamically allocated with
> malloc().
> -+   You can pass a preallocated buffer for the result in RESULTBUF and its
> -+   size in *LENGTHP; otherwise you pass RESULTBUF = NULL.
> -+   If successful, return the address of the string (this may be =
> RESULTBUF
> -+   if no dynamic memory allocation was necessary) and set *LENGTHP to the
> -+   number of resulting bytes, excluding the trailing NUL.  Upon error,
> set
> -+   errno and return NULL.  */
> -+extern wchar_t * asnwprintf (wchar_t *resultbuf, size_t *lengthp, const
> wchar_t *format, ...);
> -+extern wchar_t * vasnwprintf (wchar_t *resultbuf, size_t *lengthp, const
> wchar_t *format, va_list args);
> -+
> -+#ifdef        __cplusplus
> -+}
> -+#endif
> -+
> -+#endif /* _VASNWPRINTF_H */
> ---- lrzsz-0.12.20.safe/intl/VERSION    1998-04-26 09:22:37.000000000 -0400
> -+++ lrzsz-0.12.20/intl/VERSION 2004-09-12 14:40:34.679698840 -0400
> -@@ -1 +1 @@
> --GNU gettext library from gettext-0.10.32
> -+GNU gettext library from gettext-0.14.1
> ---- lrzsz-0.12.20.safe/intl/wprintf-parse.h    1969-12-31
> 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/intl/wprintf-parse.h 2004-09-12 14:40:34.695696408 -0400
> -@@ -0,0 +1,75 @@
> -+/* Parse printf format string.
> -+   Copyright (C) 1999, 2002-2003 Free Software Foundation, Inc.
> -+
> -+   This program is free software; you can redistribute it and/or modify
> it
> -+   under the terms of the GNU Library General Public License as published
> -+   by the Free Software Foundation; either version 2, 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
> -+   Library General Public License for more details.
> -+
> -+   You should have received a copy of the GNU Library 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.  */
> -+
> -+#ifndef _WPRINTF_PARSE_H
> -+#define _WPRINTF_PARSE_H
> -+
> -+#include "printf-args.h"
> -+
> -+
> -+/* Flags */
> -+#define FLAG_GROUP     1      /* ' flag */
> -+#define FLAG_LEFT      2      /* - flag */
> -+#define FLAG_SHOWSIGN  4      /* + flag */
> -+#define FLAG_SPACE     8      /* space flag */
> -+#define FLAG_ALT      16      /* # flag */
> -+#define FLAG_ZERO     32
> -+
> -+/* arg_index value indicating that no argument is consumed.  */
> -+#define ARG_NONE      (~(size_t)0)
> -+
> -+/* A parsed directive.  */
> -+typedef struct
> -+{
> -+  const wchar_t* dir_start;
> -+  const wchar_t* dir_end;
> -+  int flags;
> -+  const wchar_t* width_start;
> -+  const wchar_t* width_end;
> -+  size_t width_arg_index;
> -+  const wchar_t* precision_start;
> -+  const wchar_t* precision_end;
> -+  size_t precision_arg_index;
> -+  wchar_t conversion; /* d i o u x X f e E g G c s p n U % but not C S */
> -+  size_t arg_index;
> -+}
> -+wchar_t_directive;
> -+
> -+/* A parsed format string.  */
> -+typedef struct
> -+{
> -+  size_t count;
> -+  wchar_t_directive *dir;
> -+  size_t max_width_length;
> -+  size_t max_precision_length;
> -+}
> -+wchar_t_directives;
> -+
> -+
> -+/* Parses the format string.  Fills in the number N of directives, and
> fills
> -+   in directives[0], ..., directives[N-1], and sets
> directives[N].dir_start
> -+   to the end of the format string.  Also fills in the arg_type fields
> of the
> -+   arguments and the needed count of arguments.  */
> -+#ifdef STATIC
> -+STATIC
> -+#else
> -+extern
> -+#endif
> -+int wprintf_parse (const wchar_t *format, wchar_t_directives *d,
> arguments *a);
> -+
> -+#endif /* _WPRINTF_PARSE_H */
> ---- lrzsz-0.12.20.safe/intl/xopen-msg.sed      1998-04-26
> 09:20:52.000000000 -0400
> -+++ lrzsz-0.12.20/intl/xopen-msg.sed   1969-12-31 19:00:00.000000000 -0500
> -@@ -1,104 +0,0 @@
> --# po2msg.sed - Convert Uniforum style .po file to X/Open style .msg file
> --# Copyright (C) 1995 Free Software Foundation, Inc.
> --# Ulrich Drepper <drepper at gnu.ai.mit.edu>, 1995.
> --#
> --# This 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, write to the Free Software
> --# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
> USA.
> --#
> --#
> --# The first directive in the .msg should be the definition of the
> --# message set number.  We use always set number 1.
> --#
> --1 {
> --  i\
> --$set 1 # Automatically created by po2msg.sed
> --  h
> --  s/.*/0/
> --  x
> --}
> --#
> --# We copy all comments into the .msg file.  Perhaps they can help.
> --#
> --/^#/ s/^#[    ]*/$ /p
> --#
> --# We copy the original message as a comment into the .msg file.
> --#
> --/^msgid/ {
> --# Does not work now
> --#  /"$/! {
> --#    s/\\$//
> --#    s/$/ ... (more lines following)"/
> --#  }
> --  s/^msgid[   ]*"\(.*\)"$/$ Original Message: \1/
> --  p
> --}
> --#
> --# The .msg file contains, other then the .po file, only the translations
> --# but each given a unique ID.  Starting from 1 and incrementing by 1 for
> --# each message we assign them to the messages.
> --# It is important that the .po file used to generate the cat-id-tbl.c
> file
> --# (with po-to-tbl) is the same as the one used here.  (At least the order
> --# of declarations must not be changed.)
> --#
> --/^msgstr/ {
> --  s/msgstr[   ]*"\(.*\)"/\1/
> --  x
> --# The following nice solution is by
> --# Bruno <Haible at ma2s2.mathematik.uni-karlsruhe.de>
> --  td
> --# Increment a decimal number in pattern space.
> --# First hide trailing `9' digits.
> --  :d
> --  s/9\(_*\)$/_\1/
> --  td
> --# Assure at least one digit is available.
> --  s/^\(_*\)$/0\1/
> --# Increment the last digit.
> --  s/8\(_*\)$/9\1/
> --  s/7\(_*\)$/8\1/
> --  s/6\(_*\)$/7\1/
> --  s/5\(_*\)$/6\1/
> --  s/4\(_*\)$/5\1/
> --  s/3\(_*\)$/4\1/
> --  s/2\(_*\)$/3\1/
> --  s/1\(_*\)$/2\1/
> --  s/0\(_*\)$/1\1/
> --# Convert the hidden `9' digits to `0's.
> --  s/_/0/g
> --  x
> --# Bring the line in the format `<number> <message>'
> --  G
> --  s/^[^\n]*$/& /
> --  s/\(.*\)\n\([0-9]*\)/\2 \1/
> --# Clear flag from last substitution.
> --  tb
> --# Append the next line.
> --  :b
> --  N
> --# Look whether second part is a continuation line.
> --  s/\(.*\n\)"\(.*\)"/\1\2/
> --# Yes, then branch.
> --  ta
> --  P
> --  D
> --# Note that `D' includes a jump to the start!!
> --# We found a continuation line.  But before printing insert '\'.
> --  :a
> --  s/\(.*\)\(\n.*\)/\1\\\2/
> --  P
> --# We cannot use the sed command `D' here
> --  s/.*\n\(.*\)/\1/
> --  tb
> --}
> --d
> ---- lrzsz-0.12.20.safe/intl/xsize.h    1969-12-31 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/intl/xsize.h 2004-09-12 14:40:34.700695648 -0400
> -@@ -0,0 +1,109 @@
> -+/* xsize.h -- Checked size_t computations.
> -+
> -+   Copyright (C) 2003 Free Software Foundation, Inc.
> -+
> -+   This program is free software; you can redistribute it and/or modify
> it
> -+   under the terms of the GNU Library General Public License as published
> -+   by the Free Software Foundation; either version 2, 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
> -+   Library General Public License for more details.
> -+
> -+   You should have received a copy of the GNU Library 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.  */
> -+
> -+#ifndef _XSIZE_H
> -+#define _XSIZE_H
> -+
> -+/* Get size_t.  */
> -+#include <stddef.h>
> -+
> -+/* Get SIZE_MAX.  */
> -+#include <limits.h>
> -+#if HAVE_STDINT_H
> -+# include <stdint.h>
> -+#endif
> -+
> -+/* The size of memory objects is often computed through expressions of
> -+   type size_t. Example:
> -+      void* p = malloc (header_size + n * element_size).
> -+   These computations can lead to overflow.  When this happens, malloc()
> -+   returns a piece of memory that is way too small, and the program then
> -+   crashes while attempting to fill the memory.
> -+   To avoid this, the functions and macros in this file check for
> overflow.
> -+   The convention is that SIZE_MAX represents overflow.
> -+   malloc (SIZE_MAX) is not guaranteed to fail -- think of a malloc
> -+   implementation that uses mmap --, it's recommended to use
> size_overflow_p()
> -+   or size_in_bounds_p() before invoking malloc().
> -+   The example thus becomes:
> -+      size_t size = xsum (header_size, xtimes (n, element_size));
> -+      void *p = (size_in_bounds_p (size) ? malloc (size) : NULL);
> -+*/
> -+
> -+/* Convert an arbitrary value >= 0 to type size_t.  */
> -+#define xcast_size_t(N) \
> -+  ((N) <= SIZE_MAX ? (size_t) (N) : SIZE_MAX)
> -+
> -+/* Sum of two sizes, with overflow check.  */
> -+static inline size_t
> -+#if __GNUC__ >= 3
> -+__attribute__ ((__pure__))
> -+#endif
> -+xsum (size_t size1, size_t size2)
> -+{
> -+  size_t sum = size1 + size2;
> -+  return (sum >= size1 ? sum : SIZE_MAX);
> -+}
> -+
> -+/* Sum of three sizes, with overflow check.  */
> -+static inline size_t
> -+#if __GNUC__ >= 3
> -+__attribute__ ((__pure__))
> -+#endif
> -+xsum3 (size_t size1, size_t size2, size_t size3)
> -+{
> -+  return xsum (xsum (size1, size2), size3);
> -+}
> -+
> -+/* Sum of four sizes, with overflow check.  */
> -+static inline size_t
> -+#if __GNUC__ >= 3
> -+__attribute__ ((__pure__))
> -+#endif
> -+xsum4 (size_t size1, size_t size2, size_t size3, size_t size4)
> -+{
> -+  return xsum (xsum (xsum (size1, size2), size3), size4);
> -+}
> -+
> -+/* Maximum of two sizes, with overflow check.  */
> -+static inline size_t
> -+#if __GNUC__ >= 3
> -+__attribute__ ((__pure__))
> -+#endif
> -+xmax (size_t size1, size_t size2)
> -+{
> -+  /* No explicit check is needed here, because for any n:
> -+     max (SIZE_MAX, n) == SIZE_MAX and max (n, SIZE_MAX) == SIZE_MAX.  */
> -+  return (size1 >= size2 ? size1 : size2);
> -+}
> -+
> -+/* Multiplication of a count with an element size, with overflow check.
> -+   The count must be >= 0 and the element size must be > 0.
> -+   This is a macro, not an inline function, so that it works correctly
> even
> -+   when N is of a wider tupe and N > SIZE_MAX.  */
> -+#define xtimes(N, ELSIZE) \
> -+  ((N) <= SIZE_MAX / (ELSIZE) ? (size_t) (N) * (ELSIZE) : SIZE_MAX)
> -+
> -+/* Check for overflow.  */
> -+#define size_overflow_p(SIZE) \
> -+  ((SIZE) == SIZE_MAX)
> -+/* Check against overflow.  */
> -+#define size_in_bounds_p(SIZE) \
> -+  ((SIZE) != SIZE_MAX)
> -+
> -+#endif /* _XSIZE_H */
> ---- lrzsz-0.12.20.safe/m4/ChangeLog    1969-12-31 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/m4/ChangeLog 2004-09-12 14:40:35.054641840 -0400
> -@@ -0,0 +1,32 @@
> -+2004-09-12  gettextize  <bug-gnu-gettext at gnu.org>
> -+
> -+      * codeset.m4: New file, from gettext-0.14.1.
> -+      * gettext.m4: New file, from gettext-0.14.1.
> -+      * glibc21.m4: New file, from gettext-0.14.1.
> -+      * iconv.m4: New file, from gettext-0.14.1.
> -+      * intdiv0.m4: New file, from gettext-0.14.1.
> -+      * intmax.m4: New file, from gettext-0.14.1.
> -+      * inttypes.m4: New file, from gettext-0.14.1.
> -+      * inttypes_h.m4: New file, from gettext-0.14.1.
> -+      * inttypes-pri.m4: New file, from gettext-0.14.1.
> -+      * isc-posix.m4: New file, from gettext-0.14.1.
> -+      * lcmessage.m4: New file, from gettext-0.14.1.
> -+      * lib-ld.m4: New file, from gettext-0.14.1.
> -+      * lib-link.m4: New file, from gettext-0.14.1.
> -+      * lib-prefix.m4: New file, from gettext-0.14.1.
> -+      * longdouble.m4: New file, from gettext-0.14.1.
> -+      * longlong.m4: New file, from gettext-0.14.1.
> -+      * nls.m4: New file, from gettext-0.14.1.
> -+      * po.m4: New file, from gettext-0.14.1.
> -+      * printf-posix.m4: New file, from gettext-0.14.1.
> -+      * progtest.m4: New file, from gettext-0.14.1.
> -+      * signed.m4: New file, from gettext-0.14.1.
> -+      * size_max.m4: New file, from gettext-0.14.1.
> -+      * stdint_h.m4: New file, from gettext-0.14.1.
> -+      * uintmax_t.m4: New file, from gettext-0.14.1.
> -+      * ulonglong.m4: New file, from gettext-0.14.1.
> -+      * wchar_t.m4: New file, from gettext-0.14.1.
> -+      * wint_t.m4: New file, from gettext-0.14.1.
> -+      * xsize.m4: New file, from gettext-0.14.1.
> -+      * Makefile.am: New file.
> -+
> ---- lrzsz-0.12.20.safe/m4/codeset.m4   1969-12-31 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/m4/codeset.m4        2004-09-12 14:40:34.820677408 -0400
> -@@ -0,0 +1,23 @@
> -+# codeset.m4 serial AM1 (gettext-0.10.40)
> -+dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
> -+dnl This file is free software, distributed under the terms of the GNU
> -+dnl General Public License.  As a special exception to the GNU General
> -+dnl Public License, this file may be distributed as part of a program
> -+dnl that contains a configuration script generated by Autoconf, under
> -+dnl the same distribution terms as the rest of that program.
> -+
> -+dnl From Bruno Haible.
> -+
> -+AC_DEFUN([AM_LANGINFO_CODESET],
> -+[
> -+  AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset,
> -+    [AC_TRY_LINK([#include <langinfo.h>],
> -+      [char* cs = nl_langinfo(CODESET);],
> -+      am_cv_langinfo_codeset=yes,
> -+      am_cv_langinfo_codeset=no)
> -+    ])
> -+  if test $am_cv_langinfo_codeset = yes; then
> -+    AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
> -+      [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
> -+  fi
> -+])
> ---- lrzsz-0.12.20.safe/m4/gettext.m4   1969-12-31 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/m4/gettext.m4        2004-09-12 14:40:34.826676496 -0400
> -@@ -0,0 +1,487 @@
> -+# gettext.m4 serial 28 (gettext-0.13)
> -+dnl Copyright (C) 1995-2003 Free Software Foundation, Inc.
> -+dnl This file is free software, distributed under the terms of the GNU
> -+dnl General Public License.  As a special exception to the GNU General
> -+dnl Public License, this file may be distributed as part of a program
> -+dnl that contains a configuration script generated by Autoconf, under
> -+dnl the same distribution terms as the rest of that program.
> -+dnl
> -+dnl This file can 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 They are *not* in the public domain.
> -+
> -+dnl Authors:
> -+dnl   Ulrich Drepper <drepper at cygnus.com>, 1995-2000.
> -+dnl   Bruno Haible <haible at clisp.cons.org>, 2000-2003.
> -+
> -+dnl Macro to add for using GNU gettext.
> -+
> -+dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]).
> -+dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The
> -+dnl    default (if it is not specified or empty) is 'no-libtool'.
> -+dnl    INTLSYMBOL should be 'external' for packages with no intl
> directory,
> -+dnl    and 'no-libtool' or 'use-libtool' for packages with an intl
> directory.
> -+dnl    If INTLSYMBOL is 'use-libtool', then a libtool library
> -+dnl    $(top_builddir)/intl/libintl.la will be created (shared and/or
> static,
> -+dnl    depending on --{enable,disable}-{shared,static} and on the
> presence of
> -+dnl    AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static
> library
> -+dnl    $(top_builddir)/intl/libintl.a will be created.
> -+dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
> -+dnl    implementations (in libc or libintl) without the ngettext()
> function
> -+dnl    will be ignored.  If NEEDSYMBOL is specified and is
> -+dnl    'need-formatstring-macros', then GNU gettext implementations that
> don't
> -+dnl    support the ISO C 99 <inttypes.h> formatstring macros will be
> ignored.
> -+dnl INTLDIR is used to find the intl libraries.  If empty,
> -+dnl    the value `$(top_builddir)/intl/' is used.
> -+dnl
> -+dnl The result of the configuration is one of three cases:
> -+dnl 1) GNU gettext, as included in the intl subdirectory, will be
> compiled
> -+dnl    and used.
> -+dnl    Catalog format: GNU --> install in $(datadir)
> -+dnl    Catalog extension: .mo after installation, .gmo in source tree
> -+dnl 2) GNU gettext has been found in the system's C library.
> -+dnl    Catalog format: GNU --> install in $(datadir)
> -+dnl    Catalog extension: .mo after installation, .gmo in source tree
> -+dnl 3) No internationalization, always use English msgid.
> -+dnl    Catalog format: none
> -+dnl    Catalog extension: none
> -+dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur.
> -+dnl The use of .gmo is historical (it was needed to avoid overwriting the
> -+dnl GNU format catalogs when building on a platform with an X/Open
> gettext),
> -+dnl but we keep it in order not to force irrelevant filename changes on
> the
> -+dnl maintainers.
> -+dnl
> -+AC_DEFUN([AM_GNU_GETTEXT],
> -+[
> -+  dnl Argument checking.
> -+  ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1],
> [no-libtool], , [ifelse([$1], [use-libtool], ,
> -+    [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
> -+])])])])])
> -+  ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2],
> [need-formatstring-macros], ,
> -+    [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
> -+])])])])
> -+  define(gt_included_intl, ifelse([$1], [external], [no], [yes]))
> -+  define(gt_libtool_suffix_prefix, ifelse([$1], [use-libtool], [l], []))
> -+
> -+  AC_REQUIRE([AM_PO_SUBDIRS])dnl
> -+  ifelse(gt_included_intl, yes, [
> -+    AC_REQUIRE([AM_INTL_SUBDIR])dnl
> -+  ])
> -+
> -+  dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
> -+  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
> -+  AC_REQUIRE([AC_LIB_RPATH])
> -+
> -+  dnl Sometimes libintl requires libiconv, so first search for libiconv.
> -+  dnl Ideally we would do this search only after the
> -+  dnl      if test "$USE_NLS" = "yes"; then
> -+  dnl        if test "$gt_cv_func_gnugettext_libc" != "yes"; then
> -+  dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT
> -+  dnl the configure script would need to contain the same shell code
> -+  dnl again, outside any 'if'. There are two solutions:
> -+  dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'.
> -+  dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE.
> -+  dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not
> -+  dnl documented, we avoid it.
> -+  ifelse(gt_included_intl, yes, , [
> -+    AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
> -+  ])
> -+
> -+  dnl Set USE_NLS.
> -+  AM_NLS
> -+
> -+  ifelse(gt_included_intl, yes, [
> -+    BUILD_INCLUDED_LIBINTL=no
> -+    USE_INCLUDED_LIBINTL=no
> -+  ])
> -+  LIBINTL=
> -+  LTLIBINTL=
> -+  POSUB=
> -+
> -+  dnl If we use NLS figure out what method
> -+  if test "$USE_NLS" = "yes"; then
> -+    gt_use_preinstalled_gnugettext=no
> -+    ifelse(gt_included_intl, yes, [
> -+      AC_MSG_CHECKING([whether included gettext is requested])
> -+      AC_ARG_WITH(included-gettext,
> -+        [  --with-included-gettext use the GNU gettext library included
> here],
> -+        nls_cv_force_use_gnu_gettext=$withval,
> -+        nls_cv_force_use_gnu_gettext=no)
> -+      AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
> -+
> -+      nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
> -+      if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
> -+    ])
> -+        dnl User does not insist on using GNU NLS library.  Figure out
> what
> -+        dnl to use.  If GNU gettext is available we use this.  Else we
> have
> -+        dnl to fall back to GNU NLS library.
> -+
> -+        dnl Add a version number to the cache macros.
> -+        define([gt_api_version], ifelse([$2],
> [need-formatstring-macros], 3, ifelse([$2], [need-ngettext], 2, 1)))
> -+        define([gt_cv_func_gnugettext_libc],
> [gt_cv_func_gnugettext]gt_api_version[_libc])
> -+        define([gt_cv_func_gnugettext_libintl],
> [gt_cv_func_gnugettext]gt_api_version[_libintl])
> -+
> -+        AC_CACHE_CHECK([for GNU gettext in libc],
> gt_cv_func_gnugettext_libc,
> -+         [AC_TRY_LINK([#include <libintl.h>
> -+]ifelse([$2], [need-formatstring-macros],
> -+[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
> -+#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
> -+#endif
> -+changequote(,)dnl
> -+typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
> -+changequote([,])dnl
> -+], [])[extern int _nl_msg_cat_cntr;
> -+extern int *_nl_domain_bindings;],
> -+            [bindtextdomain ("", "");
> -+return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int)
> ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings],
> -+            gt_cv_func_gnugettext_libc=yes,
> -+            gt_cv_func_gnugettext_libc=no)])
> -+
> -+        if test "$gt_cv_func_gnugettext_libc" != "yes"; then
> -+          dnl Sometimes libintl requires libiconv, so first search for
> libiconv.
> -+          ifelse(gt_included_intl, yes, , [
> -+            AM_ICONV_LINK
> -+          ])
> -+          dnl Search for libintl and define LIBINTL, LTLIBINTL and
> INCINTL
> -+          dnl accordingly. Don't use
> AC_LIB_LINKFLAGS_BODY([intl],[iconv])
> -+          dnl because that would add "-liconv" to LIBINTL and LTLIBINTL
> -+          dnl even if libiconv doesn't exist.
> -+          AC_LIB_LINKFLAGS_BODY([intl])
> -+          AC_CACHE_CHECK([for GNU gettext in libintl],
> -+            gt_cv_func_gnugettext_libintl,
> -+           [gt_save_CPPFLAGS="$CPPFLAGS"
> -+            CPPFLAGS="$CPPFLAGS $INCINTL"
> -+            gt_save_LIBS="$LIBS"
> -+            LIBS="$LIBS $LIBINTL"
> -+            dnl Now see whether libintl exists and does not depend on
> libiconv.
> -+            AC_TRY_LINK([#include <libintl.h>
> -+]ifelse([$2], [need-formatstring-macros],
> -+[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
> -+#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
> -+#endif
> -+changequote(,)dnl
> -+typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
> -+changequote([,])dnl
> -+], [])[extern int _nl_msg_cat_cntr;
> -+extern
> -+#ifdef __cplusplus
> -+"C"
> -+#endif
> -+const char *_nl_expand_alias ();],
> -+              [bindtextdomain ("", "");
> -+return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int)
> ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],
> -+              gt_cv_func_gnugettext_libintl=yes,
> -+              gt_cv_func_gnugettext_libintl=no)
> -+            dnl Now see whether libintl exists and depends on libiconv.
> -+            if test "$gt_cv_func_gnugettext_libintl" != yes && test -n
> "$LIBICONV"; then
> -+              LIBS="$LIBS $LIBICONV"
> -+              AC_TRY_LINK([#include <libintl.h>
> -+]ifelse([$2], [need-formatstring-macros],
> -+[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
> -+#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
> -+#endif
> -+changequote(,)dnl
> -+typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
> -+changequote([,])dnl
> -+], [])[extern int _nl_msg_cat_cntr;
> -+extern
> -+#ifdef __cplusplus
> -+"C"
> -+#endif
> -+const char *_nl_expand_alias ();],
> -+                [bindtextdomain ("", "");
> -+return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int)
> ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],
> -+               [LIBINTL="$LIBINTL $LIBICONV"
> -+                LTLIBINTL="$LTLIBINTL $LTLIBICONV"
> -+                gt_cv_func_gnugettext_libintl=yes
> -+               ])
> -+            fi
> -+            CPPFLAGS="$gt_save_CPPFLAGS"
> -+            LIBS="$gt_save_LIBS"])
> -+        fi
> -+
> -+        dnl If an already present or preinstalled GNU gettext() is found,
> -+        dnl use it.  But if this macro is used in GNU gettext, and GNU
> -+        dnl gettext is already preinstalled in libintl, we update this
> -+        dnl libintl.  (Cf. the install rule in intl/Makefile.in.)
> -+        if test "$gt_cv_func_gnugettext_libc" = "yes" \
> -+           || { test "$gt_cv_func_gnugettext_libintl" = "yes" \
> -+                && test "$PACKAGE" != gettext-runtime \
> -+                && test "$PACKAGE" != gettext-tools; }; then
> -+          gt_use_preinstalled_gnugettext=yes
> -+        else
> -+          dnl Reset the values set by searching for libintl.
> -+          LIBINTL=
> -+          LTLIBINTL=
> -+          INCINTL=
> -+        fi
> -+
> -+    ifelse(gt_included_intl, yes, [
> -+        if test "$gt_use_preinstalled_gnugettext" != "yes"; then
> -+          dnl GNU gettext is not found in the C library.
> -+          dnl Fall back on included GNU gettext library.
> -+          nls_cv_use_gnu_gettext=yes
> -+        fi
> -+      fi
> -+
> -+      if test "$nls_cv_use_gnu_gettext" = "yes"; then
> -+        dnl Mark actions used to generate GNU NLS library.
> -+        BUILD_INCLUDED_LIBINTL=yes
> -+        USE_INCLUDED_LIBINTL=yes
> -+
> LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a
> $LIBICONV"
> -+
> LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a
> $LTLIBICONV"
> -+        LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/
> $//'`
> -+      fi
> -+
> -+      if test "$gt_use_preinstalled_gnugettext" = "yes" \
> -+         || test "$nls_cv_use_gnu_gettext" = "yes"; then
> -+        dnl Mark actions to use GNU gettext tools.
> -+        CATOBJEXT=.gmo
> -+      fi
> -+    ])
> -+
> -+    if test "$gt_use_preinstalled_gnugettext" = "yes" \
> -+       || test "$nls_cv_use_gnu_gettext" = "yes"; then
> -+      AC_DEFINE(ENABLE_NLS, 1,
> -+        [Define to 1 if translation of program messages to the user's
> native language
> -+   is requested.])
> -+    else
> -+      USE_NLS=no
> -+    fi
> -+  fi
> -+
> -+  AC_MSG_CHECKING([whether to use NLS])
> -+  AC_MSG_RESULT([$USE_NLS])
> -+  if test "$USE_NLS" = "yes"; then
> -+    AC_MSG_CHECKING([where the gettext function comes from])
> -+    if test "$gt_use_preinstalled_gnugettext" = "yes"; then
> -+      if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
> -+        gt_source="external libintl"
> -+      else
> -+        gt_source="libc"
> -+      fi
> -+    else
> -+      gt_source="included intl directory"
> -+    fi
> -+    AC_MSG_RESULT([$gt_source])
> -+  fi
> -+
> -+  if test "$USE_NLS" = "yes"; then
> -+
> -+    if test "$gt_use_preinstalled_gnugettext" = "yes"; then
> -+      if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
> -+        AC_MSG_CHECKING([how to link with libintl])
> -+        AC_MSG_RESULT([$LIBINTL])
> -+        AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])
> -+      fi
> -+
> -+      dnl For backward compatibility. Some packages may be using this.
> -+      AC_DEFINE(HAVE_GETTEXT, 1,
> -+       [Define if the GNU gettext() function is already present or
> preinstalled.])
> -+      AC_DEFINE(HAVE_DCGETTEXT, 1,
> -+       [Define if the GNU dcgettext() function is already present or
> preinstalled.])
> -+    fi
> -+
> -+    dnl We need to process the po/ directory.
> -+    POSUB=po
> -+  fi
> -+
> -+  ifelse(gt_included_intl, yes, [
> -+    dnl If this is used in GNU gettext we have to set
> BUILD_INCLUDED_LIBINTL
> -+    dnl to 'yes' because some of the testsuite requires it.
> -+    if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" =
> gettext-tools; then
> -+      BUILD_INCLUDED_LIBINTL=yes
> -+    fi
> -+
> -+    dnl Make all variables we use known to autoconf.
> -+    AC_SUBST(BUILD_INCLUDED_LIBINTL)
> -+    AC_SUBST(USE_INCLUDED_LIBINTL)
> -+    AC_SUBST(CATOBJEXT)
> -+
> -+    dnl For backward compatibility. Some configure.ins may be using this.
> -+    nls_cv_header_intl=
> -+    nls_cv_header_libgt=
> -+
> -+    dnl For backward compatibility. Some Makefiles may be using this.
> -+    DATADIRNAME=share
> -+    AC_SUBST(DATADIRNAME)
> -+
> -+    dnl For backward compatibility. Some Makefiles may be using this.
> -+    INSTOBJEXT=.mo
> -+    AC_SUBST(INSTOBJEXT)
> -+
> -+    dnl For backward compatibility. Some Makefiles may be using this.
> -+    GENCAT=gencat
> -+    AC_SUBST(GENCAT)
> -+
> -+    dnl For backward compatibility. Some Makefiles may be using this.
> -+    if test "$USE_INCLUDED_LIBINTL" = yes; then
> -+      INTLOBJS="\$(GETTOBJS)"
> -+    fi
> -+    AC_SUBST(INTLOBJS)
> -+
> -+    dnl Enable libtool support if the surrounding package wishes it.
> -+    INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix
> -+    AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
> -+  ])
> -+
> -+  dnl For backward compatibility. Some Makefiles may be using this.
> -+  INTLLIBS="$LIBINTL"
> -+  AC_SUBST(INTLLIBS)
> -+
> -+  dnl Make all documented variables known to autoconf.
> -+  AC_SUBST(LIBINTL)
> -+  AC_SUBST(LTLIBINTL)
> -+  AC_SUBST(POSUB)
> -+])
> -+
> -+
> -+dnl Checks for all prerequisites of the intl subdirectory,
> -+dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL),
> INTLOBJS,
> -+dnl            USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL.
> -+AC_DEFUN([AM_INTL_SUBDIR],
> -+[
> -+  AC_REQUIRE([AC_PROG_INSTALL])dnl
> -+  AC_REQUIRE([AM_MKINSTALLDIRS])dnl
> -+  AC_REQUIRE([AC_PROG_CC])dnl
> -+  AC_REQUIRE([AC_CANONICAL_HOST])dnl
> -+  AC_REQUIRE([AC_PROG_RANLIB])dnl
> -+  AC_REQUIRE([AC_ISC_POSIX])dnl
> -+  AC_REQUIRE([AC_HEADER_STDC])dnl
> -+  AC_REQUIRE([AC_C_CONST])dnl
> -+  AC_REQUIRE([bh_C_SIGNED])dnl
> -+  AC_REQUIRE([AC_C_INLINE])dnl
> -+  AC_REQUIRE([AC_TYPE_OFF_T])dnl
> -+  AC_REQUIRE([AC_TYPE_SIZE_T])dnl
> -+  AC_REQUIRE([jm_AC_TYPE_LONG_LONG])dnl
> -+  AC_REQUIRE([gt_TYPE_LONGDOUBLE])dnl
> -+  AC_REQUIRE([gt_TYPE_WCHAR_T])dnl
> -+  AC_REQUIRE([gt_TYPE_WINT_T])dnl
> -+  AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
> -+  AC_REQUIRE([jm_AC_HEADER_STDINT_H])
> -+  AC_REQUIRE([gt_TYPE_INTMAX_T])
> -+  AC_REQUIRE([gt_PRINTF_POSIX])
> -+  AC_REQUIRE([AC_FUNC_ALLOCA])dnl
> -+  AC_REQUIRE([AC_FUNC_MMAP])dnl
> -+  AC_REQUIRE([jm_GLIBC21])dnl
> -+  AC_REQUIRE([gt_INTDIV0])dnl
> -+  AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])dnl
> -+  AC_REQUIRE([gt_HEADER_INTTYPES_H])dnl
> -+  AC_REQUIRE([gt_INTTYPES_PRI])dnl
> -+  AC_REQUIRE([gl_XSIZE])dnl
> -+
> -+  AC_CHECK_TYPE([ptrdiff_t], ,
> -+    [AC_DEFINE([ptrdiff_t], [long],
> -+       [Define as the type of the result of subtracting two pointers, if
> the system doesn't define it.])
> -+    ])
> -+  AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h
> stddef.h \
> -+stdlib.h string.h unistd.h sys/param.h])
> -+  AC_CHECK_FUNCS([asprintf fwprintf getcwd getegid geteuid getgid getuid
> \
> -+mempcpy munmap putenv setenv setlocale snprintf stpcpy strcasecmp strdup
> \
> -+strtoul tsearch wcslen __argz_count __argz_stringify __argz_next \
> -+__fsetlocking])
> -+
> -+  dnl Use the _snprintf function only if it is declared (because on
> NetBSD it
> -+  dnl is defined as a weak alias of snprintf; we prefer to use the
> latter).
> -+  gt_CHECK_DECL(_snprintf, [#include <stdio.h>])
> -+  gt_CHECK_DECL(_snwprintf, [#include <stdio.h>])
> -+
> -+  dnl Use the *_unlocked functions only if they are declared.
> -+  dnl (because some of them were defined without being declared in
> Solaris
> -+  dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries
> built
> -+  dnl on Solaris 2.5.1 to run on Solaris 2.6).
> -+  dnl Don't use AC_CHECK_DECLS because it isn't supported in
> autoconf-2.13.
> -+  gt_CHECK_DECL(feof_unlocked, [#include <stdio.h>])
> -+  gt_CHECK_DECL(fgets_unlocked, [#include <stdio.h>])
> -+  gt_CHECK_DECL(getc_unlocked, [#include <stdio.h>])
> -+
> -+  case $gt_cv_func_printf_posix in
> -+    *yes) HAVE_POSIX_PRINTF=1 ;;
> -+    *) HAVE_POSIX_PRINTF=0 ;;
> -+  esac
> -+  AC_SUBST([HAVE_POSIX_PRINTF])
> -+  if test "$ac_cv_func_asprintf" = yes; then
> -+    HAVE_ASPRINTF=1
> -+  else
> -+    HAVE_ASPRINTF=0
> -+  fi
> -+  AC_SUBST([HAVE_ASPRINTF])
> -+  if test "$ac_cv_func_snprintf" = yes; then
> -+    HAVE_SNPRINTF=1
> -+  else
> -+    HAVE_SNPRINTF=0
> -+  fi
> -+  AC_SUBST([HAVE_SNPRINTF])
> -+  if test "$ac_cv_func_wprintf" = yes; then
> -+    HAVE_WPRINTF=1
> -+  else
> -+    HAVE_WPRINTF=0
> -+  fi
> -+  AC_SUBST([HAVE_WPRINTF])
> -+
> -+  AM_ICONV
> -+  AM_LANGINFO_CODESET
> -+  if test $ac_cv_header_locale_h = yes; then
> -+    AM_LC_MESSAGES
> -+  fi
> -+
> -+  dnl intl/plural.c is generated from intl/plural.y. It requires bison,
> -+  dnl because plural.y uses bison specific features. It requires at least
> -+  dnl bison-1.26 because earlier versions generate a plural.c that
> doesn't
> -+  dnl compile.
> -+  dnl bison is only needed for the maintainer (who touches plural.y).
> But in
> -+  dnl order to avoid separate Makefiles or --enable-maintainer-mode, we
> put
> -+  dnl the rule in general Makefile. Now, some people carelessly touch the
> -+  dnl files or have a broken "make" program, hence the plural.c rule will
> -+  dnl sometimes fire. To avoid an error, defines BISON to ":" if it is
> not
> -+  dnl present or too old.
> -+  AC_CHECK_PROGS([INTLBISON], [bison])
> -+  if test -z "$INTLBISON"; then
> -+    ac_verc_fail=yes
> -+  else
> -+    dnl Found it, now check the version.
> -+    AC_MSG_CHECKING([version of bison])
> -+changequote(<<,>>)dnl
> -+    ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU
> Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
> -+    case $ac_prog_version in
> -+      '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
> -+      1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
> -+changequote([,])dnl
> -+         ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
> -+      *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
> -+    esac
> -+    AC_MSG_RESULT([$ac_prog_version])
> -+  fi
> -+  if test $ac_verc_fail = yes; then
> -+    INTLBISON=:
> -+  fi
> -+])
> -+
> -+
> -+dnl gt_CHECK_DECL(FUNC, INCLUDES)
> -+dnl Check whether a function is declared.
> -+AC_DEFUN([gt_CHECK_DECL],
> -+[
> -+  AC_CACHE_CHECK([whether $1 is declared], ac_cv_have_decl_$1,
> -+    [AC_TRY_COMPILE([$2], [
> -+#ifndef $1
> -+  char *p = (char *) $1;
> -+#endif
> -+], ac_cv_have_decl_$1=yes, ac_cv_have_decl_$1=no)])
> -+  if test $ac_cv_have_decl_$1 = yes; then
> -+    gt_value=1
> -+  else
> -+    gt_value=0
> -+  fi
> -+  AC_DEFINE_UNQUOTED([HAVE_DECL_]translit($1, [a-z], [A-Z]), [$gt_value],
> -+    [Define to 1 if you have the declaration of `$1', and to 0 if you
> don't.])
> -+])
> -+
> -+
> -+dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version])
> -+AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
> ---- lrzsz-0.12.20.safe/m4/glibc21.m4   1969-12-31 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/m4/glibc21.m4        2004-09-12 14:40:34.833675432 -0400
> -@@ -0,0 +1,32 @@
> -+# glibc21.m4 serial 2 (fileutils-4.1.3, gettext-0.10.40)
> -+dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
> -+dnl This file is free software, distributed under the terms of the GNU
> -+dnl General Public License.  As a special exception to the GNU General
> -+dnl Public License, this file may be distributed as part of a program
> -+dnl that contains a configuration script generated by Autoconf, under
> -+dnl the same distribution terms as the rest of that program.
> -+
> -+# Test for the GNU C Library, version 2.1 or newer.
> -+# From Bruno Haible.
> -+
> -+AC_DEFUN([jm_GLIBC21],
> -+  [
> -+    AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer,
> -+      ac_cv_gnu_library_2_1,
> -+      [AC_EGREP_CPP([Lucky GNU user],
> -+      [
> -+#include <features.h>
> -+#ifdef __GNU_LIBRARY__
> -+ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
> -+  Lucky GNU user
> -+ #endif
> -+#endif
> -+      ],
> -+      ac_cv_gnu_library_2_1=yes,
> -+      ac_cv_gnu_library_2_1=no)
> -+      ]
> -+    )
> -+    AC_SUBST(GLIBC21)
> -+    GLIBC21="$ac_cv_gnu_library_2_1"
> -+  ]
> -+)
> ---- lrzsz-0.12.20.safe/m4/iconv.m4     1969-12-31 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/m4/iconv.m4  2004-09-12 14:40:34.839674520 -0400
> -@@ -0,0 +1,103 @@
> -+# iconv.m4 serial AM4 (gettext-0.11.3)
> -+dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
> -+dnl This file is free software, distributed under the terms of the GNU
> -+dnl General Public License.  As a special exception to the GNU General
> -+dnl Public License, this file may be distributed as part of a program
> -+dnl that contains a configuration script generated by Autoconf, under
> -+dnl the same distribution terms as the rest of that program.
> -+
> -+dnl From Bruno Haible.
> -+
> -+AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
> -+[
> -+  dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
> -+  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
> -+  AC_REQUIRE([AC_LIB_RPATH])
> -+
> -+  dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
> -+  dnl accordingly.
> -+  AC_LIB_LINKFLAGS_BODY([iconv])
> -+])
> -+
> -+AC_DEFUN([AM_ICONV_LINK],
> -+[
> -+  dnl Some systems have iconv in libc, some have it in libiconv (OSF/1
> and
> -+  dnl those with the standalone portable GNU libiconv installed).
> -+
> -+  dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
> -+  dnl accordingly.
> -+  AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
> -+
> -+  dnl Add $INCICONV to CPPFLAGS before performing the following checks,
> -+  dnl because if the user has installed libiconv and not disabled its use
> -+  dnl via --without-libiconv-prefix, he wants to use it. The first
> -+  dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed.
> -+  am_save_CPPFLAGS="$CPPFLAGS"
> -+  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
> -+
> -+  AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
> -+    am_cv_func_iconv="no, consider installing GNU libiconv"
> -+    am_cv_lib_iconv=no
> -+    AC_TRY_LINK([#include <stdlib.h>
> -+#include <iconv.h>],
> -+      [iconv_t cd = iconv_open("","");
> -+       iconv(cd,NULL,NULL,NULL,NULL);
> -+       iconv_close(cd);],
> -+      am_cv_func_iconv=yes)
> -+    if test "$am_cv_func_iconv" != yes; then
> -+      am_save_LIBS="$LIBS"
> -+      LIBS="$LIBS $LIBICONV"
> -+      AC_TRY_LINK([#include <stdlib.h>
> -+#include <iconv.h>],
> -+        [iconv_t cd = iconv_open("","");
> -+         iconv(cd,NULL,NULL,NULL,NULL);
> -+         iconv_close(cd);],
> -+        am_cv_lib_iconv=yes
> -+        am_cv_func_iconv=yes)
> -+      LIBS="$am_save_LIBS"
> -+    fi
> -+  ])
> -+  if test "$am_cv_func_iconv" = yes; then
> -+    AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
> -+  fi
> -+  if test "$am_cv_lib_iconv" = yes; then
> -+    AC_MSG_CHECKING([how to link with libiconv])
> -+    AC_MSG_RESULT([$LIBICONV])
> -+  else
> -+    dnl If $LIBICONV didn't lead to a usable library, we don't need
> $INCICONV
> -+    dnl either.
> -+    CPPFLAGS="$am_save_CPPFLAGS"
> -+    LIBICONV=
> -+    LTLIBICONV=
> -+  fi
> -+  AC_SUBST(LIBICONV)
> -+  AC_SUBST(LTLIBICONV)
> -+])
> -+
> -+AC_DEFUN([AM_ICONV],
> -+[
> -+  AM_ICONV_LINK
> -+  if test "$am_cv_func_iconv" = yes; then
> -+    AC_MSG_CHECKING([for iconv declaration])
> -+    AC_CACHE_VAL(am_cv_proto_iconv, [
> -+      AC_TRY_COMPILE([
> -+#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
> -+], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
> -+      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);"])
> -+    am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e
> 's/( /(/'`
> -+    AC_MSG_RESULT([$]{ac_t:-
> -+         }[$]am_cv_proto_iconv)
> -+    AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
> -+      [Define as const if the declaration of iconv() needs const.])
> -+  fi
> -+])
> ---- lrzsz-0.12.20.safe/m4/intdiv0.m4   1969-12-31 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/m4/intdiv0.m4        2004-09-12 14:40:34.845673608 -0400
> -@@ -0,0 +1,72 @@
> -+# intdiv0.m4 serial 1 (gettext-0.11.3)
> -+dnl Copyright (C) 2002 Free Software Foundation, Inc.
> -+dnl This file is free software, distributed under the terms of the GNU
> -+dnl General Public License.  As a special exception to the GNU General
> -+dnl Public License, this file may be distributed as part of a program
> -+dnl that contains a configuration script generated by Autoconf, under
> -+dnl the same distribution terms as the rest of that program.
> -+
> -+dnl From Bruno Haible.
> -+
> -+AC_DEFUN([gt_INTDIV0],
> -+[
> -+  AC_REQUIRE([AC_PROG_CC])dnl
> -+  AC_REQUIRE([AC_CANONICAL_HOST])dnl
> -+
> -+  AC_CACHE_CHECK([whether integer division by zero raises SIGFPE],
> -+    gt_cv_int_divbyzero_sigfpe,
> -+    [
> -+      AC_TRY_RUN([
> -+#include <stdlib.h>
> -+#include <signal.h>
> -+
> -+static void
> -+#ifdef __cplusplus
> -+sigfpe_handler (int sig)
> -+#else
> -+sigfpe_handler (sig) int sig;
> -+#endif
> -+{
> -+  /* Exit with code 0 if SIGFPE, with code 1 if any other signal.  */
> -+  exit (sig != SIGFPE);
> -+}
> -+
> -+int x = 1;
> -+int y = 0;
> -+int z;
> -+int nan;
> -+
> -+int main ()
> -+{
> -+  signal (SIGFPE, sigfpe_handler);
> -+/* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP.  */
> -+#if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP)
> -+  signal (SIGTRAP, sigfpe_handler);
> -+#endif
> -+/* Linux/SPARC yields signal SIGILL.  */
> -+#if defined (__sparc__) && defined (__linux__)
> -+  signal (SIGILL, sigfpe_handler);
> -+#endif
> -+
> -+  z = x / y;
> -+  nan = y / y;
> -+  exit (1);
> -+}
> -+], gt_cv_int_divbyzero_sigfpe=yes, gt_cv_int_divbyzero_sigfpe=no,
> -+        [
> -+          # Guess based on the CPU.
> -+          case "$host_cpu" in
> -+            alpha* | i[34567]86 | m68k | s390*)
> -+              gt_cv_int_divbyzero_sigfpe="guessing yes";;
> -+            *)
> -+              gt_cv_int_divbyzero_sigfpe="guessing no";;
> -+          esac
> -+        ])
> -+    ])
> -+  case "$gt_cv_int_divbyzero_sigfpe" in
> -+    *yes) value=1;;
> -+    *) value=0;;
> -+  esac
> -+  AC_DEFINE_UNQUOTED(INTDIV0_RAISES_SIGFPE, $value,
> -+    [Define if integer division by zero raises signal SIGFPE.])
> -+])
> ---- lrzsz-0.12.20.safe/m4/intmax.m4    1969-12-31 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/m4/intmax.m4 2004-09-12 14:40:34.855672088 -0400
> -@@ -0,0 +1,32 @@
> -+# intmax.m4 serial 1 (gettext-0.12)
> -+dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
> -+dnl This file is free software, distributed under the terms of the GNU
> -+dnl General Public License.  As a special exception to the GNU General
> -+dnl Public License, this file may be distributed as part of a program
> -+dnl that contains a configuration script generated by Autoconf, under
> -+dnl the same distribution terms as the rest of that program.
> -+
> -+dnl From Bruno Haible.
> -+dnl Test whether the system has the 'intmax_t' type, but don't attempt to
> -+dnl find a replacement if it is lacking.
> -+
> -+AC_DEFUN([gt_TYPE_INTMAX_T],
> -+[
> -+  AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
> -+  AC_REQUIRE([jm_AC_HEADER_STDINT_H])
> -+  AC_CACHE_CHECK(for intmax_t, gt_cv_c_intmax_t,
> -+    [AC_TRY_COMPILE([
> -+#include <stddef.h>
> -+#include <stdlib.h>
> -+#if HAVE_STDINT_H_WITH_UINTMAX
> -+#include <stdint.h>
> -+#endif
> -+#if HAVE_INTTYPES_H_WITH_UINTMAX
> -+#include <inttypes.h>
> -+#endif
> -+], [intmax_t x = -1;], gt_cv_c_intmax_t=yes, gt_cv_c_intmax_t=no)])
> -+  if test $gt_cv_c_intmax_t = yes; then
> -+    AC_DEFINE(HAVE_INTMAX_T, 1,
> -+      [Define if you have the 'intmax_t' type in <stdint.h> or
> <inttypes.h>.])
> -+  fi
> -+])
> ---- lrzsz-0.12.20.safe/m4/inttypes_h.m4        1969-12-31
> 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/m4/inttypes_h.m4     2004-09-12 14:40:34.868670112 -0400
> -@@ -0,0 +1,28 @@
> -+# inttypes_h.m4 serial 5 (gettext-0.12)
> -+dnl Copyright (C) 1997-2003 Free Software Foundation, Inc.
> -+dnl This file is free software, distributed under the terms of the GNU
> -+dnl General Public License.  As a special exception to the GNU General
> -+dnl Public License, this file may be distributed as part of a program
> -+dnl that contains a configuration script generated by Autoconf, under
> -+dnl the same distribution terms as the rest of that program.
> -+
> -+dnl From Paul Eggert.
> -+
> -+# Define HAVE_INTTYPES_H_WITH_UINTMAX if <inttypes.h> exists,
> -+# doesn't clash with <sys/types.h>, and declares uintmax_t.
> -+
> -+AC_DEFUN([jm_AC_HEADER_INTTYPES_H],
> -+[
> -+  AC_CACHE_CHECK([for inttypes.h], jm_ac_cv_header_inttypes_h,
> -+  [AC_TRY_COMPILE(
> -+    [#include <sys/types.h>
> -+#include <inttypes.h>],
> -+    [uintmax_t i = (uintmax_t) -1;],
> -+    jm_ac_cv_header_inttypes_h=yes,
> -+    jm_ac_cv_header_inttypes_h=no)])
> -+  if test $jm_ac_cv_header_inttypes_h = yes; then
> -+    AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1,
> -+      [Define if <inttypes.h> exists, doesn't clash with <sys/types.h>,
> -+       and declares uintmax_t. ])
> -+  fi
> -+])
> ---- lrzsz-0.12.20.safe/m4/inttypes.m4  1969-12-31 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/m4/inttypes.m4       2004-09-12 14:40:34.861671176 -0400
> -@@ -0,0 +1,27 @@
> -+# inttypes.m4 serial 1 (gettext-0.11.4)
> -+dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
> -+dnl This file is free software, distributed under the terms of the GNU
> -+dnl General Public License.  As a special exception to the GNU General
> -+dnl Public License, this file may be distributed as part of a program
> -+dnl that contains a configuration script generated by Autoconf, under
> -+dnl the same distribution terms as the rest of that program.
> -+
> -+dnl From Paul Eggert.
> -+
> -+# Define HAVE_INTTYPES_H if <inttypes.h> exists and doesn't clash with
> -+# <sys/types.h>.
> -+
> -+AC_DEFUN([gt_HEADER_INTTYPES_H],
> -+[
> -+  AC_CACHE_CHECK([for inttypes.h], gt_cv_header_inttypes_h,
> -+  [
> -+    AC_TRY_COMPILE(
> -+      [#include <sys/types.h>
> -+#include <inttypes.h>],
> -+      [], gt_cv_header_inttypes_h=yes, gt_cv_header_inttypes_h=no)
> -+  ])
> -+  if test $gt_cv_header_inttypes_h = yes; then
> -+    AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H, 1,
> -+      [Define if <inttypes.h> exists and doesn't clash with
> <sys/types.h>.])
> -+  fi
> -+])
> ---- lrzsz-0.12.20.safe/m4/inttypes-pri.m4      1969-12-31
> 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/m4/inttypes-pri.m4   2004-09-12 14:40:34.874669200 -0400
> -@@ -0,0 +1,32 @@
> -+# inttypes-pri.m4 serial 1 (gettext-0.11.4)
> -+dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
> -+dnl This file is free software, distributed under the terms of the GNU
> -+dnl General Public License.  As a special exception to the GNU General
> -+dnl Public License, this file may be distributed as part of a program
> -+dnl that contains a configuration script generated by Autoconf, under
> -+dnl the same distribution terms as the rest of that program.
> -+
> -+dnl From Bruno Haible.
> -+
> -+# Define PRI_MACROS_BROKEN if <inttypes.h> exists and defines the PRI*
> -+# macros to non-string values.  This is the case on AIX 4.3.3.
> -+
> -+AC_DEFUN([gt_INTTYPES_PRI],
> -+[
> -+  AC_REQUIRE([gt_HEADER_INTTYPES_H])
> -+  if test $gt_cv_header_inttypes_h = yes; then
> -+    AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken],
> -+      gt_cv_inttypes_pri_broken,
> -+      [
> -+        AC_TRY_COMPILE([#include <inttypes.h>
> -+#ifdef PRId32
> -+char *p = PRId32;
> -+#endif
> -+], [], gt_cv_inttypes_pri_broken=no, gt_cv_inttypes_pri_broken=yes)
> -+      ])
> -+  fi
> -+  if test "$gt_cv_inttypes_pri_broken" = yes; then
> -+    AC_DEFINE_UNQUOTED(PRI_MACROS_BROKEN, 1,
> -+      [Define if <inttypes.h> exists and defines unusable PRI* macros.])
> -+  fi
> -+])
> ---- lrzsz-0.12.20.safe/m4/isc-posix.m4 1969-12-31 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/m4/isc-posix.m4      2004-09-12 14:40:34.885667528 -0400
> -@@ -0,0 +1,26 @@
> -+# isc-posix.m4 serial 2 (gettext-0.11.2)
> -+dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
> -+dnl This file is free software, distributed under the terms of the GNU
> -+dnl General Public License.  As a special exception to the GNU General
> -+dnl Public License, this file may be distributed as part of a program
> -+dnl that contains a configuration script generated by Autoconf, under
> -+dnl the same distribution terms as the rest of that program.
> -+
> -+# This file is not needed with autoconf-2.53 and newer.  Remove it in
> 2005.
> -+
> -+# This test replaces the one in autoconf.
> -+# Currently this macro should have the same name as the autoconf macro
> -+# because gettext's gettext.m4 (distributed in the automake package)
> -+# still uses it.  Otherwise, the use in gettext.m4 makes autoheader
> -+# give these diagnostics:
> -+#   configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX
> -+#   configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX
> -+
> -+undefine([AC_ISC_POSIX])
> -+
> -+AC_DEFUN([AC_ISC_POSIX],
> -+  [
> -+    dnl This test replaces the obsolescent AC_ISC_POSIX kludge.
> -+    AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"])
> -+  ]
> -+)
> ---- lrzsz-0.12.20.safe/m4/lcmessage.m4 1969-12-31 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/m4/lcmessage.m4      2004-09-12 14:40:34.902664944 -0400
> -@@ -0,0 +1,32 @@
> -+# lcmessage.m4 serial 3 (gettext-0.11.3)
> -+dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
> -+dnl This file is free software, distributed under the terms of the GNU
> -+dnl General Public License.  As a special exception to the GNU General
> -+dnl Public License, this file may be distributed as part of a program
> -+dnl that contains a configuration script generated by Autoconf, under
> -+dnl the same distribution terms as the rest of that program.
> -+dnl
> -+dnl This file can 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 They are *not* in the public domain.
> -+
> -+dnl Authors:
> -+dnl   Ulrich Drepper <drepper at cygnus.com>, 1995.
> -+
> -+# Check whether LC_MESSAGES is available in <locale.h>.
> -+
> -+AC_DEFUN([AM_LC_MESSAGES],
> -+[
> -+  AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
> -+    [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
> -+       am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
> -+  if test $am_cv_val_LC_MESSAGES = yes; then
> -+    AC_DEFINE(HAVE_LC_MESSAGES, 1,
> -+      [Define if your <locale.h> file defines LC_MESSAGES.])
> -+  fi
> -+])
> ---- lrzsz-0.12.20.safe/m4/lib-ld.m4    1969-12-31 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/m4/lib-ld.m4 2004-09-12 14:40:34.908664032 -0400
> -@@ -0,0 +1,112 @@
> -+# lib-ld.m4 serial 3 (gettext-0.13)
> -+dnl Copyright (C) 1996-2003 Free Software Foundation, Inc.
> -+dnl This file is free software, distributed under the terms of the GNU
> -+dnl General Public License.  As a special exception to the GNU General
> -+dnl Public License, this file may be distributed as part of a program
> -+dnl that contains a configuration script generated by Autoconf, under
> -+dnl the same distribution terms as the rest of that program.
> -+
> -+dnl Subroutines of libtool.m4,
> -+dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid
> collision
> -+dnl with libtool.m4.
> -+
> -+dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no.
> -+AC_DEFUN([AC_LIB_PROG_LD_GNU],
> -+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld,
> -+[# I'd rather use --version here, but apparently some GNU ld's 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])
> -+with_gnu_ld=$acl_cv_prog_gnu_ld
> -+])
> -+
> -+dnl From libtool-1.4. Sets the variable LD.
> -+AC_DEFUN([AC_LIB_PROG_LD],
> -+[AC_ARG_WITH(gnu-ld,
> -+[  --with-gnu-ld           assume the C compiler uses GNU ld
> [default=no]],
> -+test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
> -+AC_REQUIRE([AC_PROG_CC])dnl
> -+AC_REQUIRE([AC_CANONICAL_HOST])dnl
> -+# 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
> -+ac_prog=ld
> -+if test "$GCC" = yes; then
> -+  # Check if gcc -print-prog-name=ld gives a path.
> -+  AC_MSG_CHECKING([for ld used by GCC])
> -+  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.
> -+    [[\\/]* | [A-Za-z]:[\\/]*)]
> -+      [re_direlt='/[^/][^/]*/\.\./']
> -+      # Canonicalize the path 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
> -+  IFS="${IFS=         }"; ac_save_ifs="$IFS";
> IFS="${IFS}${PATH_SEPARATOR-:}"
> -+  for ac_dir in $PATH; do
> -+    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 GNU ld's 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="$ac_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 "$LD"; then
> -+  AC_MSG_RESULT($LD)
> -+else
> -+  AC_MSG_RESULT(no)
> -+fi
> -+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
> -+AC_LIB_PROG_LD_GNU
> -+])
> ---- lrzsz-0.12.20.safe/m4/lib-link.m4  1969-12-31 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/m4/lib-link.m4       2004-09-12 14:40:34.914663120 -0400
> -@@ -0,0 +1,551 @@
> -+# lib-link.m4 serial 4 (gettext-0.12)
> -+dnl Copyright (C) 2001-2003 Free Software Foundation, Inc.
> -+dnl This file is free software, distributed under the terms of the GNU
> -+dnl General Public License.  As a special exception to the GNU General
> -+dnl Public License, this file may be distributed as part of a program
> -+dnl that contains a configuration script generated by Autoconf, under
> -+dnl the same distribution terms as the rest of that program.
> -+
> -+dnl From Bruno Haible.
> -+
> -+dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
> -+dnl the libraries corresponding to explicit and implicit dependencies.
> -+dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
> -+dnl augments the CPPFLAGS variable.
> -+AC_DEFUN([AC_LIB_LINKFLAGS],
> -+[
> -+  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
> -+  AC_REQUIRE([AC_LIB_RPATH])
> -+  define([Name],[translit([$1],[./-], [___])])
> -+  define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
> -+                               [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
> -+  AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
> -+    AC_LIB_LINKFLAGS_BODY([$1], [$2])
> -+    ac_cv_lib[]Name[]_libs="$LIB[]NAME"
> -+    ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
> -+    ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
> -+  ])
> -+  LIB[]NAME="$ac_cv_lib[]Name[]_libs"
> -+  LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
> -+  INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
> -+  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
> -+  AC_SUBST([LIB]NAME)
> -+  AC_SUBST([LTLIB]NAME)
> -+  dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
> -+  dnl results of this search when this library appears as a dependency.
> -+  HAVE_LIB[]NAME=yes
> -+  undefine([Name])
> -+  undefine([NAME])
> -+])
> -+
> -+dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode)
> -+dnl searches for libname and the libraries corresponding to explicit and
> -+dnl implicit dependencies, together with the specified include files and
> -+dnl the ability to compile and link the specified testcode. If found, it
> -+dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and
> -+dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and
> -+dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
> -+dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
> -+AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
> -+[
> -+  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
> -+  AC_REQUIRE([AC_LIB_RPATH])
> -+  define([Name],[translit([$1],[./-], [___])])
> -+  define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
> -+                               [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
> -+
> -+  dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and
> INC[]NAME
> -+  dnl accordingly.
> -+  AC_LIB_LINKFLAGS_BODY([$1], [$2])
> -+
> -+  dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
> -+  dnl because if the user has installed lib[]Name and not disabled its
> use
> -+  dnl via --without-lib[]Name-prefix, he wants to use it.
> -+  ac_save_CPPFLAGS="$CPPFLAGS"
> -+  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
> -+
> -+  AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
> -+    ac_save_LIBS="$LIBS"
> -+    LIBS="$LIBS $LIB[]NAME"
> -+    AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no])
> -+    LIBS="$ac_save_LIBS"
> -+  ])
> -+  if test "$ac_cv_lib[]Name" = yes; then
> -+    HAVE_LIB[]NAME=yes
> -+    AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.])
> -+    AC_MSG_CHECKING([how to link with lib[]$1])
> -+    AC_MSG_RESULT([$LIB[]NAME])
> -+  else
> -+    HAVE_LIB[]NAME=no
> -+    dnl If $LIB[]NAME didn't lead to a usable library, we don't need
> -+    dnl $INC[]NAME either.
> -+    CPPFLAGS="$ac_save_CPPFLAGS"
> -+    LIB[]NAME=
> -+    LTLIB[]NAME=
> -+  fi
> -+  AC_SUBST([HAVE_LIB]NAME)
> -+  AC_SUBST([LIB]NAME)
> -+  AC_SUBST([LTLIB]NAME)
> -+  undefine([Name])
> -+  undefine([NAME])
> -+])
> -+
> -+dnl Determine the platform dependent parameters needed to use rpath:
> -+dnl libext, shlibext, hardcode_libdir_flag_spec,
> hardcode_libdir_separator,
> -+dnl hardcode_direct, hardcode_minus_L.
> -+AC_DEFUN([AC_LIB_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
> -+  AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
> -+  AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [
> -+    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
> -+  ])
> -+  wl="$acl_cv_wl"
> -+  libext="$acl_cv_libext"
> -+  shlibext="$acl_cv_shlibext"
> -+  hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
> -+  hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
> -+  hardcode_direct="$acl_cv_hardcode_direct"
> -+  hardcode_minus_L="$acl_cv_hardcode_minus_L"
> -+  dnl Determine whether the user wants rpath handling at all.
> -+  AC_ARG_ENABLE(rpath,
> -+    [  --disable-rpath         do not hardcode runtime library paths],
> -+    :, enable_rpath=yes)
> -+])
> -+
> -+dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
> -+dnl the libraries corresponding to explicit and implicit dependencies.
> -+dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
> -+AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
> -+[
> -+  define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
> -+                               [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
> -+  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_LIB_ARG_WITH([lib$1-prefix],
> -+[  --with-lib$1-prefix[=DIR]  search for lib$1 in DIR/include and DIR/lib
> -+  --without-lib$1-prefix     don't search for lib$1 in includedir and
> libdir],
> -+[
> -+    if test "X$withval" = "Xno"; then
> -+      use_additional=no
> -+    else
> -+      if test "X$withval" = "X"; then
> -+        AC_LIB_WITH_FINAL_PREFIX([
> -+          eval additional_includedir=\"$includedir\"
> -+          eval additional_libdir=\"$libdir\"
> -+        ])
> -+      else
> -+        additional_includedir="$withval/include"
> -+        additional_libdir="$withval/lib"
> -+      fi
> -+    fi
> -+])
> -+  dnl Search the library and its dependencies in $additional_libdir and
> -+  dnl $LDFLAGS. Using breadth-first-seach.
> -+  LIB[]NAME=
> -+  LTLIB[]NAME=
> -+  INC[]NAME=
> -+  rpathdirs=
> -+  ltrpathdirs=
> -+  names_already_handled=
> -+  names_next_round='$1 $2'
> -+  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"
> -+        dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
> -+        dnl or AC_LIB_HAVE_LINKFLAGS call.
> -+        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" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+
> }$value"
> -+            eval value=\"\$LTLIB$uppername\"
> -+            test -z "$value" ||
> LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
> -+          else
> -+            dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
> -+            dnl that this library doesn't exist. So just drop it.
> -+            :
> -+          fi
> -+        else
> -+          dnl Search the library lib$name in $additional_libdir and
> $LDFLAGS
> -+          dnl and the already constructed $LIBNAME/$LTLIBNAME.
> -+          found_dir=
> -+          found_la=
> -+          found_so=
> -+          found_a=
> -+          if test $use_additional = yes; then
> -+            if test -n "$shlibext" && test -f
> "$additional_libdir/lib$name.$shlibext"; then
> -+              found_dir="$additional_libdir"
> -+              found_so="$additional_libdir/lib$name.$shlibext"
> -+              if test -f "$additional_libdir/lib$name.la"; then
> -+                found_la="$additional_libdir/lib$name.la"
> -+              fi
> -+            else
> -+              if test -f "$additional_libdir/lib$name.$libext"; then
> -+                found_dir="$additional_libdir"
> -+                found_a="$additional_libdir/lib$name.$libext"
> -+                if test -f "$additional_libdir/lib$name.la"; then
> -+                  found_la="$additional_libdir/lib$name.la"
> -+                fi
> -+              fi
> -+            fi
> -+          fi
> -+          if test "X$found_dir" = "X"; then
> -+            for x in $LDFLAGS $LTLIB[]NAME; do
> -+              AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
> -+              case "$x" in
> -+                -L*)
> -+                  dir=`echo "X$x" | sed -e 's/^X-L//'`
> -+                  if test -n "$shlibext" && test -f
> "$dir/lib$name.$shlibext"; then
> -+                    found_dir="$dir"
> -+                    found_so="$dir/lib$name.$shlibext"
> -+                    if test -f "$dir/lib$name.la"; then
> -+                      found_la="$dir/lib$name.la"
> -+                    fi
> -+                  else
> -+                    if test -f "$dir/lib$name.$libext"; then
> -+                      found_dir="$dir"
> -+                      found_a="$dir/lib$name.$libext"
> -+                      if test -f "$dir/lib$name.la"; then
> -+                        found_la="$dir/lib$name.la"
> -+                      fi
> -+                    fi
> -+                  fi
> -+                  ;;
> -+              esac
> -+              if test "X$found_dir" != "X"; then
> -+                break
> -+              fi
> -+            done
> -+          fi
> -+          if test "X$found_dir" != "X"; then
> -+            dnl Found the library.
> -+            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir
> -l$name"
> -+            if test "X$found_so" != "X"; then
> -+              dnl Linking with a shared library. We attempt to hardcode
> its
> -+              dnl directory into the executable's runpath, unless it's
> the
> -+              dnl standard /usr/lib.
> -+              if test "$enable_rpath" = no || test "X$found_dir" =
> "X/usr/lib"; then
> -+                dnl No hardcoding is needed.
> -+                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
> -+              else
> -+                dnl Use an explicit option to hardcode DIR into the
> resulting
> -+                dnl binary.
> -+                dnl Potentially add DIR to ltrpathdirs.
> -+                dnl The ltrpathdirs will be appended to $LTLIBNAME at
> the end.
> -+                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
> -+                dnl The hardcoding into $LIBNAME is system dependent.
> -+                if test "$hardcode_direct" = yes; then
> -+                  dnl Using DIR/libNAME.so during linking hardcodes DIR
> into the
> -+                  dnl resulting binary.
> -+                  LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
> -+                else
> -+                  if test -n "$hardcode_libdir_flag_spec" && test
> "$hardcode_minus_L" = no; then
> -+                    dnl Use an explicit option to hardcode DIR into the
> resulting
> -+                    dnl binary.
> -+                    LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
> -+                    dnl Potentially add DIR to rpathdirs.
> -+                    dnl The rpathdirs will be appended to $LIBNAME at
> the end.
> -+                    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
> -+                    dnl Rely on "-L$found_dir".
> -+                    dnl But don't add it if it's already contained in
> the LDFLAGS
> -+                    dnl or the already constructed $LIBNAME
> -+                    haveit=
> -+                    for x in $LDFLAGS $LIB[]NAME; do
> -+                      AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
> -+                      if test "X$x" = "X-L$found_dir"; then
> -+                        haveit=yes
> -+                        break
> -+                      fi
> -+                    done
> -+                    if test -z "$haveit"; then
> -+                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
> -+                    fi
> -+                    if test "$hardcode_minus_L" != no; then
> -+                      dnl FIXME: Not sure whether we should use
> -+                      dnl "-L$found_dir -l$name" or "-L$found_dir
> $found_so"
> -+                      dnl here.
> -+                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
> -+                    else
> -+                      dnl We cannot use $hardcode_runpath_var and
> LD_RUN_PATH
> -+                      dnl here, because this doesn't fit in flags passed
> to the
> -+                      dnl compiler. So give up. No hardcoding. This
> affects only
> -+                      dnl very old systems.
> -+                      dnl FIXME: Not sure whether we should use
> -+                      dnl "-L$found_dir -l$name" or "-L$found_dir
> $found_so"
> -+                      dnl here.
> -+                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
> -+                    fi
> -+                  fi
> -+                fi
> -+              fi
> -+            else
> -+              if test "X$found_a" != "X"; then
> -+                dnl Linking with a static library.
> -+                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
> -+              else
> -+                dnl We shouldn't come here, but anyway it's good to have
> a
> -+                dnl fallback.
> -+                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir
> -l$name"
> -+              fi
> -+            fi
> -+            dnl Assume the include files are nearby.
> -+            additional_includedir=
> -+            case "$found_dir" in
> -+              */lib | */lib/)
> -+                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e
> 's,/lib/*$,,'`
> -+                additional_includedir="$basedir/include"
> -+                ;;
> -+            esac
> -+            if test "X$additional_includedir" != "X"; then
> -+              dnl Potentially add $additional_includedir to $INCNAME.
> -+              dnl But don't add it
> -+              dnl   1. if it's the standard /usr/include,
> -+              dnl   2. if it's /usr/local/include and we are using GCC
> on Linux,
> -+              dnl   3. if it's already present in $CPPFLAGS or the
> already
> -+              dnl      constructed $INCNAME,
> -+              dnl   4. if it doesn't exist as a directory.
> -+              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*) haveit=yes;;
> -+                    esac
> -+                  fi
> -+                fi
> -+                if test -z "$haveit"; then
> -+                  for x in $CPPFLAGS $INC[]NAME; do
> -+                    AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
> -+                    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
> -+                      dnl Really add $additional_includedir to $INCNAME.
> -+                      INC[]NAME="${INC[]NAME}${INC[]NAME:+
> }-I$additional_includedir"
> -+                    fi
> -+                  fi
> -+                fi
> -+              fi
> -+            fi
> -+            dnl Look for dependencies.
> -+            if test -n "$found_la"; then
> -+              dnl Read the .la file. It defines the variables
> -+              dnl dlname, library_names, old_library, dependency_libs,
> current,
> -+              dnl age, revision, installed, dlopen, dlpreopen, libdir.
> -+              save_libdir="$libdir"
> -+              case "$found_la" in
> -+                */* | *\\*) . "$found_la" ;;
> -+                *) . "./$found_la" ;;
> -+              esac
> -+              libdir="$save_libdir"
> -+              dnl We use only dependency_libs.
> -+              for dep in $dependency_libs; do
> -+                case "$dep" in
> -+                  -L*)
> -+                    additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
> -+                    dnl Potentially add $additional_libdir to $LIBNAME
> and $LTLIBNAME.
> -+                    dnl But don't add it
> -+                    dnl   1. if it's the standard /usr/lib,
> -+                    dnl   2. if it's /usr/local/lib and we are using GCC
> on Linux,
> -+                    dnl   3. if it's already present in $LDFLAGS or the
> already
> -+                    dnl      constructed $LIBNAME,
> -+                    dnl   4. if it doesn't exist as a directory.
> -+                    if test "X$additional_libdir" != "X/usr/lib"; then
> -+                      haveit=
> -+                      if test "X$additional_libdir" = "X/usr/local/lib";
> then
> -+                        if test -n "$GCC"; then
> -+                          case $host_os in
> -+                            linux*) haveit=yes;;
> -+                          esac
> -+                        fi
> -+                      fi
> -+                      if test -z "$haveit"; then
> -+                        haveit=
> -+                        for x in $LDFLAGS $LIB[]NAME; do
> -+                          AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
> -+                          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
> -+                            dnl Really add $additional_libdir to
> $LIBNAME.
> -+                            LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+
> }-L$additional_libdir"
> -+                          fi
> -+                        fi
> -+                        haveit=
> -+                        for x in $LDFLAGS $LTLIB[]NAME; do
> -+                          AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
> -+                          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
> -+                            dnl Really add $additional_libdir to
> $LTLIBNAME.
> -+                            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+
> }-L$additional_libdir"
> -+                          fi
> -+                        fi
> -+                      fi
> -+                    fi
> -+                    ;;
> -+                  -R*)
> -+                    dir=`echo "X$dep" | sed -e 's/^X-R//'`
> -+                    if test "$enable_rpath" != no; then
> -+                      dnl Potentially add DIR to rpathdirs.
> -+                      dnl The rpathdirs will be appended to $LIBNAME at
> the end.
> -+                      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
> -+                      dnl Potentially add DIR to ltrpathdirs.
> -+                      dnl The ltrpathdirs will be appended to $LTLIBNAME
> at the end.
> -+                      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*)
> -+                    dnl Handle this in the next round.
> -+                    names_next_round="$names_next_round "`echo "X$dep" |
> sed -e 's/^X-l//'`
> -+                    ;;
> -+                  *.la)
> -+                    dnl Handle this in the next round. Throw away the
> .la's
> -+                    dnl directory; it is already contained in a
> preceding -L
> -+                    dnl option.
> -+                    names_next_round="$names_next_round "`echo "X$dep" |
> sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
> -+                    ;;
> -+                  *)
> -+                    dnl Most likely an immediate library name.
> -+                    LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
> -+                    LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
> -+                    ;;
> -+                esac
> -+              done
> -+            fi
> -+          else
> -+            dnl Didn't find the library; assume it is in the system
> directories
> -+            dnl known to the linker and runtime loader. (All the system
> -+            dnl directories known to the linker should also be known to
> the
> -+            dnl runtime loader, otherwise the system is severely
> misconfigured.)
> -+            LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
> -+            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
> -+          fi
> -+        fi
> -+      fi
> -+    done
> -+  done
> -+  if test "X$rpathdirs" != "X"; then
> -+    if test -n "$hardcode_libdir_separator"; then
> -+      dnl Weird platform: only the last -rpath option counts, the user
> must
> -+      dnl pass all path elements in one option. We can arrange that for a
> -+      dnl single library, but not when more than one $LIBNAMEs are used.
> -+      alldirs=
> -+      for found_dir in $rpathdirs; do
> -+
> alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
> -+      done
> -+      dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl.
> -+      acl_save_libdir="$libdir"
> -+      libdir="$alldirs"
> -+      eval flag=\"$hardcode_libdir_flag_spec\"
> -+      libdir="$acl_save_libdir"
> -+      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
> -+    else
> -+      dnl The -rpath options are cumulative.
> -+      for found_dir in $rpathdirs; do
> -+        acl_save_libdir="$libdir"
> -+        libdir="$found_dir"
> -+        eval flag=\"$hardcode_libdir_flag_spec\"
> -+        libdir="$acl_save_libdir"
> -+        LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
> -+      done
> -+    fi
> -+  fi
> -+  if test "X$ltrpathdirs" != "X"; then
> -+    dnl When using libtool, the option that works for both libraries and
> -+    dnl executables is -R. The -R options are cumulative.
> -+    for found_dir in $ltrpathdirs; do
> -+      LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
> -+    done
> -+  fi
> -+])
> -+
> -+dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS
> to VAR,
> -+dnl unless already present in VAR.
> -+dnl Works only for CPPFLAGS, not for LIB* variables because that
> sometimes
> -+dnl contains two or three consecutive elements that belong together.
> -+AC_DEFUN([AC_LIB_APPENDTOVAR],
> -+[
> -+  for element in [$2]; do
> -+    haveit=
> -+    for x in $[$1]; do
> -+      AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
> -+      if test "X$x" = "X$element"; then
> -+        haveit=yes
> -+        break
> -+      fi
> -+    done
> -+    if test -z "$haveit"; then
> -+      [$1]="${[$1]}${[$1]:+ }$element"
> -+    fi
> -+  done
> -+])
> ---- lrzsz-0.12.20.safe/m4/lib-prefix.m4        1969-12-31
> 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/m4/lib-prefix.m4     2004-09-12 14:40:34.921662056 -0400
> -@@ -0,0 +1,155 @@
> -+# lib-prefix.m4 serial 3 (gettext-0.13)
> -+dnl Copyright (C) 2001-2003 Free Software Foundation, Inc.
> -+dnl This file is free software, distributed under the terms of the GNU
> -+dnl General Public License.  As a special exception to the GNU General
> -+dnl Public License, this file may be distributed as part of a program
> -+dnl that contains a configuration script generated by Autoconf, under
> -+dnl the same distribution terms as the rest of that program.
> -+
> -+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
> -+dnl with the same --prefix option.
> -+dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
> -+dnl libraries, but is otherwise very convenient.
> -+AC_DEFUN([AC_LIB_PREFIX],
> -+[
> -+  AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
> -+  AC_REQUIRE([AC_PROG_CC])
> -+  AC_REQUIRE([AC_CANONICAL_HOST])
> -+  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
> -+  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_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],
> -+[
> -+    if test "X$withval" = "Xno"; then
> -+      use_additional=no
> -+    else
> -+      if test "X$withval" = "X"; then
> -+        AC_LIB_WITH_FINAL_PREFIX([
> -+          eval additional_includedir=\"$includedir\"
> -+          eval additional_libdir=\"$libdir\"
> -+        ])
> -+      else
> -+        additional_includedir="$withval/include"
> -+        additional_libdir="$withval/lib"
> -+      fi
> -+    fi
> -+])
> -+  if test $use_additional = yes; then
> -+    dnl Potentially add $additional_includedir to $CPPFLAGS.
> -+    dnl But don't add it
> -+    dnl   1. if it's the standard /usr/include,
> -+    dnl   2. if it's already present in $CPPFLAGS,
> -+    dnl   3. if it's /usr/local/include and we are using GCC on Linux,
> -+    dnl   4. if it doesn't exist as a directory.
> -+    if test "X$additional_includedir" != "X/usr/include"; then
> -+      haveit=
> -+      for x in $CPPFLAGS; do
> -+        AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
> -+        if test "X$x" = "X-I$additional_includedir"; then
> -+          haveit=yes
> -+          break
> -+        fi
> -+      done
> -+      if test -z "$haveit"; then
> -+        if test "X$additional_includedir" = "X/usr/local/include"; then
> -+          if test -n "$GCC"; then
> -+            case $host_os in
> -+              linux*) haveit=yes;;
> -+            esac
> -+          fi
> -+        fi
> -+        if test -z "$haveit"; then
> -+          if test -d "$additional_includedir"; then
> -+            dnl Really add $additional_includedir to $CPPFLAGS.
> -+            CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
> -+          fi
> -+        fi
> -+      fi
> -+    fi
> -+    dnl Potentially add $additional_libdir to $LDFLAGS.
> -+    dnl But don't add it
> -+    dnl   1. if it's the standard /usr/lib,
> -+    dnl   2. if it's already present in $LDFLAGS,
> -+    dnl   3. if it's /usr/local/lib and we are using GCC on Linux,
> -+    dnl   4. if it doesn't exist as a directory.
> -+    if test "X$additional_libdir" != "X/usr/lib"; then
> -+      haveit=
> -+      for x in $LDFLAGS; do
> -+        AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
> -+        if test "X$x" = "X-L$additional_libdir"; then
> -+          haveit=yes
> -+          break
> -+        fi
> -+      done
> -+      if test -z "$haveit"; then
> -+        if test "X$additional_libdir" = "X/usr/local/lib"; then
> -+          if test -n "$GCC"; then
> -+            case $host_os in
> -+              linux*) haveit=yes;;
> -+            esac
> -+          fi
> -+        fi
> -+        if test -z "$haveit"; then
> -+          if test -d "$additional_libdir"; then
> -+            dnl Really add $additional_libdir to $LDFLAGS.
> -+            LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
> -+          fi
> -+        fi
> -+      fi
> -+    fi
> -+  fi
> -+])
> -+
> -+dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,
> -+dnl acl_final_exec_prefix, containing the values to which $prefix and
> -+dnl $exec_prefix will expand at the end of the configure script.
> -+AC_DEFUN([AC_LIB_PREPARE_PREFIX],
> -+[
> -+  dnl Unfortunately, prefix and exec_prefix get only finally determined
> -+  dnl at the end of configure.
> -+  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"
> -+])
> -+
> -+dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
> -+dnl variables prefix and exec_prefix bound to the values they will have
> -+dnl at the end of the configure script.
> -+AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
> -+[
> -+  acl_save_prefix="$prefix"
> -+  prefix="$acl_final_prefix"
> -+  acl_save_exec_prefix="$exec_prefix"
> -+  exec_prefix="$acl_final_exec_prefix"
> -+  $1
> -+  exec_prefix="$acl_save_exec_prefix"
> -+  prefix="$acl_save_prefix"
> -+])
> ---- lrzsz-0.12.20.safe/m4/longdouble.m4        1969-12-31
> 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/m4/longdouble.m4     2004-09-12 14:40:34.942658864 -0400
> -@@ -0,0 +1,30 @@
> -+# longdouble.m4 serial 1 (gettext-0.12)
> -+dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
> -+dnl This file is free software, distributed under the terms of the GNU
> -+dnl General Public License.  As a special exception to the GNU General
> -+dnl Public License, this file may be distributed as part of a program
> -+dnl that contains a configuration script generated by Autoconf, under
> -+dnl the same distribution terms as the rest of that program.
> -+
> -+dnl From Bruno Haible.
> -+dnl Test whether the compiler supports the 'long double' type.
> -+dnl Prerequisite: AC_PROG_CC
> -+
> -+AC_DEFUN([gt_TYPE_LONGDOUBLE],
> -+[
> -+  AC_CACHE_CHECK([for long double], gt_cv_c_long_double,
> -+    [if test "$GCC" = yes; then
> -+       gt_cv_c_long_double=yes
> -+     else
> -+       AC_TRY_COMPILE([
> -+         /* The Stardent Vistra knows sizeof(long double), but does not
> support it.  */
> -+         long double foo = 0.0;
> -+         /* On Ultrix 4.3 cc, long double is 4 and double is 8.  */
> -+         int array [2*(sizeof(long double) >= sizeof(double)) - 1];
> -+         ], ,
> -+         gt_cv_c_long_double=yes, gt_cv_c_long_double=no)
> -+     fi])
> -+  if test $gt_cv_c_long_double = yes; then
> -+    AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the 'long double'
> type.])
> -+  fi
> -+])
> ---- lrzsz-0.12.20.safe/m4/longlong.m4  1969-12-31 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/m4/longlong.m4       2004-09-12 14:40:34.949657800 -0400
> -@@ -0,0 +1,25 @@
> -+# longlong.m4 serial 4
> -+dnl Copyright (C) 1999-2003 Free Software Foundation, Inc.
> -+dnl This file is free software, distributed under the terms of the GNU
> -+dnl General Public License.  As a special exception to the GNU General
> -+dnl Public License, this file may be distributed as part of a program
> -+dnl that contains a configuration script generated by Autoconf, under
> -+dnl the same distribution terms as the rest of that program.
> -+
> -+dnl From Paul Eggert.
> -+
> -+# Define HAVE_LONG_LONG if 'long long' works.
> -+
> -+AC_DEFUN([jm_AC_TYPE_LONG_LONG],
> -+[
> -+  AC_CACHE_CHECK([for long long], ac_cv_type_long_long,
> -+  [AC_TRY_LINK([long long ll = 1LL; int i = 63;],
> -+    [long long llmax = (long long) -1;
> -+     return ll << i | ll >> i | llmax / ll | llmax % ll;],
> -+    ac_cv_type_long_long=yes,
> -+    ac_cv_type_long_long=no)])
> -+  if test $ac_cv_type_long_long = yes; then
> -+    AC_DEFINE(HAVE_LONG_LONG, 1,
> -+      [Define if you have the 'long long' type.])
> -+  fi
> -+])
> ---- lrzsz-0.12.20.safe/m4/Makefile.am  1969-12-31 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/m4/Makefile.am       2004-09-12 14:40:35.048642752 -0400
> -@@ -0,0 +1 @@
> -+EXTRA_DIST = codeset.m4 gettext.m4 glibc21.m4 iconv.m4 intdiv0.m4
> intmax.m4 inttypes.m4 inttypes_h.m4 inttypes-pri.m4 isc-posix.m4
> lcmessage.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 longdouble.m4 longlong.m4
> nls.m4 po.m4 printf-posix.m4 progtest.m4 signed.m4 size_max.m4 stdint_h.m4
> uintmax_t.m4 ulonglong.m4 wchar_t.m4 wint_t.m4 xsize.m4
> ---- lrzsz-0.12.20.safe/m4/nls.m4       1969-12-31 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/m4/nls.m4    2004-09-12 14:40:34.955656888 -0400
> -@@ -0,0 +1,49 @@
> -+# nls.m4 serial 1 (gettext-0.12)
> -+dnl Copyright (C) 1995-2003 Free Software Foundation, Inc.
> -+dnl This file is free software, distributed under the terms of the GNU
> -+dnl General Public License.  As a special exception to the GNU General
> -+dnl Public License, this file may be distributed as part of a program
> -+dnl that contains a configuration script generated by Autoconf, under
> -+dnl the same distribution terms as the rest of that program.
> -+dnl
> -+dnl This file can 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 They are *not* in the public domain.
> -+
> -+dnl Authors:
> -+dnl   Ulrich Drepper <drepper at cygnus.com>, 1995-2000.
> -+dnl   Bruno Haible <haible at clisp.cons.org>, 2000-2003.
> -+
> -+AC_DEFUN([AM_NLS],
> -+[
> -+  AC_MSG_CHECKING([whether NLS is requested])
> -+  dnl Default is enabled NLS
> -+  AC_ARG_ENABLE(nls,
> -+    [  --disable-nls           do not use Native Language Support],
> -+    USE_NLS=$enableval, USE_NLS=yes)
> -+  AC_MSG_RESULT($USE_NLS)
> -+  AC_SUBST(USE_NLS)
> -+])
> -+
> -+AC_DEFUN([AM_MKINSTALLDIRS],
> -+[
> -+  dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
> -+  dnl find the mkinstalldirs script in another subdir but $(top_srcdir).
> -+  dnl Try to locate it.
> -+  MKINSTALLDIRS=
> -+  if test -n "$ac_aux_dir"; then
> -+    case "$ac_aux_dir" in
> -+      /*) MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" ;;
> -+      *) MKINSTALLDIRS="\$(top_builddir)/$ac_aux_dir/mkinstalldirs" ;;
> -+    esac
> -+  fi
> -+  if test -z "$MKINSTALLDIRS"; then
> -+    MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
> -+  fi
> -+  AC_SUBST(MKINSTALLDIRS)
> -+])
> ---- lrzsz-0.12.20.safe/m4/po.m4        1969-12-31 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/m4/po.m4     2004-09-12 14:40:34.961655976 -0400
> -@@ -0,0 +1,426 @@
> -+# po.m4 serial 3 (gettext-0.14)
> -+dnl Copyright (C) 1995-2003 Free Software Foundation, Inc.
> -+dnl This file is free software, distributed under the terms of the GNU
> -+dnl General Public License.  As a special exception to the GNU General
> -+dnl Public License, this file may be distributed as part of a program
> -+dnl that contains a configuration script generated by Autoconf, under
> -+dnl the same distribution terms as the rest of that program.
> -+dnl
> -+dnl This file can 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 They are *not* in the public domain.
> -+
> -+dnl Authors:
> -+dnl   Ulrich Drepper <drepper at cygnus.com>, 1995-2000.
> -+dnl   Bruno Haible <haible at clisp.cons.org>, 2000-2003.
> -+
> -+dnl Checks for all prerequisites of the po subdirectory.
> -+AC_DEFUN([AM_PO_SUBDIRS],
> -+[
> -+  AC_REQUIRE([AC_PROG_MAKE_SET])dnl
> -+  AC_REQUIRE([AC_PROG_INSTALL])dnl
> -+  AC_REQUIRE([AM_MKINSTALLDIRS])dnl
> -+  AC_REQUIRE([AM_NLS])dnl
> -+
> -+  dnl Perform the following tests also if --disable-nls has been given,
> -+  dnl because they are needed for "make dist" to work.
> -+
> -+  dnl Search for GNU msgfmt in the PATH.
> -+  dnl The first test excludes Solaris msgfmt and early GNU msgfmt
> versions.
> -+  dnl The second test excludes FreeBSD msgfmt.
> -+  AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
> -+    [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 &&
> -+     (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep
> usage >/dev/null; then exit 1; else exit 0; fi)],
> -+    :)
> -+  AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
> -+
> -+  dnl Search for GNU xgettext 0.12 or newer in the PATH.
> -+  dnl The first test excludes Solaris xgettext and early GNU xgettext
> versions.
> -+  dnl The second test excludes FreeBSD xgettext.
> -+  AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
> -+    [$ac_dir/$ac_word --omit-header --copyright-holder=
> --msgid-bugs-address= /dev/null >/dev/null 2>&1 &&
> -+     (if $ac_dir/$ac_word --omit-header --copyright-holder=
> --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null;
> then exit 1; else exit 0; fi)],
> -+    :)
> -+  dnl Remove leftover from FreeBSD xgettext call.
> -+  rm -f messages.po
> -+
> -+  dnl Search for GNU msgmerge 0.11 or newer in the PATH.
> -+  AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
> -+    [$ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1],
> :)
> -+
> -+  dnl This could go away some day; the PATH_PROG_WITH_TEST already does
> it.
> -+  dnl Test whether we really found GNU msgfmt.
> -+  if test "$GMSGFMT" != ":"; then
> -+    dnl If it is no GNU msgfmt we define it as : so that the
> -+    dnl Makefiles still can work.
> -+    if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 &&
> -+       (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage
> >/dev/null; then exit 1; else exit 0; fi); then
> -+      : ;
> -+    else
> -+      GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'`
> -+      AC_MSG_RESULT(
> -+        [found $GMSGFMT program is not GNU msgfmt; ignore it])
> -+      GMSGFMT=":"
> -+    fi
> -+  fi
> -+
> -+  dnl This could go away some day; the PATH_PROG_WITH_TEST already does
> it.
> -+  dnl Test whether we really found GNU xgettext.
> -+  if test "$XGETTEXT" != ":"; then
> -+    dnl If it is no GNU xgettext we define it as : so that the
> -+    dnl Makefiles still can work.
> -+    if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address=
> /dev/null >/dev/null 2>&1 &&
> -+       (if $XGETTEXT --omit-header --copyright-holder=
> --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null;
> then exit 1; else exit 0; fi); then
> -+      : ;
> -+    else
> -+      AC_MSG_RESULT(
> -+        [found xgettext program is not GNU xgettext; ignore it])
> -+      XGETTEXT=":"
> -+    fi
> -+    dnl Remove leftover from FreeBSD xgettext call.
> -+    rm -f messages.po
> -+  fi
> -+
> -+  AC_OUTPUT_COMMANDS([
> -+    for ac_file in $CONFIG_FILES; do
> -+      # Support "outfile[:infile[:infile...]]"
> -+      case "$ac_file" in
> -+        *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
> -+      esac
> -+      # PO directories have a Makefile.in generated from Makefile.in.in.
> -+      case "$ac_file" in */Makefile.in)
> -+        # Adjust a relative srcdir.
> -+        ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
> -+        ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
> -+        ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
> -+        # In autoconf-2.13 it is called $ac_given_srcdir.
> -+        # In autoconf-2.50 it is called $srcdir.
> -+        test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
> -+        case "$ac_given_srcdir" in
> -+          .)  top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
> -+          /*) top_srcdir="$ac_given_srcdir" ;;
> -+          *)  top_srcdir="$ac_dots$ac_given_srcdir" ;;
> -+        esac
> -+        if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
> -+          rm -f "$ac_dir/POTFILES"
> -+          test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES"
> || echo "creating $ac_dir/POTFILES"
> -+          cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e
> "/^[         ]*\$/d" -e "s,.*,     $top_srcdir/& \\\\," | sed -e
> "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
> -+          POMAKEFILEDEPS="POTFILES.in"
> -+          # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES
> depend
> -+          # on $ac_dir but don't depend on user-specified configuration
> -+          # parameters.
> -+          if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
> -+            # The LINGUAS file contains the set of available languages.
> -+            if test -n "$OBSOLETE_ALL_LINGUAS"; then
> -+              test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in
> configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is
> obsolete"
> -+            fi
> -+            ALL_LINGUAS_=`sed -e "/^#/d"
> "$ac_given_srcdir/$ac_dir/LINGUAS"`
> -+            # Hide the ALL_LINGUAS assigment from automake.
> -+            eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
> -+            POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
> -+          else
> -+            # The set of available languages was given in configure.in.
> -+            eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
> -+          fi
> -+          # Compute POFILES
> -+          # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
> -+          # Compute UPDATEPOFILES
> -+          # as      $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
> -+          # Compute DUMMYPOFILES
> -+          # as      $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
> -+          # Compute GMOFILES
> -+          # as      $(foreach lang, $(ALL_LINGUAS),
> $(srcdir)/$(lang).gmo)
> -+          case "$ac_given_srcdir" in
> -+            .) srcdirpre= ;;
> -+            *) srcdirpre='$(srcdir)/' ;;
> -+          esac
> -+          POFILES=
> -+          UPDATEPOFILES=
> -+          DUMMYPOFILES=
> -+          GMOFILES=
> -+          for lang in $ALL_LINGUAS; do
> -+            POFILES="$POFILES $srcdirpre$lang.po"
> -+            UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
> -+            DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
> -+            GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
> -+          done
> -+          # CATALOGS depends on both $ac_dir and the user's LINGUAS
> -+          # environment variable.
> -+          INST_LINGUAS=
> -+          if test -n "$ALL_LINGUAS"; then
> -+            for presentlang in $ALL_LINGUAS; do
> -+              useit=no
> -+              if test "%UNSET%" != "$LINGUAS"; then
> -+                desiredlanguages="$LINGUAS"
> -+              else
> -+                desiredlanguages="$ALL_LINGUAS"
> -+              fi
> -+              for desiredlang in $desiredlanguages; do
> -+                # Use the presentlang catalog if desiredlang is
> -+                #   a. equal to presentlang, or
> -+                #   b. a variant of presentlang (because in this case,
> -+                #      presentlang can be used as a fallback for messages
> -+                #      which are not translated in the desiredlang
> catalog).
> -+                case "$desiredlang" in
> -+                  "$presentlang"*) useit=yes;;
> -+                esac
> -+              done
> -+              if test $useit = yes; then
> -+                INST_LINGUAS="$INST_LINGUAS $presentlang"
> -+              fi
> -+            done
> -+          fi
> -+          CATALOGS=
> -+          if test -n "$INST_LINGUAS"; then
> -+            for lang in $INST_LINGUAS; do
> -+              CATALOGS="$CATALOGS $lang.gmo"
> -+            done
> -+          fi
> -+          test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile"
> || echo "creating $ac_dir/Makefile"
> -+          sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r
> $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e
> "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g"
> -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e
> "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" >
> "$ac_dir/Makefile"
> -+          for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
> -+            if test -f "$f"; then
> -+              case "$f" in
> -+                *.orig | *.bak | *~) ;;
> -+                *) cat "$f" >> "$ac_dir/Makefile" ;;
> -+              esac
> -+            fi
> -+          done
> -+        fi
> -+        ;;
> -+      esac
> -+    done],
> -+   [# Capture the value of obsolete ALL_LINGUAS because we need it to
> compute
> -+    # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide
> it
> -+    # from automake.
> -+    eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
> -+    # Capture the value of LINGUAS because we need it to compute
> CATALOGS.
> -+    LINGUAS="${LINGUAS-%UNSET%}"
> -+   ])
> -+])
> -+
> -+dnl Postprocesses a Makefile in a directory containing PO files.
> -+AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE],
> -+[
> -+  # When this code is run, in config.status, two variables have already
> been
> -+  # set:
> -+  # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in,
> -+  # - LINGUAS is the value of the environment variable LINGUAS at
> configure
> -+  #   time.
> -+
> -+changequote(,)dnl
> -+  # Adjust a relative srcdir.
> -+  ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
> -+  ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
> -+  ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
> -+  # In autoconf-2.13 it is called $ac_given_srcdir.
> -+  # In autoconf-2.50 it is called $srcdir.
> -+  test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
> -+  case "$ac_given_srcdir" in
> -+    .)  top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
> -+    /*) top_srcdir="$ac_given_srcdir" ;;
> -+    *)  top_srcdir="$ac_dots$ac_given_srcdir" ;;
> -+  esac
> -+
> -+  # Find a way to echo strings without interpreting backslash.
> -+  if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then
> -+    gt_echo='echo'
> -+  else
> -+    if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then
> -+      gt_echo='printf %s\n'
> -+    else
> -+      echo_func () {
> -+        cat <<EOT
> -+$*
> -+EOT
> -+      }
> -+      gt_echo='echo_func'
> -+    fi
> -+  fi
> -+
> -+  # A sed script that extracts the value of VARIABLE from a Makefile.
> -+  sed_x_variable='
> -+# Test if the hold space is empty.
> -+x
> -+s/P/P/
> -+x
> -+ta
> -+# Yes it was empty. Look if we have the expected variable definition.
> -+/^[    ]*VARIABLE[     ]*=/{
> -+  # Seen the first line of the variable definition.
> -+  s/^[         ]*VARIABLE[     ]*=//
> -+  ba
> -+}
> -+bd
> -+:a
> -+# Here we are processing a line from the variable definition.
> -+# Remove comment, more precisely replace it with a space.
> -+s/#.*$/ /
> -+# See if the line ends in a backslash.
> -+tb
> -+:b
> -+s/\\$//
> -+# Print the line, without the trailing backslash.
> -+p
> -+tc
> -+# There was no trailing backslash. The end of the variable definition is
> -+# reached. Clear the hold space.
> -+s/^.*$//
> -+x
> -+bd
> -+:c
> -+# A trailing backslash means that the variable definition continues in
> the
> -+# next line. Put a nonempty string into the hold space to indicate this.
> -+s/^.*$/P/
> -+x
> -+:d
> -+'
> -+changequote([,])dnl
> -+
> -+  # Set POTFILES to the value of the Makefile variable POTFILES.
> -+  sed_x_POTFILES="`$gt_echo \"$sed_x_variable\" | sed -e '/^ *#/d' -e
> 's/VARIABLE/POTFILES/g'`"
> -+  POTFILES=`sed -n -e "$sed_x_POTFILES" < "$ac_file"`
> -+  # Compute POTFILES_DEPS as
> -+  #   $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
> -+  POTFILES_DEPS=
> -+  for file in $POTFILES; do
> -+    POTFILES_DEPS="$POTFILES_DEPS "'$(top_srcdir)/'"$file"
> -+  done
> -+  POMAKEFILEDEPS=""
> -+
> -+  if test -n "$OBSOLETE_ALL_LINGUAS"; then
> -+    test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in
> configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is
> obsolete"
> -+  fi
> -+  if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
> -+    # The LINGUAS file contains the set of available languages.
> -+    ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"`
> -+    POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
> -+  else
> -+    # Set ALL_LINGUAS to the value of the Makefile variable LINGUAS.
> -+    sed_x_LINGUAS="`$gt_echo \"$sed_x_variable\" | sed -e '/^ *#/d' -e
> 's/VARIABLE/LINGUAS/g'`"
> -+    ALL_LINGUAS_=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"`
> -+  fi
> -+  # Hide the ALL_LINGUAS assigment from automake.
> -+  eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
> -+  # Compute POFILES
> -+  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
> -+  # Compute UPDATEPOFILES
> -+  # as      $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
> -+  # Compute DUMMYPOFILES
> -+  # as      $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
> -+  # Compute GMOFILES
> -+  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
> -+  # Compute PROPERTIESFILES
> -+  # as      $(foreach lang, $(ALL_LINGUAS),
> $(top_srcdir)/$(DOMAIN)_$(lang).properties)
> -+  # Compute CLASSFILES
> -+  # as      $(foreach lang, $(ALL_LINGUAS),
> $(top_srcdir)/$(DOMAIN)_$(lang).class)
> -+  # Compute QMFILES
> -+  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).qm)
> -+  # Compute MSGFILES
> -+  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob
> $(lang)).msg)
> -+  # Compute RESOURCESDLLFILES
> -+  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob
> $(lang))/$(DOMAIN).resources.dll)
> -+  case "$ac_given_srcdir" in
> -+    .) srcdirpre= ;;
> -+    *) srcdirpre='$(srcdir)/' ;;
> -+  esac
> -+  POFILES=
> -+  UPDATEPOFILES=
> -+  DUMMYPOFILES=
> -+  GMOFILES=
> -+  PROPERTIESFILES=
> -+  CLASSFILES=
> -+  QMFILES=
> -+  MSGFILES=
> -+  RESOURCESDLLFILES=
> -+  for lang in $ALL_LINGUAS; do
> -+    POFILES="$POFILES $srcdirpre$lang.po"
> -+    UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
> -+    DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
> -+    GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
> -+    PROPERTIESFILES="$PROPERTIESFILES
> \$(top_srcdir)/\$(DOMAIN)_$lang.properties"
> -+    CLASSFILES="$CLASSFILES \$(top_srcdir)/\$(DOMAIN)_$lang.class"
> -+    QMFILES="$QMFILES $srcdirpre$lang.qm"
> -+    frobbedlang=`echo $lang | sed -e 's/\..*$//' -e
> 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
> -+    MSGFILES="$MSGFILES $srcdirpre$frobbedlang.msg"
> -+    frobbedlang=`echo $lang | sed -e 's/_/-/g'`
> -+    RESOURCESDLLFILES="$RESOURCESDLLFILES
> $srcdirpre$frobbedlang/\$(DOMAIN).resources.dll"
> -+  done
> -+  # CATALOGS depends on both $ac_dir and the user's LINGUAS
> -+  # environment variable.
> -+  INST_LINGUAS=
> -+  if test -n "$ALL_LINGUAS"; then
> -+    for presentlang in $ALL_LINGUAS; do
> -+      useit=no
> -+      if test "%UNSET%" != "$LINGUAS"; then
> -+        desiredlanguages="$LINGUAS"
> -+      else
> -+        desiredlanguages="$ALL_LINGUAS"
> -+      fi
> -+      for desiredlang in $desiredlanguages; do
> -+        # Use the presentlang catalog if desiredlang is
> -+        #   a. equal to presentlang, or
> -+        #   b. a variant of presentlang (because in this case,
> -+        #      presentlang can be used as a fallback for messages
> -+        #      which are not translated in the desiredlang catalog).
> -+        case "$desiredlang" in
> -+          "$presentlang"*) useit=yes;;
> -+        esac
> -+      done
> -+      if test $useit = yes; then
> -+        INST_LINGUAS="$INST_LINGUAS $presentlang"
> -+      fi
> -+    done
> -+  fi
> -+  CATALOGS=
> -+  JAVACATALOGS=
> -+  QTCATALOGS=
> -+  TCLCATALOGS=
> -+  CSHARPCATALOGS=
> -+  if test -n "$INST_LINGUAS"; then
> -+    for lang in $INST_LINGUAS; do
> -+      CATALOGS="$CATALOGS $lang.gmo"
> -+      JAVACATALOGS="$JAVACATALOGS \$(DOMAIN)_$lang.properties"
> -+      QTCATALOGS="$QTCATALOGS $lang.qm"
> -+      frobbedlang=`echo $lang | sed -e 's/\..*$//' -e
> 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
> -+      TCLCATALOGS="$TCLCATALOGS $frobbedlang.msg"
> -+      frobbedlang=`echo $lang | sed -e 's/_/-/g'`
> -+      CSHARPCATALOGS="$CSHARPCATALOGS
> $frobbedlang/\$(DOMAIN).resources.dll"
> -+    done
> -+  fi
> -+
> -+  sed -e "s|@POTFILES_DEPS@|$POTFILES_DEPS|g" -e "s|@POFILES@|$POFILES|g"
> -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g"
> -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@PROPERTIESFILES@|$PROPERTIESFILES|g"
> -e "s|@CLASSFILES@|$CLASSFILES|g" -e "s|@QMFILES@|$QMFILES|g" -e
> "s|@MSGFILES@|$MSGFILES|g" -e "s|@RESOURCESDLLFILES@|$RESOURCESDLLFILES|g"
> -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@JAVACATALOGS@|$JAVACATALOGS|g" -e
> "s|@QTCATALOGS@|$QTCATALOGS|g" -e "s|@TCLCATALOGS@|$TCLCATALOGS|g" -e
> "s|@CSHARPCATALOGS@|$CSHARPCATALOGS|g" -e 's,^#distdir:,distdir:,' <
> "$ac_file" > "$ac_file.tmp"
> -+  if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then
> -+    # Add dependencies that cannot be formulated as a simple suffix rule.
> -+    for lang in $ALL_LINGUAS; do
> -+      frobbedlang=`echo $lang | sed -e 's/\..*$//' -e
> 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
> -+      cat >> "$ac_file.tmp" <<EOF
> -+$frobbedlang.msg: $lang.po
> -+      @echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang
> $srcdirpre$lang.po"; \
> -+      \$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po ||
> { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
> -+EOF
> -+    done
> -+  fi
> -+  if grep -l '@CSHARPCATALOGS@' "$ac_file" > /dev/null; then
> -+    # Add dependencies that cannot be formulated as a simple suffix rule.
> -+    for lang in $ALL_LINGUAS; do
> -+      frobbedlang=`echo $lang | sed -e 's/_/-/g'`
> -+      cat >> "$ac_file.tmp" <<EOF
> -+$frobbedlang/\$(DOMAIN).resources.dll: $lang.po
> -+      @echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang
> $srcdirpre$lang.po -r \$(DOMAIN)"; \
> -+      \$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po
> -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
> -+EOF
> -+    done
> -+  fi
> -+  if test -n "$POMAKEFILEDEPS"; then
> -+    cat >> "$ac_file.tmp" <<EOF
> -+Makefile: $POMAKEFILEDEPS
> -+EOF
> -+  fi
> -+  mv "$ac_file.tmp" "$ac_file"
> -+])
> ---- lrzsz-0.12.20.safe/m4/printf-posix.m4      1969-12-31
> 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/m4/printf-posix.m4   2004-09-12 14:40:34.974654000 -0400
> -@@ -0,0 +1,46 @@
> -+# printf-posix.m4 serial 2 (gettext-0.13.1)
> -+dnl Copyright (C) 2003 Free Software Foundation, Inc.
> -+dnl This file is free software, distributed under the terms of the GNU
> -+dnl General Public License.  As a special exception to the GNU General
> -+dnl Public License, this file may be distributed as part of a program
> -+dnl that contains a configuration script generated by Autoconf, under
> -+dnl the same distribution terms as the rest of that program.
> -+
> -+dnl From Bruno Haible.
> -+dnl Test whether the printf() function supports POSIX/XSI format strings
> with
> -+dnl positions.
> -+
> -+AC_DEFUN([gt_PRINTF_POSIX],
> -+[
> -+  AC_REQUIRE([AC_PROG_CC])
> -+  AC_CACHE_CHECK([whether printf() supports POSIX/XSI format strings],
> -+    gt_cv_func_printf_posix,
> -+    [
> -+      AC_TRY_RUN([
> -+#include <stdio.h>
> -+#include <string.h>
> -+/* The string "%2$d %1$d", with dollar characters protected from the
> shell's
> -+   dollar expansion (possibly an autoconf bug).  */
> -+static char format[] = { '%', '2', '$', 'd', ' ', '%', '1', '$', 'd',
> '\0' };
> -+static char buf[100];
> -+int main ()
> -+{
> -+  sprintf (buf, format, 33, 55);
> -+  return (strcmp (buf, "55 33") != 0);
> -+}], gt_cv_func_printf_posix=yes, gt_cv_func_printf_posix=no,
> -+      [
> -+        AC_EGREP_CPP(notposix, [
> -+#if defined __NetBSD__ || defined _MSC_VER || defined __MINGW32__ ||
> defined __CYGWIN__
> -+  notposix
> -+#endif
> -+        ], gt_cv_func_printf_posix="guessing no",
> -+           gt_cv_func_printf_posix="guessing yes")
> -+      ])
> -+    ])
> -+  case $gt_cv_func_printf_posix in
> -+    *yes)
> -+      AC_DEFINE(HAVE_POSIX_PRINTF, 1,
> -+        [Define if your printf() function supports format strings with
> positions.])
> -+      ;;
> -+  esac
> -+])
> ---- lrzsz-0.12.20.safe/m4/progtest.m4  1969-12-31 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/m4/progtest.m4       2004-09-12 14:40:34.990651568 -0400
> -@@ -0,0 +1,91 @@
> -+# progtest.m4 serial 3 (gettext-0.12)
> -+dnl Copyright (C) 1996-2003 Free Software Foundation, Inc.
> -+dnl This file is free software, distributed under the terms of the GNU
> -+dnl General Public License.  As a special exception to the GNU General
> -+dnl Public License, this file may be distributed as part of a program
> -+dnl that contains a configuration script generated by Autoconf, under
> -+dnl the same distribution terms as the rest of that program.
> -+dnl
> -+dnl This file can 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 They are *not* in the public domain.
> -+
> -+dnl Authors:
> -+dnl   Ulrich Drepper <drepper at cygnus.com>, 1996.
> -+
> -+# Search path for a program which passes the given test.
> -+
> -+dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
> -+dnl   TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
> -+AC_DEFUN([AM_PATH_PROG_WITH_TEST],
> -+[
> -+# 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 "$2", so it can be a program name with args.
> -+set dummy $2; ac_word=[$]2
> -+AC_MSG_CHECKING([for $ac_word])
> -+AC_CACHE_VAL(ac_cv_path_$1,
> -+[case "[$]$1" in
> -+  [[\\/]]* | ?:[[\\/]]*)
> -+    ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
> -+    ;;
> -+  *)
> -+    ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
> -+    for ac_dir in ifelse([$5], , $PATH, [$5]); 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
> -+          if [$3]; then
> -+            ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext"
> -+            break 2
> -+          fi
> -+        fi
> -+      done
> -+    done
> -+    IFS="$ac_save_IFS"
> -+dnl If no 4th arg is given, leave the cache variable unset,
> -+dnl so AC_PATH_PROGS will keep looking.
> -+ifelse([$4], , , [  test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
> -+])dnl
> -+    ;;
> -+esac])dnl
> -+$1="$ac_cv_path_$1"
> -+if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
> -+  AC_MSG_RESULT([$]$1)
> -+else
> -+  AC_MSG_RESULT(no)
> -+fi
> -+AC_SUBST($1)dnl
> -+])
> ---- lrzsz-0.12.20.safe/m4/signed.m4    1969-12-31 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/m4/signed.m4 2004-09-12 14:40:34.996650656 -0400
> -@@ -0,0 +1,19 @@
> -+# signed.m4 serial 1 (gettext-0.10.40)
> -+dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.
> -+dnl This file is free software, distributed under the terms of the GNU
> -+dnl General Public License.  As a special exception to the GNU General
> -+dnl Public License, this file may be distributed as part of a program
> -+dnl that contains a configuration script generated by Autoconf, under
> -+dnl the same distribution terms as the rest of that program.
> -+
> -+dnl From Bruno Haible.
> -+
> -+AC_DEFUN([bh_C_SIGNED],
> -+[
> -+  AC_CACHE_CHECK([for signed], bh_cv_c_signed,
> -+   [AC_TRY_COMPILE(, [signed char x;], bh_cv_c_signed=yes,
> bh_cv_c_signed=no)])
> -+  if test $bh_cv_c_signed = no; then
> -+    AC_DEFINE(signed, ,
> -+              [Define to empty if the C compiler doesn't support this
> keyword.])
> -+  fi
> -+])
> ---- lrzsz-0.12.20.safe/m4/size_max.m4  1969-12-31 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/m4/size_max.m4       2004-09-12 14:40:35.003649592 -0400
> -@@ -0,0 +1,61 @@
> -+# size_max.m4 serial 2
> -+dnl Copyright (C) 2003 Free Software Foundation, Inc.
> -+dnl This file is free software, distributed under the terms of the GNU
> -+dnl General Public License.  As a special exception to the GNU General
> -+dnl Public License, this file may be distributed as part of a program
> -+dnl that contains a configuration script generated by Autoconf, under
> -+dnl the same distribution terms as the rest of that program.
> -+
> -+dnl From Bruno Haible.
> -+
> -+AC_DEFUN([gl_SIZE_MAX],
> -+[
> -+  AC_CHECK_HEADERS(stdint.h)
> -+  dnl First test whether the system already has SIZE_MAX.
> -+  AC_MSG_CHECKING([for SIZE_MAX])
> -+  result=
> -+  AC_EGREP_CPP([Found it], [
> -+#include <limits.h>
> -+#if HAVE_STDINT_H
> -+#include <stdint.h>
> -+#endif
> -+#ifdef SIZE_MAX
> -+Found it
> -+#endif
> -+], result=yes)
> -+  if test -z "$result"; then
> -+    dnl Define it ourselves. Here we assume that the type 'size_t' is
> not wider
> -+    dnl than the type 'unsigned long'.
> -+    dnl The _AC_COMPUTE_INT macro works up to LONG_MAX, since it uses
> 'expr',
> -+    dnl which is guaranteed to work from LONG_MIN to LONG_MAX.
> -+    _AC_COMPUTE_INT([~(size_t)0 / 10], res_hi,
> -+      [#include <stddef.h>], result=?)
> -+    _AC_COMPUTE_INT([~(size_t)0 % 10], res_lo,
> -+      [#include <stddef.h>], result=?)
> -+    _AC_COMPUTE_INT([sizeof (size_t) <= sizeof (unsigned int)],
> fits_in_uint,
> -+      [#include <stddef.h>], result=?)
> -+    if test "$fits_in_uint" = 1; then
> -+      dnl Even though SIZE_MAX fits in an unsigned int, it must be of
> type
> -+      dnl 'unsigned long' if the type 'size_t' is the same as 'unsigned
> long'.
> -+      AC_TRY_COMPILE([#include <stddef.h>
> -+        extern size_t foo;
> -+        extern unsigned long foo;
> -+        ], [], fits_in_uint=0)
> -+    fi
> -+    if test -z "$result"; then
> -+      if test "$fits_in_uint" = 1; then
> -+        result="$res_hi$res_lo"U
> -+      else
> -+        result="$res_hi$res_lo"UL
> -+      fi
> -+    else
> -+      dnl Shouldn't happen, but who knows...
> -+      result='~(size_t)0'
> -+    fi
> -+  fi
> -+  AC_MSG_RESULT([$result])
> -+  if test "$result" != yes; then
> -+    AC_DEFINE_UNQUOTED([SIZE_MAX], [$result],
> -+      [Define as the maximum value of type 'size_t', if the system
> doesn't define it.])
> -+  fi
> -+])
> ---- lrzsz-0.12.20.safe/m4/stdint_h.m4  1969-12-31 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/m4/stdint_h.m4       2004-09-12 14:40:35.009648680 -0400
> -@@ -0,0 +1,28 @@
> -+# stdint_h.m4 serial 3 (gettext-0.12)
> -+dnl Copyright (C) 1997-2003 Free Software Foundation, Inc.
> -+dnl This file is free software, distributed under the terms of the GNU
> -+dnl General Public License.  As a special exception to the GNU General
> -+dnl Public License, this file may be distributed as part of a program
> -+dnl that contains a configuration script generated by Autoconf, under
> -+dnl the same distribution terms as the rest of that program.
> -+
> -+dnl From Paul Eggert.
> -+
> -+# Define HAVE_STDINT_H_WITH_UINTMAX if <stdint.h> exists,
> -+# doesn't clash with <sys/types.h>, and declares uintmax_t.
> -+
> -+AC_DEFUN([jm_AC_HEADER_STDINT_H],
> -+[
> -+  AC_CACHE_CHECK([for stdint.h], jm_ac_cv_header_stdint_h,
> -+  [AC_TRY_COMPILE(
> -+    [#include <sys/types.h>
> -+#include <stdint.h>],
> -+    [uintmax_t i = (uintmax_t) -1;],
> -+    jm_ac_cv_header_stdint_h=yes,
> -+    jm_ac_cv_header_stdint_h=no)])
> -+  if test $jm_ac_cv_header_stdint_h = yes; then
> -+    AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1,
> -+      [Define if <stdint.h> exists, doesn't clash with <sys/types.h>,
> -+       and declares uintmax_t. ])
> -+  fi
> -+])
> ---- lrzsz-0.12.20.safe/m4/uintmax_t.m4 1969-12-31 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/m4/uintmax_t.m4      2004-09-12 14:40:35.021646856 -0400
> -@@ -0,0 +1,32 @@
> -+# uintmax_t.m4 serial 7 (gettext-0.12)
> -+dnl Copyright (C) 1997-2003 Free Software Foundation, Inc.
> -+dnl This file is free software, distributed under the terms of the GNU
> -+dnl General Public License.  As a special exception to the GNU General
> -+dnl Public License, this file may be distributed as part of a program
> -+dnl that contains a configuration script generated by Autoconf, under
> -+dnl the same distribution terms as the rest of that program.
> -+
> -+dnl From Paul Eggert.
> -+
> -+AC_PREREQ(2.13)
> -+
> -+# Define uintmax_t to 'unsigned long' or 'unsigned long long'
> -+# if it is not already defined in <stdint.h> or <inttypes.h>.
> -+
> -+AC_DEFUN([jm_AC_TYPE_UINTMAX_T],
> -+[
> -+  AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
> -+  AC_REQUIRE([jm_AC_HEADER_STDINT_H])
> -+  if test $jm_ac_cv_header_inttypes_h = no && test
> $jm_ac_cv_header_stdint_h = no; then
> -+    AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
> -+    test $ac_cv_type_unsigned_long_long = yes \
> -+      && ac_type='unsigned long long' \
> -+      || ac_type='unsigned long'
> -+    AC_DEFINE_UNQUOTED(uintmax_t, $ac_type,
> -+      [Define to unsigned long or unsigned long long
> -+       if <stdint.h> and <inttypes.h> don't define.])
> -+  else
> -+    AC_DEFINE(HAVE_UINTMAX_T, 1,
> -+      [Define if you have the 'uintmax_t' type in <stdint.h> or
> <inttypes.h>.])
> -+  fi
> -+])
> ---- lrzsz-0.12.20.safe/m4/ulonglong.m4 1969-12-31 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/m4/ulonglong.m4      2004-09-12 14:40:35.028645792 -0400
> -@@ -0,0 +1,25 @@
> -+# ulonglong.m4 serial 3
> -+dnl Copyright (C) 1999-2003 Free Software Foundation, Inc.
> -+dnl This file is free software, distributed under the terms of the GNU
> -+dnl General Public License.  As a special exception to the GNU General
> -+dnl Public License, this file may be distributed as part of a program
> -+dnl that contains a configuration script generated by Autoconf, under
> -+dnl the same distribution terms as the rest of that program.
> -+
> -+dnl From Paul Eggert.
> -+
> -+# Define HAVE_UNSIGNED_LONG_LONG if 'unsigned long long' works.
> -+
> -+AC_DEFUN([jm_AC_TYPE_UNSIGNED_LONG_LONG],
> -+[
> -+  AC_CACHE_CHECK([for unsigned long long], ac_cv_type_unsigned_long_long,
> -+  [AC_TRY_LINK([unsigned long long ull = 1ULL; int i = 63;],
> -+    [unsigned long long ullmax = (unsigned long long) -1;
> -+     return ull << i | ull >> i | ullmax / ull | ullmax % ull;],
> -+    ac_cv_type_unsigned_long_long=yes,
> -+    ac_cv_type_unsigned_long_long=no)])
> -+  if test $ac_cv_type_unsigned_long_long = yes; then
> -+    AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1,
> -+      [Define if you have the 'unsigned long long' type.])
> -+  fi
> -+])
> ---- lrzsz-0.12.20.safe/m4/wchar_t.m4   1969-12-31 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/m4/wchar_t.m4        2004-09-12 14:40:35.034644880 -0400
> -@@ -0,0 +1,22 @@
> -+# wchar_t.m4 serial 1 (gettext-0.12)
> -+dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.
> -+dnl This file is free software, distributed under the terms of the GNU
> -+dnl General Public License.  As a special exception to the GNU General
> -+dnl Public License, this file may be distributed as part of a program
> -+dnl that contains a configuration script generated by Autoconf, under
> -+dnl the same distribution terms as the rest of that program.
> -+
> -+dnl From Bruno Haible.
> -+dnl Test whether <stddef.h> has the 'wchar_t' type.
> -+dnl Prerequisite: AC_PROG_CC
> -+
> -+AC_DEFUN([gt_TYPE_WCHAR_T],
> -+[
> -+  AC_CACHE_CHECK([for wchar_t], gt_cv_c_wchar_t,
> -+    [AC_TRY_COMPILE([#include <stddef.h>
> -+       wchar_t foo = (wchar_t)'\0';], ,
> -+       gt_cv_c_wchar_t=yes, gt_cv_c_wchar_t=no)])
> -+  if test $gt_cv_c_wchar_t = yes; then
> -+    AC_DEFINE(HAVE_WCHAR_T, 1, [Define if you have the 'wchar_t' type.])
> -+  fi
> -+])
> ---- lrzsz-0.12.20.safe/m4/wint_t.m4    1969-12-31 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/m4/wint_t.m4 2004-09-12 14:40:35.040643968 -0400
> -@@ -0,0 +1,22 @@
> -+# wint_t.m4 serial 1 (gettext-0.12)
> -+dnl Copyright (C) 2003 Free Software Foundation, Inc.
> -+dnl This file is free software, distributed under the terms of the GNU
> -+dnl General Public License.  As a special exception to the GNU General
> -+dnl Public License, this file may be distributed as part of a program
> -+dnl that contains a configuration script generated by Autoconf, under
> -+dnl the same distribution terms as the rest of that program.
> -+
> -+dnl From Bruno Haible.
> -+dnl Test whether <wchar.h> has the 'wint_t' type.
> -+dnl Prerequisite: AC_PROG_CC
> -+
> -+AC_DEFUN([gt_TYPE_WINT_T],
> -+[
> -+  AC_CACHE_CHECK([for wint_t], gt_cv_c_wint_t,
> -+    [AC_TRY_COMPILE([#include <wchar.h>
> -+       wint_t foo = (wchar_t)'\0';], ,
> -+       gt_cv_c_wint_t=yes, 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.])
> -+  fi
> -+])
> ---- lrzsz-0.12.20.safe/m4/xsize.m4     1969-12-31 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/m4/xsize.m4  2004-09-12 14:40:35.047642904 -0400
> -@@ -0,0 +1,14 @@
> -+# xsize.m4 serial 2
> -+dnl Copyright (C) 2003 Free Software Foundation, Inc.
> -+dnl This file is free software, distributed under the terms of the GNU
> -+dnl General Public License.  As a special exception to the GNU General
> -+dnl Public License, this file may be distributed as part of a program
> -+dnl that contains a configuration script generated by Autoconf, under
> -+dnl the same distribution terms as the rest of that program.
> -+
> -+AC_DEFUN([gl_XSIZE],
> -+[
> -+  dnl Prerequisites of lib/xsize.h.
> -+  AC_REQUIRE([gl_SIZE_MAX])
> -+  AC_CHECK_HEADERS(stdint.h)
> -+])
> ---- lrzsz-0.12.20.safe/Makefile.am     1998-12-30 06:19:40.000000000 -0500
> -+++ lrzsz-0.12.20/Makefile.am  2004-09-12 14:40:35.121631656 -0400
> -@@ -1,5 +1,5 @@
> - SUBDIRS = lib intl src po man testsuite
> --EXTRA_DIST = check.lrzsz COMPATABILITY README.cvs README.isdn4linux \
> -+EXTRA_DIST = config.rpath  check.lrzsz COMPATABILITY README.cvs
> README.isdn4linux \
> -       README.gettext rpmrc buildrpm systype.in fastcheck.sh
> README.tests \
> -       beos-runpiped.c fastcheck.beos
> - noinst_SCRIPTS=systype
> -@@ -83,3 +83,5 @@
> - rpm: $(PR).tar.gz Specfile
> -       $(srcdir)/buildrpm $(srcdir)
> -
> -+
> -+ACLOCAL_AMFLAGS = -I m4
> ---- lrzsz-0.12.20.safe/Makefile.in     1998-12-30 11:31:40.000000000 -0500
> -+++ lrzsz-0.12.20/Makefile.in  2004-09-12 14:40:35.109633480 -0400
> -@@ -125,7 +125,7 @@
> -         && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
> -
> - $(ACLOCAL_M4):  configure.in  acinclude.m4
> --      cd $(srcdir) && $(ACLOCAL)
> -+      cd $(srcdir) && $(ACLOCAL) -I m4
> -
> - config.status: $(srcdir)/configure
> -       $(SHELL) ./config.status --recheck
> ---- lrzsz-0.12.20.safe/mkinstalldirs   1998-04-26 09:20:52.000000000 -0400
> -+++ lrzsz-0.12.20/mkinstalldirs        2004-09-12 14:40:34.337750824 -0400
> -@@ -1,34 +1,150 @@
> - #! /bin/sh
> - # mkinstalldirs --- make directory hierarchy
> --# Author: Noah Friedman <friedman at prep.ai.mit.edu>
> -+
> -+scriptversion=2004-02-15.20
> -+
> -+# Original author: Noah Friedman <friedman at prep.ai.mit.edu>
> - # Created: 1993-05-16
> --# Last modified: 1995-03-05
> --# Public domain
> -+# Public domain.
> -+#
> -+# This file is maintained in Automake, please report
> -+# bugs to <bug-automake at gnu.org> or send patches to
> -+# <automake-patches at gnu.org>.
> -
> - errstatus=0
> -+dirmode=""
> -
> --for file in ${1+"$@"} ; do
> --   set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\//
> /g;s/^#/\//;p'`
> --   shift
> -+usage="\
> -+Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ...
> -
> --   pathcomp=
> --   for d in ${1+"$@"} ; do
> --     pathcomp="$pathcomp$d"
> --     case "$pathcomp" in
> --       -* ) pathcomp=./$pathcomp ;;
> --     esac
> -+Create each directory DIR (with mode MODE, if specified), including all
> -+leading file name components.
> -
> --     if test ! -d "$pathcomp"; then
> --        echo "mkdir $pathcomp" 1>&2
> --        mkdir "$pathcomp" > /dev/null 2>&1 || lasterr=$?
> --     fi
> -+Report bugs to <bug-automake at gnu.org>."
> -
> --     if test ! -d "$pathcomp"; then
> -+# process command line arguments
> -+while test $# -gt 0 ; do
> -+  case $1 in
> -+    -h | --help | --h*)         # -h for help
> -+      echo "$usage"
> -+      exit 0
> -+      ;;
> -+    -m)                         # -m PERM arg
> -+      shift
> -+      test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
> -+      dirmode=$1
> -+      shift
> -+      ;;
> -+    --version)
> -+      echo "$0 $scriptversion"
> -+      exit 0
> -+      ;;
> -+    --)                         # stop option processing
> -+      shift
> -+      break
> -+      ;;
> -+    -*)                         # unknown option
> -+      echo "$usage" 1>&2
> -+      exit 1
> -+      ;;
> -+    *)                          # first non-opt arg
> -+      break
> -+      ;;
> -+  esac
> -+done
> -+
> -+for file
> -+do
> -+  if test -d "$file"; then
> -+    shift
> -+  else
> -+    break
> -+  fi
> -+done
> -+
> -+case $# in
> -+  0) exit 0 ;;
> -+esac
> -+
> -+# Solaris 8's mkdir -p isn't thread-safe.  If you mkdir -p a/b and
> -+# mkdir -p a/c at the same time, both will detect that a is missing,
> -+# one will create a, then the other will try to create a and die with
> -+# a "File exists" error.  This is a problem when calling mkinstalldirs
> -+# from a parallel make.  We use --version in the probe to restrict
> -+# ourselves to GNU mkdir, which is thread-safe.
> -+case $dirmode in
> -+  '')
> -+    if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version;
> then
> -+      echo "mkdir -p -- $*"
> -+      exec mkdir -p -- "$@"
> -+    else
> -+      # On NextStep and OpenStep, the `mkdir' command does not
> -+      # recognize any option.  It will interpret all options as
> -+      # directories to create, and then abort because `.' already
> -+      # exists.
> -+      test -d ./-p && rmdir ./-p
> -+      test -d ./--version && rmdir ./--version
> -+    fi
> -+    ;;
> -+  *)
> -+    if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 &&
> -+       test ! -d ./--version; then
> -+      echo "mkdir -m $dirmode -p -- $*"
> -+      exec mkdir -m "$dirmode" -p -- "$@"
> -+    else
> -+      # Clean up after NextStep and OpenStep mkdir.
> -+      for d in ./-m ./-p ./--version "./$dirmode";
> -+      do
> -+        test -d $d && rmdir $d
> -+      done
> -+    fi
> -+    ;;
> -+esac
> -+
> -+for file
> -+do
> -+  set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\//
> /g;s/^#/\//;p'`
> -+  shift
> -+
> -+  pathcomp=
> -+  for d
> -+  do
> -+    pathcomp="$pathcomp$d"
> -+    case $pathcomp in
> -+      -*) pathcomp=./$pathcomp ;;
> -+    esac
> -+
> -+    if test ! -d "$pathcomp"; then
> -+      echo "mkdir $pathcomp"
> -+
> -+      mkdir "$pathcomp" || lasterr=$?
> -+
> -+      if test ! -d "$pathcomp"; then
> -       errstatus=$lasterr
> --     fi
> -+      else
> -+      if test ! -z "$dirmode"; then
> -+        echo "chmod $dirmode $pathcomp"
> -+        lasterr=""
> -+        chmod "$dirmode" "$pathcomp" || lasterr=$?
> -
> --     pathcomp="$pathcomp/"
> --   done
> -+        if test ! -z "$lasterr"; then
> -+          errstatus=$lasterr
> -+        fi
> -+      fi
> -+      fi
> -+    fi
> -+
> -+    pathcomp="$pathcomp/"
> -+  done
> - done
> -
> - exit $errstatus
> -+
> -+# 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-end: "$"
> -+# End:
> ---- lrzsz-0.12.20.safe/po/boldquot.sed 1969-12-31 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/po/boldquot.sed      2004-09-12 14:40:34.723692152 -0400
> -@@ -0,0 +1,10 @@
> -+s/"\([^"]*\)"/“\1”/g
> -+s/`\([^`']*\)'/‘\1’/g
> -+s/ '\([^`']*\)' / ‘\1’ /g
> -+s/ '\([^`']*\)'$/ ‘\1’/g
> -+s/^'\([^`']*\)' /‘\1’ /g
> -+s/“”/""/g
> -+s/“/“ [1m/g
> -+s/”/ [0m”/g
> -+s/‘/‘ [1m/g
> -+s/’/ [0m’/g
> ---- lrzsz-0.12.20.safe/po/cat-id-tbl.c 1998-12-29 04:24:24.000000000 -0500
> -+++ lrzsz-0.12.20/po/cat-id-tbl.c      1969-12-31 19:00:00.000000000 -0500
> -@@ -1,234 +0,0 @@
> --/* Automatically generated by po2tbl.sed from lrzsz.pot.  */
> --
> --#if HAVE_CONFIG_H
> --# include <config.h>
> --#endif
> --
> --#include "libgettext.h"
> --
> --const struct _msg_ent _msg_tbl[] = {
> --  {"", 1},
> --  {"io_mode(,2) in rbsb.c not implemented\n", 2},
> --  {"caught signal %d; exiting", 3},
> --  {"command tries", 4},
> --  {"packetlength", 5},
> --  {"packetlength out of range 24..%ld", 6},
> --  {"framelength", 7},
> --  {"framelength out of range 32..%ld", 8},
> --  {"min_bps", 9},
> --  {"min_bps must be >= 0", 10},
> --  {"min_bps_time", 11},
> --  {"min_bps_time must be > 1", 12},
> --  {"hour to large (0..23)", 13},
> --  {"unparsable stop time\n", 14},
> --  {"minute to large (0..59)", 15},
> --  {"stop time to small", 16},
> --  {"stop-at", 17},
> --  {"timeout", 18},
> --  {"timeout out of range 10..1000", 19},
> --  {"security violation: can't do that under restricted shell\n", 20},
> --  {"window size", 21},
> --  {"cannot turnoff syslog", 22},
> --  {"startup delay", 23},
> --  {"out of memory", 24},
> --  {"this program was never intended to be used setuid\n", 25},
> --  {"need at least one file to send", 26},
> --  {"Can't send command in restricted mode\n", 27},
> --  {"hostname too long\n", 28},
> --  {"illegal server address\n", 29},
> --  {"can read only one file from stdin", 30},
> --  {"Transfer incomplete\n", 31},
> --  {"Transfer complete\n", 32},
> --  {"send_pseudo %s: cannot open tmpfile %s: %s", 33},
> --  {"send_pseudo %s: cannot lstat tmpfile %s: %s", 34},
> --  {"send_pseudo %s: avoiding symlink trap", 35},
> --  {"send_pseudo %s: cannot write to tmpfile %s: %s", 36},
> --  {"send_pseudo %s: failed", 37},
> --  {"send_pseudo %s: ok", 38},
> --  {"tcp protocol init failed\n", 39},
> --  {"Answering TIMESYNC at %s", 40},
> --  {"timezone", 41},
> --  {"timezone unknown", 42},
> --  {"Can't open any requested files.", 43},
> --  {"security violation: not allowed to upload from %s", 44},
> --  {"cannot open %s", 45},
> --  {"is not a file: %s", 46},
> --  {"%s/%s: error occured", 47},
> --  {"skipped: %s", 48},
> --  {"%s/%s: skipped", 49},
> --  {"Bytes Sent:%7ld   BPS:%-8ld                        \n", 50},
> --  {"Sending %s, %ld blocks: ", 51},
> --  {"Give your local XMODEM receive command now.", 52},
> --  {"Sending: %s\n", 53},
> --  {"Timeout on pathname", 54},
> --  {"Receiver Cancelled", 55},
> --  {"No ACK on EOT", 56},
> --  {"Xmodem sectors/kbytes sent: %3d/%2dk", 57},
> --  {"Ymodem sectors/kbytes sent: %3d/%2dk", 58},
> --  {"Cancelled", 59},
> --  {"Timeout on sector ACK", 60},
> --  {"NAK on sector", 61},
> --  {"Got burst for sector ACK", 62},
> --  {"Got %02x for sector ACK", 63},
> --  {"Retry Count Exceeded", 64},
> --  {"Try `%s --help' for more information.\n", 65},
> --  {"%s version %s\n", 66},
> --  {"Usage: %s [options] file ...\n", 67},
> --  {"   or: %s [options] -{c|i} COMMAND\n", 68},
> --  {"Send file(s) with ZMODEM/YMODEM/XMODEM protocol\n", 69},
> --  {"\
> --    (X) = option applies to XMODEM only\n\
> --    (Y) = option applies to YMODEM only\n\
> --    (Z) = option applies to ZMODEM only\n", 70},
> --  {"\
> --  -+, --append                append to existing destination file (Z)\n\
> --  -2, --twostop               use 2 stop bits\n\
> --  -4, --try-4k                go up to 4K blocksize\n\
> --      --start-4k              start with 4K blocksize (doesn't try 8)\n\
> --  -8, --try-8k                go up to 8K blocksize\n\
> --      --start-8k              start with 8K blocksize\n\
> --  -a, --ascii                 ASCII transfer (change CR/LF to LF)\n\
> --  -b, --binary                binary transfer\n\
> --  -B, --bufsize N             buffer N bytes (N==auto: buffer whole
> file)\n\
> --  -c, --command COMMAND       execute remote command COMMAND (Z)\n\
> --  -C, --command-tries N       try N times to execute a command (Z)\n\
> --  -d, --dot-to-slash          change '.' to '/' in pathnames (Y/Z)\n\
> --      --delay-startup N       sleep N seconds before doing anything\n\
> --  -e, --escape                escape all control characters (Z)\n\
> --  -E, --rename                force receiver to rename files it already
> has\n\
> --  -f, --full-path             send full pathname (Y/Z)\n\
> --  -i, --immediate-command CMD send remote CMD, return immediately (Z)\n\
> --  -h, --help                  print this usage message\n\
> --  -k, --1k                    send 1024 byte packets (X)\n\
> --  -L, --packetlen N           limit subpacket length to N bytes (Z)\n\
> --  -l, --framelen N            limit frame length to N bytes (l>=L) (Z)\n\
> --  -m, --min-bps N             stop transmission if BPS below N\n\
> --  -M, --min-bps-time N          for at least N seconds (default:
> 120)\n", 71},
> --  {"\
> --  -n, --newer                 send file if source newer (Z)\n\
> --  -N, --newer-or-longer       send file if source newer or longer (Z)\n\
> --  -o, --16-bit-crc            use 16 bit CRC instead of 32 bit CRC (Z)\n\
> --  -O, --disable-timeouts      disable timeout code, wait forever\n\
> --  -p, --protect               protect existing destination file (Z)\n\
> --  -r, --resume                resume interrupted file transfer (Z)\n\
> --  -R, --restricted            restricted, more secure mode\n\
> --  -q, --quiet                 quiet (no progress reports)\n\
> --  -s, --stop-at {HH:MM|+N}    stop transmission at HH:MM or in N
> seconds\n\
> --      --tcp                   build a TCP connection to transmit files\n\
> --      --tcp-server            open socket, wait for connection\n\
> --  -u, --unlink                unlink file after transmission\n\
> --  -U, --unrestrict            turn off restricted mode (if allowed to)\n\
> --  -v, --verbose               be verbose, provide debugging
> information\n\
> --  -w, --windowsize N          Window is N bytes (Z)\n\
> --  -X, --xmodem                use XMODEM protocol\n\
> --  -y, --overwrite             overwrite existing files\n\
> --  -Y, --overwrite-or-skip     overwrite existing files, else skip\n\
> --      --ymodem                use YMODEM protocol\n\
> --  -Z, --zmodem                use ZMODEM protocol\n\
> --\n\
> --short options use the same arguments as the long ones\n", 72},
> --  {"got ZRQINIT", 73},
> --  {"got ZCAN", 74},
> --  {"blklen now %d\n", 75},
> --  {"zsendfdata: bps rate %ld below min %ld", 76},
> --  {"zsendfdata: reached stop time", 77},
> --  {"Bytes Sent:%7ld/%7ld   BPS:%-8ld ETA %02d:%02d  ", 78},
> --  {"calc_blklen: reduced to %d due to error\n", 79},
> --  {"calc_blklen: returned old value %d due to low bpe diff\n", 80},
> --  {"calc_blklen: old %ld, new %ld, d %ld\n", 81},
> --  {"calc_blklen: calc total_bytes=%ld, bpe=%ld, ec=%ld\n", 82},
> --  {"calc_blklen: blklen %d, ok %ld, failed %ld -> %lu\n", 83},
> --  {"calc_blklen: returned %d as best\n", 84},
> --  {"\
> --\n\
> --countem: Total %d %ld\n", 85},
> --  {"Bad escape sequence %x", 86},
> --  {"Sender Canceled", 87},
> --  {"TIMEOUT", 88},
> --  {"Bad data subpacket", 89},
> --  {"Data subpacket too long", 90},
> --  {"Garbage count exceeded", 91},
> --  {"Got %s", 92},
> --  {"Retry %d: ", 93},
> --  {"don't have settimeofday, will not set time\n", 94},
> --  {"not running as root (this is good!), can not set time\n", 95},
> --  {"bytes_per_error", 96},
> --  {"bytes-per-error should be >100", 97},
> --  {"O_SYNC not supported by the kernel", 98},
> --  {"garbage on commandline", 99},
> --  {"Usage: %s [options] [filename.if.xmodem]\n", 100},
> --  {"Receive files with ZMODEM/YMODEM/XMODEM protocol\n", 101},
> --  {"\
> --  -+, --append                append to existing files\n\
> --  -a, --ascii                 ASCII transfer (change CR/LF to LF)\n\
> --  -b, --binary                binary transfer\n\
> --  -B, --bufsize N             buffer N bytes (N==auto: buffer whole
> file)\n\
> --  -c, --with-crc              Use 16 bit CRC (X)\n\
> --  -C, --allow-remote-commands allow execution of remote commands (Z)\n\
> --  -D, --null                  write all received data to /dev/null\n\
> --      --delay-startup N       sleep N seconds before doing anything\n\
> --  -e, --escape                Escape control characters (Z)\n\
> --  -E, --rename                rename any files already existing\n\
> --      --errors N              generate CRC error every N bytes
> (debugging)\n\
> --  -h, --help                  Help, print this usage message\n\
> --  -m, --min-bps N             stop transmission if BPS below N\n\
> --  -M, --min-bps-time N          for at least N seconds (default: 120)\n\
> --  -O, --disable-timeouts      disable timeout code, wait forever for
> data\n\
> --      --o-sync                open output file(s) in synchronous write
> mode\n\
> --  -p, --protect               protect existing files\n\
> --  -q, --quiet                 quiet, no progress reports\n\
> --  -r, --resume                try to resume interrupted file transfer
> (Z)\n\
> --  -R, --restricted            restricted, more secure mode\n\
> --  -s, --stop-at {HH:MM|+N}    stop transmission at HH:MM or in N
> seconds\n\
> --  -S, --timesync              request remote time (twice: set local
> time)\n\
> --      --syslog[=off]          turn syslog on or off, if possible\n\
> --  -t, --timeout N             set timeout to N tenths of a second\n\
> --  -u, --keep-uppercase        keep upper case filenames\n\
> --  -U, --unrestrict            disable restricted mode (if allowed to)\n\
> --  -v, --verbose               be verbose, provide debugging
> information\n\
> --  -w, --windowsize N          Window is N bytes (Z)\n\
> --  -X  --xmodem                use XMODEM protocol\n\
> --  -y, --overwrite             Yes, clobber existing file if any\n\
> --      --ymodem                use YMODEM protocol\n\
> --  -Z, --zmodem                use ZMODEM protocol\n\
> --\n\
> --short options use the same arguments as the long ones\n", 102},
> --  {"%s waiting to receive.", 103},
> --  {"\rBytes received: %7ld/%7ld   BPS:%-6ld                \r\n", 104},
> --  {"%s: ready to receive %s", 105},
> --  {"\rBytes received: %7ld   BPS:%-6ld                \r\n", 106},
> --  {"\
> --\r\n\
> --%s: %s removed.\r\n", 107},
> --  {"Pathname fetch returned EOT", 108},
> --  {"Received dup Sector", 109},
> --  {"Sync Error", 110},
> --  {"CRC", 111},
> --  {"Checksum", 112},
> --  {"Sector number garbled", 113},
> --  {"Sender Cancelled", 114},
> --  {"Got 0%o sector header", 115},
> --  {"file name ends with a /, skipped: %s\n", 116},
> --  {"zmanag=%d, Lzmanag=%d\n", 117},
> --  {"zconv=%d\n", 118},
> --  {"file exists, skipped: %s\n", 119},
> --  {"TIMESYNC: here %ld, remote %ld, diff %ld seconds\n", 120},
> --  {"TIMESYNC: cannot set time: %s\n", 121},
> --  {"cannot tmpfile() for tcp protocol synchronization", 122},
> --  {"Topipe", 123},
> --  {"Receiving: %s\n", 124},
> --  {"Blocks received: %d", 125},
> --  {"%s: %s exists\n", 126},
> --  {"%s:\tSecurity Violation", 127},
> --  {"remote command execution requested", 128},
> --  {"not executed", 129},
> --  {"got ZRINIT", 130},
> --  {"Skipped", 131},
> --  {"rzfile: bps rate %ld below min %ld", 132},
> --  {"rzfile: reached stop time", 133},
> --  {"\rBytes received: %7ld/%7ld   BPS:%-6ld ETA %02d:%02d  ", 134},
> --  {"fgets for tcp protocol synchronization failed: ", 135},
> --  {"file close error", 136},
> --};
> --
> --int _msg_tbl_length = 136;
> ---- lrzsz-0.12.20.safe/po/ChangeLog    1998-04-26 09:20:52.000000000 -0400
> -+++ lrzsz-0.12.20/po/ChangeLog 2004-09-12 14:40:34.793681512 -0400
> -@@ -1,3 +1,15 @@
> -+2004-09-12  gettextize  <bug-gnu-gettext at gnu.org>
> -+
> -+      * boldquot.sed: New file, from gettext-0.14.1.
> -+      * en at boldquot.header: New file, from gettext-0.14.1.
> -+      * en at quot.header: New file, from gettext-0.14.1.
> -+      * insert-header.sin: New file, from gettext-0.14.1.
> -+      * quot.sed: New file, from gettext-0.14.1.
> -+      * remove-potcdate.sin: New file, from gettext-0.14.1.
> -+      * Rules-quot: New file, from gettext-0.14.1.
> -+      * cat-id-tbl.c: Remove file.
> -+      * stamp-cat-id: Remove file.
> -+
> - /* Automatically generated by po2tbl.sed from lrzsz.pot.  */
> -
> - #if HAVE_CONFIG_H
> ---- lrzsz-0.12.20.safe/po/en at boldquot.header   1969-12-31
> 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/po/en at boldquot.header        2004-09-12
> 14:40:34.731690936 -0400
> -@@ -0,0 +1,25 @@
> -+# All this catalog "translates" are quotation characters.
> -+# The msgids must be ASCII and therefore cannot contain real quotation
> -+# characters, only substitutes like grave accent (0x60), apostrophe
> (0x27)
> -+# and double quote (0x22). These substitutes look strange; see
> -+# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
> -+#
> -+# This catalog translates grave accent (0x60) and apostrophe (0x27) to
> -+# left single quotation mark (U+2018) and right single quotation mark
> (U+2019).
> -+# It also translates pairs of apostrophe (0x27) to
> -+# left single quotation mark (U+2018) and right single quotation mark
> (U+2019)
> -+# and pairs of quotation mark (0x22) to
> -+# left double quotation mark (U+201C) and right double quotation mark
> (U+201D).
> -+#
> -+# When output to an UTF-8 terminal, the quotation characters appear
> perfectly.
> -+# When output to an ISO-8859-1 terminal, the single quotation marks are
> -+# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to
> -+# grave/acute accent (by libiconv), and the double quotation marks are
> -+# transliterated to 0x22.
> -+# When output to an ASCII terminal, the single quotation marks are
> -+# transliterated to apostrophes, and the double quotation marks are
> -+# transliterated to 0x22.
> -+#
> -+# This catalog furthermore displays the text between the quotation marks
> in
> -+# bold face, assuming the VT100/XTerm escape sequences.
> -+#
> ---- lrzsz-0.12.20.safe/po/en at quot.header       1969-12-31
> 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/po/en at quot.header    2004-09-12 14:40:34.737690024
> -0400
> -@@ -0,0 +1,22 @@
> -+# All this catalog "translates" are quotation characters.
> -+# The msgids must be ASCII and therefore cannot contain real quotation
> -+# characters, only substitutes like grave accent (0x60), apostrophe
> (0x27)
> -+# and double quote (0x22). These substitutes look strange; see
> -+# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
> -+#
> -+# This catalog translates grave accent (0x60) and apostrophe (0x27) to
> -+# left single quotation mark (U+2018) and right single quotation mark
> (U+2019).
> -+# It also translates pairs of apostrophe (0x27) to
> -+# left single quotation mark (U+2018) and right single quotation mark
> (U+2019)
> -+# and pairs of quotation mark (0x22) to
> -+# left double quotation mark (U+201C) and right double quotation mark
> (U+201D).
> -+#
> -+# When output to an UTF-8 terminal, the quotation characters appear
> perfectly.
> -+# When output to an ISO-8859-1 terminal, the single quotation marks are
> -+# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to
> -+# grave/acute accent (by libiconv), and the double quotation marks are
> -+# transliterated to 0x22.
> -+# When output to an ASCII terminal, the single quotation marks are
> -+# transliterated to apostrophes, and the double quotation marks are
> -+# transliterated to 0x22.
> -+#
> ---- lrzsz-0.12.20.safe/po/insert-header.sin    1969-12-31
> 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/po/insert-header.sin 2004-09-12 14:40:34.743689112 -0400
> -@@ -0,0 +1,23 @@
> -+# Sed script that inserts the file called HEADER before the header entry.
> -+#
> -+# At each occurrence of a line starting with "msgid ", we execute the
> following
> -+# commands. At the first occurrence, insert the file. At the following
> -+# occurrences, do nothing. The distinction between the first and the
> following
> -+# occurrences is achieved by looking at the hold space.
> -+/^msgid /{
> -+x
> -+# Test if the hold space is empty.
> -+s/m/m/
> -+ta
> -+# Yes it was empty. First occurrence. Read the file.
> -+r HEADER
> -+# Output the file's contents by reading the next line. But don't lose the
> -+# current line while doing this.
> -+g
> -+N
> -+bb
> -+:a
> -+# The hold space was nonempty. Following occurrences. Do nothing.
> -+x
> -+:b
> -+}
> ---- lrzsz-0.12.20.safe/po/Makevars     1969-12-31 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/po/Makevars  2004-09-12 14:40:34.748688352 -0400
> -@@ -0,0 +1,41 @@
> -+# Makefile variables for PO directory in any package using GNU gettext.
> -+
> -+# Usually the message domain is the same as the package name.
> -+DOMAIN = $(PACKAGE)
> -+
> -+# These two variables depend on the location of this directory.
> -+subdir = po
> -+top_builddir = ..
> -+
> -+# These options get passed to xgettext.
> -+XGETTEXT_OPTIONS = --keyword=_ --keyword=N_
> -+
> -+# This is the copyright holder that gets inserted into the header of the
> -+# $(DOMAIN).pot file.  Set this to the copyright holder of the
> surrounding
> -+# package.  (Note that the msgstr strings, extracted from the package's
> -+# sources, belong to the copyright holder of the package.)  Translators
> are
> -+# expected to transfer the copyright for their translations to this
> person
> -+# or entity, or to disclaim their copyright.  The empty string stands for
> -+# the public domain; in this case the translators are expected to
> disclaim
> -+# their copyright.
> -+COPYRIGHT_HOLDER = Free Software Foundation, Inc.
> -+
> -+# This is the email address or URL to which the translators shall report
> -+# bugs in the untranslated strings:
> -+# - Strings which are not entire sentences, see the maintainer guidelines
> -+#   in the GNU gettext documentation, section 'Preparing Strings'.
> -+# - Strings which use unclear terms or require additional context to be
> -+#   understood.
> -+# - Strings which make invalid assumptions about notation of date, time
> or
> -+#   money.
> -+# - Pluralisation problems.
> -+# - Incorrect English spelling.
> -+# - Incorrect formatting.
> -+# It can be your email address, or a mailing list address where
> translators
> -+# can write to without being subscribed, or the URL of a web page through
> -+# which the translators can contact you.
> -+MSGID_BUGS_ADDRESS =
> -+
> -+# This is the list of locale categories, beyond LC_MESSAGES, for which
> the
> -+# message catalogs shall be used.  It is usually empty.
> -+EXTRA_LOCALE_CATEGORIES =
> ---- lrzsz-0.12.20.safe/po/quot.sed     1969-12-31 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/po/quot.sed  2004-09-12 14:40:34.754687440 -0400
> -@@ -0,0 +1,6 @@
> -+s/"\([^"]*\)"/“\1”/g
> -+s/`\([^`']*\)'/‘\1’/g
> -+s/ '\([^`']*\)' / ‘\1’ /g
> -+s/ '\([^`']*\)'$/ ‘\1’/g
> -+s/^'\([^`']*\)' /‘\1’ /g
> -+s/“”/""/g
> ---- lrzsz-0.12.20.safe/po/remove-potcdate.sin  1969-12-31
> 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/po/remove-potcdate.sin       2004-09-12
> 14:40:34.762686224 -0400
> -@@ -0,0 +1,19 @@
> -+# Sed script that remove the POT-Creation-Date line in the header entry
> -+# from a POT file.
> -+#
> -+# The distinction between the first and the following occurrences of the
> -+# pattern is achieved by looking at the hold space.
> -+/^"POT-Creation-Date: .*"$/{
> -+x
> -+# Test if the hold space is empty.
> -+s/P/P/
> -+ta
> -+# Yes it was empty. First occurrence. Remove the line.
> -+g
> -+d
> -+bb
> -+:a
> -+# The hold space was nonempty. Following occurrences. Do nothing.
> -+x
> -+:b
> -+}
> ---- lrzsz-0.12.20.safe/po/Rules-quot   1969-12-31 19:00:00.000000000 -0500
> -+++ lrzsz-0.12.20/po/Rules-quot        2004-09-12 14:40:34.778683792 -0400
> -@@ -0,0 +1,47 @@
> -+# Special Makefile rules for English message catalogs with quotation
> marks.
> -+
> -+DISTFILES.common.extra1 = quot.sed boldquot.sed en at quot.header
> en at boldquot.header insert-header.sin Rules-quot
> -+
> -+.SUFFIXES: .insert-header .po-update-en
> -+
> -+en at quot.po-create:
> -+      $(MAKE) en at quot.po-update
> -+en at boldquot.po-create:
> -+      $(MAKE) en at boldquot.po-update
> -+
> -+en at quot.po-update: en at quot.po-update-en
> -+en at boldquot.po-update: en at boldquot.po-update-en
> -+
> -+.insert-header.po-update-en:
> -+      @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \
> -+      if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH;
> GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \
> -+      tmpdir=`pwd`; \
> -+      echo "$$lang:"; \
> -+      ll=`echo $$lang | sed -e 's/@.*//'`; \
> -+      LC_ALL=C; export LC_ALL; \
> -+      cd $(srcdir); \
> -+      if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$ll -o -
> 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 |
> $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null >
> $$tmpdir/$$lang.new.po; then \
> -+        if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
> -+          rm -f $$tmpdir/$$lang.new.po; \
> -+        else \
> -+          if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
> -+            :; \
> -+          else \
> -+            echo "creation of $$lang.po failed: cannot move
> $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
> -+            exit 1; \
> -+          fi; \
> -+        fi; \
> -+      else \
> -+        echo "creation of $$lang.po failed!" 1>&2; \
> -+        rm -f $$tmpdir/$$lang.new.po; \
> -+      fi
> -+
> -+en at quot.insert-header: insert-header.sin
> -+      sed -e '/^#/d' -e 's/HEADER/en at quot.header/g'
> $(srcdir)/insert-header.sin > en at quot.insert-header
> -+
> -+en at boldquot.insert-header: insert-header.sin
> -+      sed -e '/^#/d' -e 's/HEADER/en at boldquot.header/g'
> $(srcdir)/insert-header.sin > en at boldquot.insert-header
> -+
> -+mostlyclean: mostlyclean-quot
> -+mostlyclean-quot:
> -+      rm -f *.insert-header
> ---- lrzsz-0.12.20.safe/po/stamp-cat-id 1998-12-30 02:50:01.000000000 -0500
> -+++ lrzsz-0.12.20/po/stamp-cat-id      1969-12-31 19:00:00.000000000 -0500
> -@@ -1 +0,0 @@
> --timestamp
> ---- lrzsz-0.12.20.safe/src/Makefile.am 1998-12-28 03:38:47.000000000 -0500
> -+++ lrzsz-0.12.20/src/Makefile.am      2004-09-12 14:40:53.665812512 -0400
> -@@ -2,12 +2,12 @@
> - lrz_SOURCES=lrz.c timing.c zperr.c zreadline.c crctab.c rbsb.c zm.c
> protname.c tcp.c lsyslog.c canit.c
> - lsz_SOURCES=lsz.c timing.c zperr.c zreadline.c crctab.c rbsb.c zm.c
> protname.c tcp.c lsyslog.c canit.c
> - noinst_HEADERS = timing.h zglobal.h zmodem.h
> --datadir = $(prefix)/@DATADIRNAME@
> -+datadir = $(prefix)/share
> - localedir = $(datadir)/locale
> - CFLAGS=@CFLAGS@
> - DISTCLEAN_FILES=lrzszbug
> -
> --LDADD = ../lib/libzmodem.a @INTLLIBS@
> -+LDADD = ../lib/libzmodem.a @LIBINTL@
> - AUTOMAKE_OPTIONS=ansi2knr
> - EXTRA_DIST = ansi2knr.1 ansi2knr.c lrzszbug.in
> - INCLUDES = -I.. -I$(srcdir) -I$(top_srcdir)/src -I../intl
> -I$(top_srcdir)/lib
> diff --git a/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/include.patch
> b/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/include.patch
> deleted file mode 100644
> index 5fcb3aa92b5..00000000000
> --- a/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/include.patch
> +++ /dev/null
> @@ -1,25 +0,0 @@
> -Implicit declaration compile warning fixes from Debian
> -
> -Signed-off-by: Adrian Bunk <bunk at stusta.de>
> -Upstream-Status: Inappropriate [upstream is dead]
> -
> ---- lrzsz-0.12.21.orig/lib/long-options.c
> -+++ lrzsz-0.12.21/lib/long-options.c
> -@@ -22,6 +22,7 @@
> - #endif
> -
> - #include <stdio.h>
> -+#include <stdlib.h>
> - #include <getopt.h>
> - #include "long-options.h"
> -
> ---- lrzsz-0.12.21.orig/src/lsyslog.c
> -+++ lrzsz-0.12.21/src/lsyslog.c
> -@@ -22,6 +22,7 @@
> - #ifdef ENABLE_SYSLOG
> - #include "zglobal.h"
> - #include <pwd.h>
> -+#include <stdio.h>
> - #include <stdlib.h>
> - #include <string.h>
> - #endif
> diff --git
> a/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/lrzsz-check-locale.h.patch
> b/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/lrzsz-check-locale.h.patch
> deleted file mode 100644
> index 9e46dfa070f..00000000000
> --- a/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/lrzsz-check-locale.h.patch
> +++ /dev/null
> @@ -1,32 +0,0 @@
> -From 28b473c3c96682a820e292cc1be006e19aee11bc Mon Sep 17 00:00:00 2001
> -From: Jackie Huang <jackie.huang at windriver.com>
> -Date: Fri, 24 May 2013 01:07:24 -0400
> -Subject: [PATCH] lrzsz check locale.h
> -
> -fix the build failure when using -O0 in a debug build:
> -lrz.c:284:13: error: 'LC_ALL' undeclared (first use in this function)
> -
> -Upstream-Status: Submitted [uwe at ohse.de]
> -
> -Signed-off-by: Jackie Huang <jackie.huang at windriver.com>
> -Signed-off-by: Mark Hatle <mark.hatle at windriver.com>
> ----
> - configure.in |    2 +-
> - 1 file changed, 1 insertion(+), 1 deletion(-)
> -
> -diff --git a/configure.in b/configure.in
> -index 6e2064c..c10460c 100644
> ---- a/configure.in
> -+++ b/configure.in
> -@@ -130,7 +130,7 @@ AC_CHECK_HEADERS(fcntl.h limits.h sys/ioctl.h
> sys/time.h unistd.h sys/times.h)
> - LRZSZ_HEADERS_TERM_IO
> - AC_CHECK_HEADERS(termios.h sys/termios.h termio.h sys/termio.h sgtty.h)
> - AC_CHECK_HEADERS(sys/mman.h utime.h syslog.h sys/syslog.h sys/param.h)
> --AC_CHECK_HEADERS(sys/select.h strings.h arpa/inet.h)
> -+AC_CHECK_HEADERS(sys/select.h strings.h locale.h arpa/inet.h)
> -
> - dnl Checks for typedefs, structures, and compiler characteristics.
> - AC_TYPE_SIZE_T
> ---
> -1.7.9.5
> -
> diff --git
> a/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/lrzsz_fix_for_automake-1.12.patch
> b/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/lrzsz_fix_for_automake-1.12.patch
> deleted file mode 100644
> index 682f1c9c8de..00000000000
> ---
> a/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/lrzsz_fix_for_automake-1.12.patch
> +++ /dev/null
> @@ -1,49 +0,0 @@
> -Upstream-Status: Pending
> -
> -This patch fixes following issue with automake 1.12
> -
> -| configure.in:95: error: automatic de-ANSI-fication support has been
> removed
> -...
> -| lib/Makefile.am:3: error: automatic de-ANSI-fication support has been
> removed
> -| lib/Makefile.am: installing './depcomp'
> -| src/Makefile.am:11: error: automatic de-ANSI-fication support has been
> removed
> -
> -
> -Signed-off-by: Nitin A Kamble <nitin.a.kamble at intel.com>
> -2012/05/03
> -
> -Index: lrzsz-0.12.20/configure.in
> -===================================================================
> ---- lrzsz-0.12.20.orig/configure.in
> -+++ lrzsz-0.12.20/configure.in
> -@@ -92,7 +92,6 @@ AC_PROG_RANLIB
> - AC_ISC_POSIX
> - AC_AIX
> - AC_MINIX
> --AM_C_PROTOTYPES
> - AC_C_CONST
> - AC_C_INLINE
> -
> -Index: lrzsz-0.12.20/lib/Makefile.am
> -===================================================================
> ---- lrzsz-0.12.20.orig/lib/Makefile.am
> -+++ lrzsz-0.12.20/lib/Makefile.am
> -@@ -1,6 +1,5 @@
> - noinst_LIBRARIES=libzmodem.a
> - CFLAGS=@CFLAGS@
> --AUTOMAKE_OPTIONS=ansi2knr
> -
> - EXTRA_DIST = alloca.c ansi2knr.1 ansi2knr.c \
> -       getopt.c getopt1.c mkdir.c mktime.c \
> -Index: lrzsz-0.12.20/src/Makefile.am
> -===================================================================
> ---- lrzsz-0.12.20.orig/src/Makefile.am
> -+++ lrzsz-0.12.20/src/Makefile.am
> -@@ -8,7 +8,6 @@ CFLAGS=@CFLAGS@
> - DISTCLEAN_FILES=lrzszbug
> -
> - LDADD = ../lib/libzmodem.a @LIBINTL@
> --AUTOMAKE_OPTIONS=ansi2knr
> - EXTRA_DIST = ansi2knr.1 ansi2knr.c lrzszbug.in
> - INCLUDES = -I.. -I$(srcdir) -I$(top_srcdir)/src -I../intl
> -I$(top_srcdir)/lib
> - #DEFS = -DLOCALEDIR=\"$(localedir)\" -DOS=\"@host_os@\"
> -DCPU=\"@host_cpu@\"
> diff --git a/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/makefile.patch
> b/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/makefile.patch
> deleted file mode 100644
> index ace592c8f26..00000000000
> --- a/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/makefile.patch
> +++ /dev/null
> @@ -1,22 +0,0 @@
> -Upstream-Status: Inappropriate [configuration]
> -
> -diff -ruN lrzsz-0.12.20_org/src/Makefile.in
> lrzsz-0.12.20_patch/src/Makefile.in
> ---- lrzsz-0.12.20_org/src/Makefile.in  1998-12-30 17:31:46.000000000 +0100
> -+++ lrzsz-0.12.20_patch/src/Makefile.in        2004-04-29
> 13:57:33.434909656 +0200
> -@@ -372,13 +372,13 @@
> -       rm -f $(DESTDIR)/$(bindir)/`echo lsb | sed -e '$(transform)'`
> -       ln $(DESTDIR)/$(bindir)/`echo lsz |sed -e '$(transform)'` \
> -               $(DESTDIR)/$(bindir)/`echo lsb |sed -e '$(transform)'`
> --      rm -f $(bindir)/`echo lsx | sed -e '$(transform)'`
> -+      rm -f $(DESTDIR)/$(bindir)/`echo lsx | sed -e '$(transform)'`
> -       ln $(DESTDIR)/$(bindir)/`echo lsz |sed -e '$(transform)'` \
> -               $(DESTDIR)/$(bindir)/`echo lsx |sed -e '$(transform)'`
> --      rm -f $(bindir)/`echo lrb | sed -e '$(transform)'`
> -+      rm -f $(DESTDIR)/$(bindir)/`echo lrb | sed -e '$(transform)'`
> -       ln $(DESTDIR)/$(bindir)/`echo lrz |sed -e '$(transform)'` \
> -               $(DESTDIR)/$(bindir)/`echo lrb |sed -e '$(transform)'`
> --      rm -f $(bindir)/`echo lrx | sed -e '$(transform)'`
> -+      rm -f $(DESTDIR)/$(bindir)/`echo lrx | sed -e '$(transform)'`
> -       ln $(DESTDIR)/$(bindir)/`echo lrz |sed -e '$(transform)'` \
> -               $(DESTDIR)/$(bindir)/`echo lrx |sed -e '$(transform)'`
> - #     rm -f $(bindir)/`echo lrzszbug | sed -e '$(transform)'`
> diff --git a/meta/recipes-bsp/lrzsz/lrzsz_0.12.20.bb
> b/meta/recipes-bsp/lrzsz/lrzsz_0.12.20.bb
> deleted file mode 100644
> index 34556b2c294..00000000000
> --- a/meta/recipes-bsp/lrzsz/lrzsz_0.12.20.bb
> +++ /dev/null
> @@ -1,50 +0,0 @@
> -SUMMARY = "Tools for zmodem/xmodem/ymodem file transfer"
> -DESCRIPTION = "Lrzsz is a cosmetically modified zmodem/ymodem/xmodem
> package built from \
> -the public-domain version of Chuck Forsberg's rzsz package. \
> -These programs use error correcting protocols ({z,x,y}modem) to send (sz,
> sx, sb) and \
> -receive (rz, rx, rb) files over a dial-in serial port from a variety of
> programs \
> -running under various operating systems. "
> -HOMEPAGE = "http://www.ohse.de/uwe/software/lrzsz.html"
> -LICENSE = "GPLv2+"
> -LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
> -
>  file://src/lrz.c;beginline=1;endline=10;md5=5276956373ff7d8758837f6399a1045f"
> -SECTION = "console/network"
> -DEPENDS = ""
> -PR = "r6"
> -
> -SRC_URI = "http://www.ohse.de/uwe/releases/lrzsz-${PV}.tar.gz \
> -          file://autotools.patch \
> -          file://makefile.patch \
> -          file://gettext.patch \
> -          file://acdefine.patch \
> -          file://lrzsz_fix_for_automake-1.12.patch \
> -           file://lrzsz-check-locale.h.patch \
> -           file://cve-2018-10195.patch \
> -           file://include.patch \
> -           "
> -
> -SRC_URI[md5sum] = "b5ce6a74abc9b9eb2af94dffdfd372a4"
> -SRC_URI[sha256sum] =
> "c28b36b14bddb014d9e9c97c52459852f97bd405f89113f30bee45ed92728ff1"
> -
> -UPSTREAM_CHECK_URI = "http://ohse.de/uwe/software/lrzsz.html"
> -
> -inherit autotools gettext
> -
> -do_install() {
> -       install -d ${D}${bindir}/
> -       install -m 0755 src/lrz src/lsz ${D}${bindir}/
> -}
> -
> -inherit update-alternatives
> -
> -ALTERNATIVE_PRIORITY = "100"
> -
> -ALTERNATIVE_${PN} = "rz rx rb sz sx sb"
> -
> -ALTERNATIVE_TARGET[rz] = "${bindir}/lrz"
> -ALTERNATIVE_TARGET[rx] = "${bindir}/lrz"
> -ALTERNATIVE_TARGET[rb] = "${bindir}/lrz"
> -
> -ALTERNATIVE_TARGET[sz] = "${bindir}/lsz"
> -ALTERNATIVE_TARGET[sx] = "${bindir}/lsz"
> -ALTERNATIVE_TARGET[sb] = "${bindir}/lsz"
> diff --git a/meta/recipes-core/packagegroups/packagegroup-base.bb
> b/meta/recipes-core/packagegroups/packagegroup-base.bb
> index 1f802da09b7..610b1e0216e 100644
> --- a/meta/recipes-core/packagegroups/packagegroup-base.bb
> +++ b/meta/recipes-core/packagegroups/packagegroup-base.bb
> @@ -337,7 +337,7 @@ RRECOMMENDS_packagegroup-base-ipv6 = "\
>  SUMMARY_packagegroup-base-serial = "Serial port support"
>  RDEPENDS_packagegroup-base-serial = "\
>      setserial \
> -    lrzsz "
> +    "
>
>  SUMMARY_packagegroup-base-phone = "Cellular telephony (voice) support"
>  RDEPENDS_packagegroup-base-phone = "\
> diff --git a/meta/recipes-extended/minicom/minicom_2.7.1.bb
> b/meta/recipes-extended/minicom/minicom_2.7.1.bb
> index 1e6f1317ebe..1dbb8c0316b 100644
> --- a/meta/recipes-extended/minicom/minicom_2.7.1.bb
> +++ b/meta/recipes-extended/minicom/minicom_2.7.1.bb
> @@ -24,5 +24,3 @@ inherit autotools gettext pkgconfig
>  do_install() {
>         for d in doc extras man lib src; do make -C $d DESTDIR=${D}
> install; done
>  }
> -
> -RRECOMMENDS_${PN} += "lrzsz"
> --
> 2.17.1
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20191127/fd8476fd/attachment-0001.html>


More information about the Openembedded-core mailing list