<div dir="ltr"><div>Ignore this :) will resend the right set in a moment!</div><div><br></div><div>Alex<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, 27 Nov 2019 at 17:38, Alexander Kanavin <<a href="mailto:alex.kanavin@gmail.com">alex.kanavin@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">This is 2019; last release of lrzsz was in 1998.<br>
<br>
Using serial lines for console work may have its uses,<br>
but for transferring files please set up proper networking.<br>
<br>
Signed-off-by: Alexander Kanavin <<a href="mailto:alex.kanavin@gmail.com" target="_blank">alex.kanavin@gmail.com</a>><br>
---<br>
meta/conf/distro/include/maintainers.inc | 1 -<br>
.../lrzsz/lrzsz-0.12.20/acdefine.patch | 19 -<br>
.../lrzsz/lrzsz-0.12.20/autotools.patch | 39 -<br>
.../lrzsz/lrzsz-0.12.20/cve-2018-10195.patch | 28 -<br>
.../lrzsz/lrzsz-0.12.20/gettext.patch | 21884 ----------------<br>
.../lrzsz/lrzsz-0.12.20/include.patch | 25 -<br>
.../lrzsz-0.12.20/lrzsz-check-locale.h.patch | 32 -<br>
.../lrzsz_fix_for_automake-1.12.patch | 49 -<br>
.../lrzsz/lrzsz-0.12.20/makefile.patch | 22 -<br>
meta/recipes-bsp/lrzsz/<a href="http://lrzsz_0.12.20.bb" rel="noreferrer" target="_blank">lrzsz_0.12.20.bb</a> | 50 -<br>
.../packagegroups/<a href="http://packagegroup-base.bb" rel="noreferrer" target="_blank">packagegroup-base.bb</a> | 2 +-<br>
.../recipes-extended/minicom/<a href="http://minicom_2.7.1.bb" rel="noreferrer" target="_blank">minicom_2.7.1.bb</a> | 2 -<br>
12 files changed, 1 insertion(+), 22152 deletions(-)<br>
delete mode 100644 meta/recipes-bsp/lrzsz/lrzsz-0.12.20/acdefine.patch<br>
delete mode 100644 meta/recipes-bsp/lrzsz/lrzsz-0.12.20/autotools.patch<br>
delete mode 100644 meta/recipes-bsp/lrzsz/lrzsz-0.12.20/cve-2018-10195.patch<br>
delete mode 100644 meta/recipes-bsp/lrzsz/lrzsz-0.12.20/gettext.patch<br>
delete mode 100644 meta/recipes-bsp/lrzsz/lrzsz-0.12.20/include.patch<br>
delete mode 100644 meta/recipes-bsp/lrzsz/lrzsz-0.12.20/lrzsz-check-locale.h.patch<br>
delete mode 100644 meta/recipes-bsp/lrzsz/lrzsz-0.12.20/lrzsz_fix_for_automake-1.12.patch<br>
delete mode 100644 meta/recipes-bsp/lrzsz/lrzsz-0.12.20/makefile.patch<br>
delete mode 100644 meta/recipes-bsp/lrzsz/<a href="http://lrzsz_0.12.20.bb" rel="noreferrer" target="_blank">lrzsz_0.12.20.bb</a><br>
<br>
diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc<br>
index 79404dfbdb7..42e587663c7 100644<br>
--- a/meta/conf/distro/include/maintainers.inc<br>
+++ b/meta/conf/distro/include/maintainers.inc<br>
@@ -450,7 +450,6 @@ RECIPE_MAINTAINER_pn-linux-yocto-rt = "Bruce Ashfield <<a href="mailto:bruce.ashfield@gmail.com" target="_blank">bruce.ashfield@gmail.com</a>><br>
RECIPE_MAINTAINER_pn-linux-yocto-tiny = "Bruce Ashfield <<a href="mailto:bruce.ashfield@gmail.com" target="_blank">bruce.ashfield@gmail.com</a>>"<br>
RECIPE_MAINTAINER_pn-llvm = "Khem Raj <<a href="mailto:raj.khem@gmail.com" target="_blank">raj.khem@gmail.com</a>>"<br>
RECIPE_MAINTAINER_pn-logrotate = "Yi Zhao <<a href="mailto:yi.zhao@windriver.com" target="_blank">yi.zhao@windriver.com</a>>"<br>
-RECIPE_MAINTAINER_pn-lrzsz = "Anuj Mittal <<a href="mailto:anuj.mittal@intel.com" target="_blank">anuj.mittal@intel.com</a>>"<br>
RECIPE_MAINTAINER_pn-lsb-release = "Hongxu Jia <<a href="mailto:hongxu.jia@windriver.com" target="_blank">hongxu.jia@windriver.com</a>>"<br>
RECIPE_MAINTAINER_pn-lsof = "Ross Burton <<a href="mailto:ross.burton@intel.com" target="_blank">ross.burton@intel.com</a>>"<br>
RECIPE_MAINTAINER_pn-ltp = "Yi Zhao <<a href="mailto:yi.zhao@windriver.com" target="_blank">yi.zhao@windriver.com</a>>"<br>
diff --git a/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/acdefine.patch b/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/acdefine.patch<br>
deleted file mode 100644<br>
index 682cf416e22..00000000000<br>
--- a/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/acdefine.patch<br>
+++ /dev/null<br>
@@ -1,19 +0,0 @@<br>
-Add a description to the AC_DEFINE for LOCALEDIR so that it appears in config.h<br>
-and silences a fatal warning.<br>
-<br>
-Upstream-Status:Pending<br>
-Signed-off-by: Ross Burton <<a href="mailto:ross.burton@intel.com" target="_blank">ross.burton@intel.com</a>><br>
-<br>
-diff --git a/<a href="http://configure.in" rel="noreferrer" target="_blank">configure.in</a> b/<a href="http://configure.in" rel="noreferrer" target="_blank">configure.in</a><br>
-index c10460c..aa20263 100644<br>
---- a/<a href="http://configure.in" rel="noreferrer" target="_blank">configure.in</a><br>
-+++ b/<a href="http://configure.in" rel="noreferrer" target="_blank">configure.in</a><br>
-@@ -258,7 +258,7 @@ AC_SUBST(LIBS)<br>
- <br>
- AM_GNU_GETTEXT<br>
- <br>
--AC_DEFINE_UNQUOTED(LOCALEDIR,"$prefix/$DATADIRNAME")<br>
-+AC_DEFINE_UNQUOTED(LOCALEDIR,"$prefix/$DATADIRNAME",[locale directory])<br>
- <br>
- AC_OUTPUT([Makefile intl/Makefile lib/Makefile testsuite/Makefile m4/Makefile \<br>
- man/Makefile po/Makefile.in src/Makefile debian/rules Specfile systype \<br>
diff --git a/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/autotools.patch b/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/autotools.patch<br>
deleted file mode 100644<br>
index 394519855e1..00000000000<br>
--- a/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/autotools.patch<br>
+++ /dev/null<br>
@@ -1,39 +0,0 @@<br>
-Upstream-Status: Inappropriate [configuration]<br>
-<br>
---- lrzsz-0.12.20/acinclude.m4~autotools 1998-12-27 17:08:59.000000000 -0500<br>
-+++ lrzsz-0.12.20/acinclude.m4 2004-05-09 22:26:19.000000000 -0400<br>
-@@ -1,12 +1,11 @@<br>
- dnl AC_REPLACE_GNU_GETOPT<br>
--AC_DEFUN(AC_REPLACE_GNU_GETOPT,<br>
--[AC_CHECK_FUNC(getopt_long, , [LIBOBJS="$LIBOBJS getopt1.o getopt.o"])<br>
--AC_SUBST(LIBOBJS)dnl<br>
--])<br>
-+AC_DEFUN([AC_REPLACE_GNU_GETOPT],<br>
-+[AC_CHECK_FUNC(getopt_long, , [AC_LIBOBJ([getopt1])<br>
-+AC_LIBOBJ([getopt])dnl])])<br>
- <br>
- dnl<br>
- dnl taken from taylor uucp<br>
--AC_DEFUN(LRZSZ_ERRNO_DECL,[<br>
-+AC_DEFUN([LRZSZ_ERRNO_DECL],[<br>
- AC_MSG_CHECKING(for errno declaration)<br>
- AC_CACHE_VAL(lrzsz_cv_decl_errno,<br>
- [AC_TRY_COMPILE([#include <errno.h>], [int i = errno; errno = 1;],<br>
-@@ -23,7 +21,7 @@<br>
- ])<br>
- <br>
- dnl LRZSZ_TYPE_SPEED_T<br>
--AC_DEFUN(LRZSZ_TYPE_SPEED_T,[<br>
-+AC_DEFUN([LRZSZ_TYPE_SPEED_T],[<br>
- AC_REQUIRE([AC_HEADER_STDC])dnl<br>
- AC_REQUIRE([LRZSZ_HEADERS_TERM_IO])dnl<br>
- AC_MSG_CHECKING(for speed_t)<br>
-@@ -61,7 +59,7 @@<br>
- fi<br>
- ])<br>
- <br>
--AC_DEFUN(lrzsz_HEADER_SYS_SELECT,<br>
-+AC_DEFUN([lrzsz_HEADER_SYS_SELECT],<br>
- [AC_CACHE_CHECK([whether sys/time.h and sys/select.h may both be included],<br>
- lrzsz_cv_header_sys_select,<br>
- [AC_TRY_COMPILE([#include <sys/types.h><br>
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<br>
deleted file mode 100644<br>
index dea298634f0..00000000000<br>
--- a/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/cve-2018-10195.patch<br>
+++ /dev/null<br>
@@ -1,28 +0,0 @@<br>
-Integer overflow in src/zm.c:zsdata() causes crash in sz and can leak information to receiver.<br>
-<br>
-Patch taken from Fedora.<br>
-<br>
-CVE: CVE-2018-10195<br>
-Upstream-Status: Inappropriate (dead upstream)<br>
-Signed-off-by: Ross Burton <<a href="mailto:ross.burton@intel.com" target="_blank">ross.burton@intel.com</a>><br>
-<br>
-diff -urN lrzsz-0.12.20/src/zm.c lrzsz-0.12.20.new/src/zm.c<br>
---- lrzsz-0.12.20/src/zm.c Tue Dec 29 09:48:38 1998<br>
-+++ lrzsz-0.12.20.new/src/zm.c Tue Oct 8 12:46:58 2002<br>
-@@ -431,10 +431,12 @@<br>
- VPRINTF(3,("zsdata: %lu %s", (unsigned long) length, <br>
- Zendnames[(frameend-ZCRCE)&3]));<br>
- crc = 0;<br>
-- do {<br>
-- zsendline(*buf); crc = updcrc((0377 & *buf), crc);<br>
-- buf++;<br>
-- } while (--length>0);<br>
-+<br>
-+ for( ; length; length--) {<br>
-+ zsendline(*buf); crc = updcrc((0377 & *buf), crc);<br>
-+ buf++;<br>
-+ }<br>
-+<br>
- xsendline(ZDLE); xsendline(frameend);<br>
- crc = updcrc(frameend, crc);<br>
- <br>
\ No newline at end of file<br>
diff --git a/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/gettext.patch b/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/gettext.patch<br>
deleted file mode 100644<br>
index 1a24a1f05e7..00000000000<br>
--- a/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/gettext.patch<br>
+++ /dev/null<br>
@@ -1,21884 +0,0 @@<br>
-Upstream-Status: Inappropriate [configuration]<br>
-<br>
---- lrzsz-0.12.20.safe/ABOUT-NLS 1998-04-26 09:22:30.000000000 -0400<br>
-+++ lrzsz-0.12.20/ABOUT-NLS 2004-09-12 14:40:34.323752952 -0400<br>
-@@ -1,14 +1,14 @@<br>
- Notes on the Free Translation Project<br>
- *************************************<br>
- <br>
-- Free software is going international! The Free Translation Project<br>
--is a way to get maintainers of free software, translators, and users all<br>
-+Free software is going international! The Free Translation Project is<br>
-+a way to get maintainers of free software, translators, and users all<br>
- together, so that will gradually become able to speak many languages.<br>
- A few packages already provide translations for their messages.<br>
- <br>
- If you found this `ABOUT-NLS' file inside a distribution, you may<br>
- assume that the distributed package does use GNU `gettext' internally,<br>
--itself available at your nearest GNU archive site. But you do *not*<br>
-+itself available at your nearest GNU archive site. But you do _not_<br>
- need to install GNU `gettext' prior to configuring, installing or using<br>
- this package with messages translated.<br>
- <br>
-@@ -22,10 +22,10 @@<br>
- `gettext' which is used. The information can be found in the<br>
- `intl/VERSION' file, in internationalized packages.<br>
- <br>
--One advise in advance<br>
--=====================<br>
-+Quick configuration advice<br>
-+==========================<br>
- <br>
-- If you want to exploit the full power of internationalization, you<br>
-+If you want to exploit the full power of internationalization, you<br>
- should configure it using<br>
- <br>
- ./configure --with-included-gettext<br>
-@@ -34,42 +34,40 @@<br>
- package, despite the existence of internationalizing capabilities in the<br>
- operating system where this package is being installed. So far, only<br>
- the `gettext' implementation in the GNU C library version 2 provides as<br>
--many features (such as locale alias or message inheritance) as the<br>
--implementation here. It is also not possible to offer this additional<br>
--functionality on top of a `catgets' implementation. Future versions of<br>
--GNU `gettext' will very likely convey even more functionality. So it<br>
--might be a good idea to change to GNU `gettext' as soon as possible.<br>
-+many features (such as locale alias, message inheritance, automatic<br>
-+charset conversion or plural form handling) as the implementation here.<br>
-+It is also not possible to offer this additional functionality on top<br>
-+of a `catgets' implementation. Future versions of GNU `gettext' will<br>
-+very likely convey even more functionality. So it might be a good idea<br>
-+to change to GNU `gettext' as soon as possible.<br>
- <br>
-- So you need not provide this option if you are using GNU libc 2 or<br>
-+ So you need _not_ provide this option if you are using GNU libc 2 or<br>
- you have installed a recent copy of the GNU gettext package with the<br>
- included `libintl'.<br>
- <br>
- INSTALL Matters<br>
- ===============<br>
- <br>
-- Some packages are "localizable" when properly installed; the<br>
--programs they contain can be made to speak your own native language.<br>
--Most such packages use GNU `gettext'. Other packages have their own<br>
--ways to internationalization, predating GNU `gettext'.<br>
-+Some packages are "localizable" when properly installed; the programs<br>
-+they contain can be made to speak your own native language. Most such<br>
-+packages use GNU `gettext'. Other packages have their own ways to<br>
-+internationalization, predating GNU `gettext'.<br>
- <br>
- By default, this package will be installed to allow translation of<br>
--messages. It will automatically detect whether the system provides<br>
--usable `catgets' (if using this is selected by the installer) or<br>
--`gettext' functions. If neither is available, the GNU `gettext' own<br>
-+messages. It will automatically detect whether the system already<br>
-+provides the GNU `gettext' functions. If not, the GNU `gettext' own<br>
- library will be used. This library is wholly contained within this<br>
- package, usually in the `intl/' subdirectory, so prior installation of<br>
--the GNU `gettext' package is *not* required. Installers may use<br>
-+the GNU `gettext' package is _not_ required. Installers may use<br>
- special options at configuration time for changing the default<br>
- behaviour. The commands:<br>
- <br>
- ./configure --with-included-gettext<br>
-- ./configure --with-catgets<br>
- ./configure --disable-nls<br>
- <br>
--will respectively bypass any pre-existing `catgets' or `gettext' to use<br>
--the internationalizing routines provided within this package, enable<br>
--the use of the `catgets' functions (if found on the locale system), or<br>
--else, *totally* disable translation of messages.<br>
-+will respectively bypass any pre-existing `gettext' to use the<br>
-+internationalizing routines provided within this package, or else,<br>
-+_totally_ disable translation of messages.<br>
- <br>
- When you already have GNU `gettext' installed on your system and run<br>
- configure without an option for your new package, `configure' will<br>
-@@ -83,18 +81,10 @@<br>
- <br>
- to prevent auto-detection.<br>
- <br>
-- By default the configuration process will not test for the `catgets'<br>
--function and therefore they will not be used. The reasons are already<br>
--given above: the emulation on top of `catgets' cannot provide all the<br>
--extensions provided by the GNU `gettext' library. If you nevertheless<br>
--want to use the `catgets' functions use<br>
--<br>
-- ./configure --with-catgets<br>
--<br>
--to enable the test for `catgets' (this causes no harm if `catgets' is<br>
--not available on your system). If you really select this option we<br>
--would like to hear about the reasons because we cannot think of any<br>
--good one ourself.<br>
-+ The configuration process will not test for the `catgets' function<br>
-+and therefore it will not be used. The reason is that even an<br>
-+emulation of `gettext' on top of `catgets' could not provide all the<br>
-+extensions of the GNU `gettext' library.<br>
- <br>
- Internationalized packages have usually many `po/LL.po' files, where<br>
- LL gives an ISO 639 two-letter code identifying the language. Unless<br>
-@@ -108,57 +98,73 @@<br>
- Using This Package<br>
- ==================<br>
- <br>
-- As a user, if your language has been installed for this package, you<br>
-+As a user, if your language has been installed for this package, you<br>
- only have to set the `LANG' environment variable to the appropriate<br>
--ISO 639 `LL' two-letter code prior to using the programs in the<br>
--package. For example, let's suppose that you speak German. At the<br>
--shell prompt, merely execute `setenv LANG de' (in `csh'),<br>
--`export LANG; LANG=de' (in `sh') or `export LANG=de' (in `bash'). This<br>
--can be done from your `.login' or `.profile' file, once and for all.<br>
-+`LL_CC' combination. Here `LL' is an ISO 639 two-letter language code,<br>
-+and `CC' is an ISO 3166 two-letter country code. For example, let's<br>
-+suppose that you speak German and live in Germany. At the shell<br>
-+prompt, merely execute `setenv LANG de_DE' (in `csh'),<br>
-+`export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash').<br>
-+This can be done from your `.login' or `.profile' file, once and for<br>
-+all.<br>
- <br>
-- An operating system might already offer message localization for<br>
--many of its programs, while other programs have been installed locally<br>
--with the full capabilities of GNU `gettext'. Just using `gettext'<br>
--extended syntax for `LANG' would break proper localization of already<br>
--available operating system programs. In this case, users should set<br>
--both `LANGUAGE' and `LANG' variables in their environment, as programs<br>
--using GNU `gettext' give preference to `LANGUAGE'. For example, some<br>
--Swedish users would rather read translations in German than English for<br>
--when Swedish is not available. This is easily accomplished by setting<br>
--`LANGUAGE' to `sv:de' while leaving `LANG' to `sv'.<br>
-+ You might think that the country code specification is redundant.<br>
-+But in fact, some languages have dialects in different countries. For<br>
-+example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The<br>
-+country code serves to distinguish the dialects.<br>
-+<br>
-+ The locale naming convention of `LL_CC', with `LL' denoting the<br>
-+language and `CC' denoting the country, is the one use on systems based<br>
-+on GNU libc. On other systems, some variations of this scheme are<br>
-+used, such as `LL' or `LL_CC.ENCODING'. You can get the list of<br>
-+locales supported by your system for your country by running the command<br>
-+`locale -a | grep '^LL''.<br>
-+<br>
-+ Not all programs have translations for all languages. By default, an<br>
-+English message is shown in place of a nonexistent translation. If you<br>
-+understand other languages, you can set up a priority list of languages.<br>
-+This is done through a different environment variable, called<br>
-+`LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LANG'<br>
-+for the purpose of message handling, but you still need to have `LANG'<br>
-+set to the primary language; this is required by other parts of the<br>
-+system libraries. For example, some Swedish users who would rather<br>
-+read translations in German than English for when Swedish is not<br>
-+available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'.<br>
-+<br>
-+ Special advice for Norwegian users: The language code for Norwegian<br>
-+bokma*l changed from `no' to `nb' recently (in 2003). During the<br>
-+transition period, while some message catalogs for this language are<br>
-+installed under `nb' and some older ones under `no', it's recommended<br>
-+for Norwegian users to set `LANGUAGE' to `nb:no' so that both newer and<br>
-+older translations are used.<br>
-+<br>
-+ In the `LANGUAGE' environment variable, but not in the `LANG'<br>
-+environment variable, `LL_CC' combinations can be abbreviated as `LL'<br>
-+to denote the language's main dialect. For example, `de' is equivalent<br>
-+to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT'<br>
-+(Portuguese as spoken in Portugal) in this context.<br>
- <br>
- Translating Teams<br>
- =================<br>
- <br>
-- For the Free Translation Project to be a success, we need interested<br>
-+For the Free Translation Project to be a success, we need interested<br>
- people who like their own language and write it well, and who are also<br>
- able to synergize with other translators speaking the same language.<br>
--Each translation team has its own mailing list, courtesy of Linux<br>
--International. You may reach your translation team at the address<br>
--`<a href="mailto:LL@li.org" target="_blank">LL@li.org</a>', replacing LL by the two-letter ISO 639 code for your<br>
--language. Language codes are *not* the same as the country codes given<br>
--in ISO 3166. The following translation teams exist, as of August 1997:<br>
--<br>
-- Chinese `zh', Czech `cs', Danish `da', Dutch `nl', English `en',<br>
-- Esperanto `eo', Finnish `fi', French `fr', German `de', Hungarian<br>
-- `hu', Irish `ga', Italian `it', Indonesian `id', Japanese `ja',<br>
-- Korean `ko', Latin `la', Norwegian `no', Persian `fa', Polish<br>
-- `pl', Portuguese `pt', Russian `ru', Slovenian `sl', Spanish `es',<br>
-- Swedish `sv', and Turkish `tr'.<br>
--<br>
--For example, you may reach the Chinese translation team by writing to<br>
--`<a href="mailto:zh@li.org" target="_blank">zh@li.org</a>'.<br>
-+Each translation team has its own mailing list. The up-to-date list of<br>
-+teams can be found at the Free Translation Project's homepage,<br>
-+`<a href="http://www.iro.umontreal.ca/contrib/po/HTML/" rel="noreferrer" target="_blank">http://www.iro.umontreal.ca/contrib/po/HTML/</a>', in the "National teams"<br>
-+area.<br>
- <br>
-- If you'd like to volunteer to *work* at translating messages, you<br>
-+ If you'd like to volunteer to _work_ at translating messages, you<br>
- should become a member of the translating team for your own language.<br>
--The subscribing address is *not* the same as the list itself, it has<br>
-+The subscribing address is _not_ the same as the list itself, it has<br>
- `-request' appended. For example, speakers of Swedish can send a<br>
- message to `<a href="mailto:sv-request@li.org" target="_blank">sv-request@li.org</a>', having this message body:<br>
- <br>
- subscribe<br>
- <br>
- Keep in mind that team members are expected to participate<br>
--*actively* in translations, or at solving translational difficulties,<br>
-+_actively_ in translations, or at solving translational difficulties,<br>
- rather than merely lurking around. If your team does not exist yet and<br>
- you want to start one, or if you are unsure about what to do or how to<br>
- get started, please write to `<a href="mailto:translation@iro.umontreal.ca" target="_blank">translation@iro.umontreal.ca</a>' to reach the<br>
-@@ -171,43 +177,559 @@<br>
- Available Packages<br>
- ==================<br>
- <br>
-- Languages are not equally supported in all packages. The following<br>
--matrix shows the current state of internationalization, as of August<br>
--1997. The matrix shows, in regard of each package, for which languages<br>
--PO files have been submitted to translation coordination.<br>
-+Languages are not equally supported in all packages. The following<br>
-+matrix shows the current state of internationalization, as of January<br>
-+2004. The matrix shows, in regard of each package, for which languages<br>
-+PO files have been submitted to translation coordination, with a<br>
-+translation percentage of at least 50%.<br>
- <br>
-- Ready PO files cs da de en es fi fr it ja ko nl no pl pt sl sv<br>
-- .-------------------------------------------------.<br>
-- bash | [] [] [] | 3<br>
-- bison | [] [] [] | 3<br>
-- clisp | [] [] [] [] | 4<br>
-- cpio | [] [] [] [] [] | 5<br>
-- diffutils | [] [] [] [] [] | 5<br>
-- enscript | [] [] [] [] [] [] | 6<br>
-- fileutils | [] [] [] [] [] [] [] [] [] [] | 10<br>
-- findutils | [] [] [] [] [] [] [] [] | 8<br>
-- flex | [] [] [] [] | 4<br>
-- gcal | [] [] [] [] [] | 5<br>
-- gettext | [] [] [] [] [] [] [] [] [] [] | 11<br>
-- grep | [] [] [] [] [] [] [] [] [] | 9<br>
-- hello | [] [] [] [] [] [] [] [] [] [] | 10<br>
-- id-utils | [] [] [] | 3<br>
-- indent | [] [] [] [] | 4<br>
-- libc | [] [] [] [] [] [] [] | 7<br>
-- m4 | [] [] [] [] [] | 5<br>
-- make | [] [] [] [] [] [] | 6<br>
-- music | [] [] | 2<br>
-- ptx | [] [] [] [] [] [] [] [] | 8<br>
-- recode | [] [] [] [] [] [] [] [] [] | 9<br>
-- sh-utils | [] [] [] [] [] [] [] | 7<br>
-- sharutils | [] [] [] [] [] | 5<br>
-- tar | [] [] [] [] [] [] [] [] [] [] | 10<br>
-- texinfo | [] | 1<br>
-- textutils | [] [] [] [] [] [] [] [] [] | 9<br>
-- wdiff | [] [] [] [] [] [] [] [] | 8<br>
-- `-------------------------------------------------'<br>
-- 16 languages cs da de en es fi fr it ja ko nl no pl pt sl sv<br>
-- 27 packages 3 2 24 1 17 1 26 2 1 11 20 9 19 7 7 17 167<br>
-+ Ready PO files af am ar az be bg bs ca cs da de el en en_GB eo es<br>
-+ +----------------------------------------------------+<br>
-+ a2ps | [] [] [] [] |<br>
-+ aegis | () |<br>
-+ ant-phone | () |<br>
-+ anubis | |<br>
-+ ap-utils | |<br>
-+ aspell | [] |<br>
-+ bash | [] [] [] [] |<br>
-+ batchelor | |<br>
-+ bfd | [] [] |<br>
-+ binutils | [] [] |<br>
-+ bison | [] [] [] |<br>
-+ bluez-pin | [] [] [] |<br>
-+ clisp | |<br>
-+ clisp | [] [] [] |<br>
-+ console-tools | [] [] |<br>
-+ coreutils | [] [] [] [] |<br>
-+ cpio | [] [] [] |<br>
-+ darkstat | [] () [] |<br>
-+ diffutils | [] [] [] [] [] [] [] |<br>
-+ e2fsprogs | [] [] [] |<br>
-+ enscript | [] [] [] [] |<br>
-+ error | [] [] [] [] [] |<br>
-+ fetchmail | [] () [] [] [] [] |<br>
-+ fileutils | [] [] [] |<br>
-+ findutils | [] [] [] [] [] [] [] |<br>
-+ flex | [] [] [] [] |<br>
-+ fslint | |<br>
-+ gas | [] |<br>
-+ gawk | [] [] [] [] |<br>
-+ gbiff | [] |<br>
-+ gcal | [] |<br>
-+ gcc | [] [] |<br>
-+ gettext | [] [] [] [] [] |<br>
-+ gettext-examples | [] [] [] [] |<br>
-+ gettext-runtime | [] [] [] [] [] |<br>
-+ gettext-tools | [] [] [] |<br>
-+ gimp-print | [] [] [] [] [] |<br>
-+ gliv | |<br>
-+ glunarclock | [] [] |<br>
-+ gnubiff | [] |<br>
-+ gnucash | [] () [] [] |<br>
-+ gnucash-glossary | [] () [] |<br>
-+ gnupg | [] () [] [] [] [] |<br>
-+ gpe-aerial | [] |<br>
-+ gpe-beam | [] [] |<br>
-+ gpe-calendar | [] [] |<br>
-+ gpe-clock | [] [] |<br>
-+ gpe-conf | [] [] |<br>
-+ gpe-contacts | [] [] |<br>
-+ gpe-edit | [] |<br>
-+ gpe-go | [] |<br>
-+ gpe-login | [] [] |<br>
-+ gpe-ownerinfo | [] [] |<br>
-+ gpe-sketchbook | [] [] |<br>
-+ gpe-su | [] [] |<br>
-+ gpe-taskmanager | [] [] |<br>
-+ gpe-timesheet | [] |<br>
-+ gpe-today | [] [] |<br>
-+ gpe-todo | [] [] |<br>
-+ gphoto2 | [] [] [] [] |<br>
-+ gprof | [] [] [] |<br>
-+ gpsdrive | () () () |<br>
-+ gramadoir | [] |<br>
-+ grep | [] [] [] [] [] [] |<br>
-+ gretl | [] |<br>
-+ gtick | [] () |<br>
-+ hello | [] [] [] [] [] [] |<br>
-+ id-utils | [] [] |<br>
-+ indent | [] [] [] [] |<br>
-+ iso_3166 | [] [] [] [] [] [] [] [] [] [] |<br>
-+ iso_3166_1 | [] [] [] [] [] [] |<br>
-+ iso_3166_2 | |<br>
-+ iso_3166_3 | [] |<br>
-+ iso_4217 | [] [] [] [] |<br>
-+ iso_639 | |<br>
-+ jpilot | [] [] [] |<br>
-+ jtag | |<br>
-+ jwhois | [] |<br>
-+ kbd | [] [] [] [] [] |<br>
-+ latrine | () |<br>
-+ ld | [] [] |<br>
-+ libc | [] [] [] [] [] [] |<br>
-+ libgpewidget | [] [] |<br>
-+ libiconv | [] [] [] [] [] |<br>
-+ lifelines | [] () |<br>
-+ lilypond | [] |<br>
-+ lingoteach | |<br>
-+ lingoteach_lessons | () () |<br>
-+ lynx | [] [] [] [] |<br>
-+ m4 | [] [] [] [] |<br>
-+ mailutils | [] [] |<br>
-+ make | [] [] [] |<br>
-+ man-db | [] () [] [] () |<br>
-+ minicom | [] [] [] |<br>
-+ mysecretdiary | [] [] [] |<br>
-+ nano | [] () [] [] [] |<br>
-+ nano_1_0 | [] () [] [] [] |<br>
-+ opcodes | [] |<br>
-+ parted | [] [] [] [] [] |<br>
-+ ptx | [] [] [] [] [] |<br>
-+ python | |<br>
-+ radius | [] |<br>
-+ recode | [] [] [] [] [] [] [] |<br>
-+ rpm | [] [] |<br>
-+ screem | |<br>
-+ scrollkeeper | [] [] [] [] [] [] |<br>
-+ sed | [] [] [] [] [] [] |<br>
-+ sh-utils | [] [] [] |<br>
-+ shared-mime-info | |<br>
-+ sharutils | [] [] [] [] [] [] |<br>
-+ silky | () |<br>
-+ skencil | [] () [] |<br>
-+ sketch | [] () [] |<br>
-+ soundtracker | [] [] [] |<br>
-+ sp | [] |<br>
-+ tar | [] [] [] [] |<br>
-+ texinfo | [] [] [] |<br>
-+ textutils | [] [] [] [] |<br>
-+ tin | () () |<br>
-+ tp-robot | |<br>
-+ tuxpaint | [] [] [] [] [] [] [] |<br>
-+ unicode-han-tra... | |<br>
-+ unicode-transla... | |<br>
-+ util-linux | [] [] [] [] [] |<br>
-+ vorbis-tools | [] [] [] [] |<br>
-+ wastesedge | () |<br>
-+ wdiff | [] [] [] [] |<br>
-+ wget | [] [] [] [] [] [] |<br>
-+ xchat | [] [] [] [] |<br>
-+ xfree86_xkb_xml | [] [] |<br>
-+ xpad | [] |<br>
-+ +----------------------------------------------------+<br>
-+ af am ar az be bg bs ca cs da de el en en_GB eo es<br>
-+ 4 0 0 1 9 4 1 40 41 60 78 17 1 5 13 68<br>
-+ <br>
-+ et eu fa fi fr ga gl he hr hu id is it ja ko lg<br>
-+ +-------------------------------------------------+<br>
-+ a2ps | [] [] [] () () |<br>
-+ aegis | |<br>
-+ ant-phone | [] |<br>
-+ anubis | [] |<br>
-+ ap-utils | [] |<br>
-+ aspell | [] [] |<br>
-+ bash | [] [] |<br>
-+ batchelor | [] [] |<br>
-+ bfd | [] |<br>
-+ binutils | [] [] |<br>
-+ bison | [] [] [] [] |<br>
-+ bluez-pin | [] [] [] [] [] |<br>
-+ clisp | |<br>
-+ clisp | [] |<br>
-+ console-tools | |<br>
-+ coreutils | [] [] [] [] [] [] |<br>
-+ cpio | [] [] [] [] |<br>
-+ darkstat | () [] [] [] |<br>
-+ diffutils | [] [] [] [] [] [] [] |<br>
-+ e2fsprogs | |<br>
-+ enscript | [] [] |<br>
-+ error | [] [] [] [] |<br>
-+ fetchmail | [] |<br>
-+ fileutils | [] [] [] [] [] [] |<br>
-+ findutils | [] [] [] [] [] [] [] [] [] [] [] |<br>
-+ flex | [] [] [] |<br>
-+ fslint | [] |<br>
-+ gas | [] |<br>
-+ gawk | [] [] [] |<br>
-+ gbiff | [] |<br>
-+ gcal | [] |<br>
-+ gcc | [] |<br>
-+ gettext | [] [] [] |<br>
-+ gettext-examples | [] [] |<br>
-+ gettext-runtime | [] [] [] [] [] |<br>
-+ gettext-tools | [] [] [] |<br>
-+ gimp-print | [] [] |<br>
-+ gliv | () |<br>
-+ glunarclock | [] [] [] [] |<br>
-+ gnubiff | [] |<br>
-+ gnucash | () [] |<br>
-+ gnucash-glossary | [] |<br>
-+ gnupg | [] [] [] [] [] [] [] |<br>
-+ gpe-aerial | [] |<br>
-+ gpe-beam | [] |<br>
-+ gpe-calendar | [] [] [] |<br>
-+ gpe-clock | [] |<br>
-+ gpe-conf | [] |<br>
-+ gpe-contacts | [] [] |<br>
-+ gpe-edit | [] [] |<br>
-+ gpe-go | [] |<br>
-+ gpe-login | [] [] |<br>
-+ gpe-ownerinfo | [] [] [] |<br>
-+ gpe-sketchbook | [] |<br>
-+ gpe-su | [] |<br>
-+ gpe-taskmanager | [] |<br>
-+ gpe-timesheet | [] [] [] |<br>
-+ gpe-today | [] [] |<br>
-+ gpe-todo | [] [] |<br>
-+ gphoto2 | [] [] [] |<br>
-+ gprof | [] [] |<br>
-+ gpsdrive | () () () |<br>
-+ gramadoir | [] [] |<br>
-+ grep | [] [] [] [] [] [] [] [] [] [] [] |<br>
-+ gretl | [] [] |<br>
-+ gtick | [] [] [] |<br>
-+ hello | [] [] [] [] [] [] [] [] [] [] [] [] [] |<br>
-+ id-utils | [] [] [] [] |<br>
-+ indent | [] [] [] [] [] [] [] [] [] |<br>
-+ iso_3166 | [] [] [] [] [] [] [] |<br>
-+ iso_3166_1 | [] [] [] [] [] |<br>
-+ iso_3166_2 | |<br>
-+ iso_3166_3 | |<br>
-+ iso_4217 | [] [] [] [] [] [] |<br>
-+ iso_639 | |<br>
-+ jpilot | [] () |<br>
-+ jtag | [] |<br>
-+ jwhois | [] [] [] [] |<br>
-+ kbd | [] |<br>
-+ latrine | [] |<br>
-+ ld | [] |<br>
-+ libc | [] [] [] [] [] [] |<br>
-+ libgpewidget | [] [] [] [] |<br>
-+ libiconv | [] [] [] [] [] [] [] [] [] |<br>
-+ lifelines | () |<br>
-+ lilypond | [] |<br>
-+ lingoteach | [] [] |<br>
-+ lingoteach_lessons | |<br>
-+ lynx | [] [] [] [] |<br>
-+ m4 | [] [] [] [] |<br>
-+ mailutils | |<br>
-+ make | [] [] [] [] [] [] |<br>
-+ man-db | () () |<br>
-+ minicom | [] [] [] [] |<br>
-+ mysecretdiary | [] [] |<br>
-+ nano | [] [] [] [] |<br>
-+ nano_1_0 | [] [] [] [] |<br>
-+ opcodes | [] |<br>
-+ parted | [] [] [] |<br>
-+ ptx | [] [] [] [] [] [] [] |<br>
-+ python | |<br>
-+ radius | [] |<br>
-+ recode | [] [] [] [] [] [] |<br>
-+ rpm | [] [] |<br>
-+ screem | |<br>
-+ scrollkeeper | [] |<br>
-+ sed | [] [] [] [] [] [] [] [] [] |<br>
-+ sh-utils | [] [] [] [] [] [] [] |<br>
-+ shared-mime-info | [] [] [] |<br>
-+ sharutils | [] [] [] [] [] |<br>
-+ silky | () [] () () |<br>
-+ skencil | [] |<br>
-+ sketch | [] |<br>
-+ soundtracker | [] [] |<br>
-+ sp | [] () |<br>
-+ tar | [] [] [] [] [] [] [] [] [] |<br>
-+ texinfo | [] [] [] [] |<br>
-+ textutils | [] [] [] [] [] [] |<br>
-+ tin | [] () |<br>
-+ tp-robot | [] |<br>
-+ tuxpaint | [] [] [] [] [] [] [] [] [] |<br>
-+ unicode-han-tra... | |<br>
-+ unicode-transla... | [] [] |<br>
-+ util-linux | [] [] [] [] () [] |<br>
-+ vorbis-tools | [] |<br>
-+ wastesedge | () |<br>
-+ wdiff | [] [] [] [] [] [] |<br>
-+ wget | [] [] [] [] [] [] [] |<br>
-+ xchat | [] [] [] |<br>
-+ xfree86_xkb_xml | [] [] |<br>
-+ xpad | [] [] |<br>
-+ +-------------------------------------------------+<br>
-+ et eu fa fi fr ga gl he hr hu id is it ja ko lg<br>
-+ 22 2 1 26 106 28 24 8 10 41 33 1 26 33 12 0<br>
-+ <br>
-+ lt lv mk mn ms mt nb nl nn no nso pl pt pt_BR ro ru<br>
-+ +-----------------------------------------------------+<br>
-+ a2ps | [] [] () () [] [] [] |<br>
-+ aegis | () () () |<br>
-+ ant-phone | [] [] |<br>
-+ anubis | [] [] [] [] [] [] |<br>
-+ ap-utils | [] () [] |<br>
-+ aspell | [] |<br>
-+ bash | [] [] [] |<br>
-+ batchelor | [] |<br>
-+ bfd | [] |<br>
-+ binutils | [] |<br>
-+ bison | [] [] [] [] [] |<br>
-+ bluez-pin | [] [] [] |<br>
-+ clisp | |<br>
-+ clisp | [] |<br>
-+ console-tools | [] |<br>
-+ coreutils | [] [] |<br>
-+ cpio | [] [] [] [] [] |<br>
-+ darkstat | [] [] [] [] |<br>
-+ diffutils | [] [] [] [] [] [] |<br>
-+ e2fsprogs | [] |<br>
-+ enscript | [] [] [] [] |<br>
-+ error | [] [] [] |<br>
-+ fetchmail | [] [] () [] |<br>
-+ fileutils | [] [] [] |<br>
-+ findutils | [] [] [] [] [] |<br>
-+ flex | [] [] [] [] |<br>
-+ fslint | [] [] |<br>
-+ gas | |<br>
-+ gawk | [] [] [] |<br>
-+ gbiff | [] [] |<br>
-+ gcal | |<br>
-+ gcc | |<br>
-+ gettext | [] [] [] |<br>
-+ gettext-examples | [] [] [] |<br>
-+ gettext-runtime | [] [] [] [] |<br>
-+ gettext-tools | [] [] |<br>
-+ gimp-print | [] |<br>
-+ gliv | [] [] [] |<br>
-+ glunarclock | [] [] [] [] |<br>
-+ gnubiff | [] |<br>
-+ gnucash | [] [] () [] |<br>
-+ gnucash-glossary | [] [] |<br>
-+ gnupg | [] |<br>
-+ gpe-aerial | [] [] [] [] |<br>
-+ gpe-beam | [] [] [] [] |<br>
-+ gpe-calendar | [] [] [] [] |<br>
-+ gpe-clock | [] [] [] [] |<br>
-+ gpe-conf | [] [] [] [] |<br>
-+ gpe-contacts | [] [] [] [] |<br>
-+ gpe-edit | [] [] [] [] |<br>
-+ gpe-go | [] [] [] |<br>
-+ gpe-login | [] [] [] [] |<br>
-+ gpe-ownerinfo | [] [] [] [] |<br>
-+ gpe-sketchbook | [] [] [] [] |<br>
-+ gpe-su | [] [] [] [] |<br>
-+ gpe-taskmanager | [] [] [] [] |<br>
-+ gpe-timesheet | [] [] [] [] |<br>
-+ gpe-today | [] [] [] [] |<br>
-+ gpe-todo | [] [] [] [] |<br>
-+ gphoto2 | [] |<br>
-+ gprof | [] [] |<br>
-+ gpsdrive | () () [] |<br>
-+ gramadoir | () [] |<br>
-+ grep | [] [] [] [] [] |<br>
-+ gretl | |<br>
-+ gtick | [] [] [] |<br>
-+ hello | [] [] [] [] [] [] [] [] [] [] |<br>
-+ id-utils | [] [] [] [] |<br>
-+ indent | [] [] [] [] |<br>
-+ iso_3166 | [] [] [] |<br>
-+ iso_3166_1 | [] [] |<br>
-+ iso_3166_2 | |<br>
-+ iso_3166_3 | [] |<br>
-+ iso_4217 | [] [] [] [] [] [] [] [] |<br>
-+ iso_639 | [] |<br>
-+ jpilot | () () |<br>
-+ jtag | |<br>
-+ jwhois | [] [] [] [] () |<br>
-+ kbd | [] [] [] |<br>
-+ latrine | [] |<br>
-+ ld | |<br>
-+ libc | [] [] [] [] |<br>
-+ libgpewidget | [] [] [] |<br>
-+ libiconv | [] [] [] [] [] |<br>
-+ lifelines | |<br>
-+ lilypond | |<br>
-+ lingoteach | |<br>
-+ lingoteach_lessons | |<br>
-+ lynx | [] [] [] |<br>
-+ m4 | [] [] [] [] [] |<br>
-+ mailutils | [] [] [] |<br>
-+ make | [] [] [] [] |<br>
-+ man-db | [] |<br>
-+ minicom | [] [] [] [] |<br>
-+ mysecretdiary | [] [] [] |<br>
-+ nano | [] [] [] [] [] |<br>
-+ nano_1_0 | [] [] [] [] [] [] |<br>
-+ opcodes | [] [] |<br>
-+ parted | [] [] [] [] |<br>
-+ ptx | [] [] [] [] [] [] [] [] |<br>
-+ python | |<br>
-+ radius | [] [] |<br>
-+ recode | [] [] [] [] |<br>
-+ rpm | [] [] [] |<br>
-+ screem | |<br>
-+ scrollkeeper | [] [] [] [] [] |<br>
-+ sed | [] [] [] |<br>
-+ sh-utils | [] [] |<br>
-+ shared-mime-info | [] [] |<br>
-+ sharutils | [] [] |<br>
-+ silky | () |<br>
-+ skencil | [] [] |<br>
-+ sketch | [] [] |<br>
-+ soundtracker | |<br>
-+ sp | |<br>
-+ tar | [] [] [] [] [] [] |<br>
-+ texinfo | [] [] [] [] |<br>
-+ textutils | [] [] |<br>
-+ tin | |<br>
-+ tp-robot | [] |<br>
-+ tuxpaint | [] [] [] [] [] [] [] [] |<br>
-+ unicode-han-tra... | |<br>
-+ unicode-transla... | |<br>
-+ util-linux | [] [] [] |<br>
-+ vorbis-tools | [] [] [] |<br>
-+ wastesedge | |<br>
-+ wdiff | [] [] [] [] [] |<br>
-+ wget | [] [] [] |<br>
-+ xchat | [] [] [] |<br>
-+ xfree86_xkb_xml | [] [] |<br>
-+ xpad | [] [] |<br>
-+ +-----------------------------------------------------+<br>
-+ lt lv mk mn ms mt nb nl nn no nso pl pt pt_BR ro ru<br>
-+ 1 2 0 3 12 0 10 69 6 7 1 40 26 36 76 63<br>
-+ <br>
-+ sk sl sr sv ta th tr uk ven vi wa xh zh_CN zh_TW zu<br>
-+ +-----------------------------------------------------+<br>
-+ a2ps | [] [] [] [] | 16<br>
-+ aegis | | 0<br>
-+ ant-phone | | 3<br>
-+ anubis | [] [] | 9<br>
-+ ap-utils | () | 3<br>
-+ aspell | | 4<br>
-+ bash | | 9<br>
-+ batchelor | | 3<br>
-+ bfd | [] [] | 6<br>
-+ binutils | [] [] [] | 8<br>
-+ bison | [] [] | 14<br>
-+ bluez-pin | [] [] [] | 14<br>
-+ clisp | | 0<br>
-+ clisp | | 5<br>
-+ console-tools | | 3<br>
-+ coreutils | [] [] [] [] | 16<br>
-+ cpio | [] [] | 14<br>
-+ darkstat | [] [] [] () () | 12<br>
-+ diffutils | [] [] [] | 23<br>
-+ e2fsprogs | [] [] | 6<br>
-+ enscript | [] [] | 12<br>
-+ error | [] [] [] | 15<br>
-+ fetchmail | [] [] | 11<br>
-+ fileutils | [] [] [] [] [] | 17<br>
-+ findutils | [] [] [] [] [] [] | 29<br>
-+ flex | [] [] | 13<br>
-+ fslint | | 3<br>
-+ gas | [] | 3<br>
-+ gawk | [] [] | 12<br>
-+ gbiff | | 4<br>
-+ gcal | [] [] | 4<br>
-+ gcc | [] | 4<br>
-+ gettext | [] [] [] [] [] | 16<br>
-+ gettext-examples | [] [] [] [] [] | 14<br>
-+ gettext-runtime | [] [] [] [] [] [] [] [] | 22<br>
-+ gettext-tools | [] [] [] [] [] [] | 14<br>
-+ gimp-print | [] [] | 10<br>
-+ gliv | | 3<br>
-+ glunarclock | [] [] [] | 13<br>
-+ gnubiff | | 3<br>
-+ gnucash | [] [] | 9<br>
-+ gnucash-glossary | [] [] [] | 8<br>
-+ gnupg | [] [] [] [] | 17<br>
-+ gpe-aerial | [] | 7<br>
-+ gpe-beam | [] | 8<br>
-+ gpe-calendar | [] [] [] [] | 13<br>
-+ gpe-clock | [] [] [] | 10<br>
-+ gpe-conf | [] [] | 9<br>
-+ gpe-contacts | [] [] [] | 11<br>
-+ gpe-edit | [] [] [] [] [] | 12<br>
-+ gpe-go | | 5<br>
-+ gpe-login | [] [] [] [] [] | 13<br>
-+ gpe-ownerinfo | [] [] [] [] | 13<br>
-+ gpe-sketchbook | [] [] | 9<br>
-+ gpe-su | [] [] [] | 10<br>
-+ gpe-taskmanager | [] [] [] | 10<br>
-+ gpe-timesheet | [] [] [] [] | 12<br>
-+ gpe-today | [] [] [] [] [] | 13<br>
-+ gpe-todo | [] [] [] [] | 12<br>
-+ gphoto2 | [] [] [] | 11<br>
-+ gprof | [] [] | 9<br>
-+ gpsdrive | [] [] | 3<br>
-+ gramadoir | [] | 5<br>
-+ grep | [] [] [] [] | 26<br>
-+ gretl | | 3<br>
-+ gtick | | 7<br>
-+ hello | [] [] [] [] [] | 34<br>
-+ id-utils | [] [] | 12<br>
-+ indent | [] [] [] [] | 21<br>
-+ iso_3166 | [] [] [] [] [] [] [] | 27<br>
-+ iso_3166_1 | [] [] [] | 16<br>
-+ iso_3166_2 | | 0<br>
-+ iso_3166_3 | | 2<br>
-+ iso_4217 | [] [] [] [] [] [] | 24<br>
-+ iso_639 | | 1<br>
-+ jpilot | [] [] [] [] [] | 9<br>
-+ jtag | [] | 2<br>
-+ jwhois | () [] [] | 11<br>
-+ kbd | [] [] | 11<br>
-+ latrine | | 2<br>
-+ ld | [] [] | 5<br>
-+ libc | [] [] [] [] | 20<br>
-+ libgpewidget | [] [] [] [] | 13<br>
-+ libiconv | [] [] [] [] [] [] [] [] | 27<br>
-+ lifelines | [] | 2<br>
-+ lilypond | [] | 3<br>
-+ lingoteach | | 2<br>
-+ lingoteach_lessons | () | 0<br>
-+ lynx | [] [] [] | 14<br>
-+ m4 | [] [] | 15<br>
-+ mailutils | | 5<br>
-+ make | [] [] [] | 16<br>
-+ man-db | [] | 5<br>
-+ minicom | | 11<br>
-+ mysecretdiary | [] [] | 10<br>
-+ nano | [] [] [] [] | 17<br>
-+ nano_1_0 | [] [] [] | 17<br>
-+ opcodes | [] [] | 6<br>
-+ parted | [] [] [] | 15<br>
-+ ptx | [] [] | 22<br>
-+ python | | 0<br>
-+ radius | | 4<br>
-+ recode | [] [] [] | 20<br>
-+ rpm | [] [] | 9<br>
-+ screem | [] [] | 2<br>
-+ scrollkeeper | [] [] [] | 15<br>
-+ sed | [] [] [] [] [] [] | 24<br>
-+ sh-utils | [] [] | 14<br>
-+ shared-mime-info | [] [] | 7<br>
-+ sharutils | [] [] [] [] | 17<br>
-+ silky | () | 3<br>
-+ skencil | [] | 6<br>
-+ sketch | [] | 6<br>
-+ soundtracker | [] [] | 7<br>
-+ sp | [] | 3<br>
-+ tar | [] [] [] [] [] | 24<br>
-+ texinfo | [] [] [] | 14<br>
-+ textutils | [] [] [] [] | 16<br>
-+ tin | | 1<br>
-+ tp-robot | | 2<br>
-+ tuxpaint | [] [] [] [] [] | 29<br>
-+ unicode-han-tra... | | 0<br>
-+ unicode-transla... | | 2<br>
-+ util-linux | [] [] | 15<br>
-+ vorbis-tools | | 8<br>
-+ wastesedge | | 0<br>
-+ wdiff | [] [] [] | 18<br>
-+ wget | [] [] [] [] [] [] [] [] | 24<br>
-+ xchat | [] [] [] [] [] | 15<br>
-+ xfree86_xkb_xml | [] [] [] [] [] | 11<br>
-+ xpad | | 5<br>
-+ +-----------------------------------------------------+<br>
-+ 63 teams sk sl sr sv ta th tr uk ven vi wa xh zh_CN zh_TW zu<br>
-+ 131 domains 47 19 28 83 0 0 59 13 1 1 11 0 22 22 0 1373<br>
- <br>
- Some counters in the preceding matrix are higher than the number of<br>
- visible blocks let us expect. This is because a few extra PO files are<br>
-@@ -220,6 +742,27 @@<br>
- lag between the mere existence a PO file and its wide availability in a<br>
- distribution.<br>
- <br>
-- If August 1997 seems to be old, you may fetch a more recent copy of<br>
--this `ABOUT-NLS' file on most GNU archive sites.<br>
-+ If January 2004 seems to be old, you may fetch a more recent copy of<br>
-+this `ABOUT-NLS' file on most GNU archive sites. The most up-to-date<br>
-+matrix with full percentage details can be found at<br>
-+`<a href="http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html" rel="noreferrer" target="_blank">http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html</a>'.<br>
-+<br>
-+Using `gettext' in new packages<br>
-+===============================<br>
-+<br>
-+If you are writing a freely available program and want to<br>
-+internationalize it you are welcome to use GNU `gettext' in your<br>
-+package. Of course you have to respect the GNU Library General Public<br>
-+License which covers the use of the GNU `gettext' library. This means<br>
-+in particular that even non-free programs can use `libintl' as a shared<br>
-+library, whereas only free software can use `libintl' as a static<br>
-+library or use modified versions of `libintl'.<br>
-+<br>
-+ Once the sources are changed appropriately and the setup can handle<br>
-+the use of `gettext' the only thing missing are the translations. The<br>
-+Free Translation Project is also available for packages which are not<br>
-+developed inside the GNU project. Therefore the information given above<br>
-+applies also for every other Free Software Project. Contact<br>
-+`<a href="mailto:translation@iro.umontreal.ca" target="_blank">translation@iro.umontreal.ca</a>' to make the `.pot' files available to<br>
-+the translation teams.<br>
- <br>
---- lrzsz-0.12.20.safe/ChangeLog 1998-12-29 17:49:56.000000000 -0500<br>
-+++ lrzsz-0.12.20/ChangeLog 2004-09-12 14:40:35.846521456 -0400<br>
-@@ -1,3 +1,11 @@<br>
-+2004-09-12 gettextize <<a href="mailto:bug-gnu-gettext@gnu.org" target="_blank">bug-gnu-gettext@gnu.org</a>><br>
-+<br>
-+ * Makefile.am (ACLOCAL_AMFLAGS): New variable.<br>
-+ (EXTRA_DIST): Add config.rpath.<br>
-+ * <a href="http://configure.in" rel="noreferrer" target="_blank">configure.in</a> (AC_OUTPUT): Add m4/Makefile.<br>
-+ (AC_OUTPUT): Remove command that created po/Makefile.<br>
-+ (AC_LINK_FILES): Remove invocation.<br>
-+<br>
- 1998-12-29 Uwe Ohse <<a href="mailto:uwe@ohse.de" target="_blank">uwe@ohse.de</a>><br>
- <br>
- * src/lrz.c: removed stpcpy call.<br>
---- lrzsz-0.12.20.safe/config.rpath 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/config.rpath 2004-09-12 14:40:34.329752040 -0400<br>
-@@ -0,0 +1,548 @@<br>
-+#! /bin/sh<br>
-+# Output a system dependent set of variables, describing how to set the<br>
-+# run time search path of shared libraries in an executable.<br>
-+#<br>
-+# Copyright 1996-2003 Free Software Foundation, Inc.<br>
-+# Taken from GNU libtool, 2001<br>
-+# Originally by Gordon Matzigkeit <<a href="mailto:gord@gnu.ai.mit.edu" target="_blank">gord@gnu.ai.mit.edu</a>>, 1996<br>
-+#<br>
-+# This program is free software; you can redistribute it and/or modify<br>
-+# it under the terms of the GNU General Public License as published by<br>
-+# the Free Software Foundation; either version 2 of the License, or<br>
-+# (at your option) any later version.<br>
-+#<br>
-+# This program is distributed in the hope that it will be useful, but<br>
-+# WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-+# General Public License for more details.<br>
-+#<br>
-+# You should have received a copy of the GNU General Public License<br>
-+# along with this program; if not, write to the Free Software<br>
-+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.<br>
-+#<br>
-+# As a special exception to the GNU General Public License, if you<br>
-+# distribute this file as part of a program that contains a<br>
-+# configuration script generated by Autoconf, you may include it under<br>
-+# the same distribution terms that you use for the rest of that program.<br>
-+#<br>
-+# The first argument passed to this file is the canonical host specification,<br>
-+# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM<br>
-+# or<br>
-+# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM<br>
-+# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld<br>
-+# should be set by the caller.<br>
-+#<br>
-+# The set of defined variables is at the end of this script.<br>
-+<br>
-+# Known limitations:<br>
-+# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer<br>
-+# than 256 bytes, otherwise the compiler driver will dump core. The only<br>
-+# known workaround is to choose shorter directory names for the build<br>
-+# directory and/or the installation directory.<br>
-+<br>
-+# All known linkers require a `.a' archive for static linking (except M$VC,<br>
-+# which needs '.lib').<br>
-+libext=a<br>
-+shrext=.so<br>
-+<br>
-+host="$1"<br>
-+host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`<br>
-+host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`<br>
-+host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`<br>
-+<br>
-+# Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC.<br>
-+<br>
-+wl=<br>
-+if test "$GCC" = yes; then<br>
-+ wl='-Wl,'<br>
-+else<br>
-+ case "$host_os" in<br>
-+ aix*)<br>
-+ wl='-Wl,'<br>
-+ ;;<br>
-+ mingw* | pw32* | os2*)<br>
-+ ;;<br>
-+ hpux9* | hpux10* | hpux11*)<br>
-+ wl='-Wl,'<br>
-+ ;;<br>
-+ irix5* | irix6* | nonstopux*)<br>
-+ wl='-Wl,'<br>
-+ ;;<br>
-+ newsos6)<br>
-+ ;;<br>
-+ linux*)<br>
-+ case $CC in<br>
-+ icc|ecc)<br>
-+ wl='-Wl,'<br>
-+ ;;<br>
-+ ccc)<br>
-+ wl='-Wl,'<br>
-+ ;;<br>
-+ esac<br>
-+ ;;<br>
-+ osf3* | osf4* | osf5*)<br>
-+ wl='-Wl,'<br>
-+ ;;<br>
-+ sco3.2v5*)<br>
-+ ;;<br>
-+ solaris*)<br>
-+ wl='-Wl,'<br>
-+ ;;<br>
-+ sunos4*)<br>
-+ wl='-Qoption ld '<br>
-+ ;;<br>
-+ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)<br>
-+ wl='-Wl,'<br>
-+ ;;<br>
-+ sysv4*MP*)<br>
-+ ;;<br>
-+ uts4*)<br>
-+ ;;<br>
-+ esac<br>
-+fi<br>
-+<br>
-+# Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS.<br>
-+<br>
-+hardcode_libdir_flag_spec=<br>
-+hardcode_libdir_separator=<br>
-+hardcode_direct=no<br>
-+hardcode_minus_L=no<br>
-+<br>
-+case "$host_os" in<br>
-+ cygwin* | mingw* | pw32*)<br>
-+ # FIXME: the MSVC++ port hasn't been tested in a loooong time<br>
-+ # When not using gcc, we currently assume that we are using<br>
-+ # Microsoft Visual C++.<br>
-+ if test "$GCC" != yes; then<br>
-+ with_gnu_ld=no<br>
-+ fi<br>
-+ ;;<br>
-+ openbsd*)<br>
-+ with_gnu_ld=no<br>
-+ ;;<br>
-+esac<br>
-+<br>
-+ld_shlibs=yes<br>
-+if test "$with_gnu_ld" = yes; then<br>
-+ case "$host_os" in<br>
-+ aix3* | aix4* | aix5*)<br>
-+ # On AIX/PPC, the GNU linker is very broken<br>
-+ if test "$host_cpu" != ia64; then<br>
-+ ld_shlibs=no<br>
-+ fi<br>
-+ ;;<br>
-+ amigaos*)<br>
-+ hardcode_libdir_flag_spec='-L$libdir'<br>
-+ hardcode_minus_L=yes<br>
-+ # Samuel A. Falvo II <<a href="mailto:kc5tja@dolphin.openprojects.net" target="_blank">kc5tja@dolphin.openprojects.net</a>> reports<br>
-+ # that the semantics of dynamic libraries on AmigaOS, at least up<br>
-+ # to version 4, is to share data among multiple programs linked<br>
-+ # with the same dynamic library. Since this doesn't match the<br>
-+ # behavior of shared libraries on other platforms, we can use<br>
-+ # them.<br>
-+ ld_shlibs=no<br>
-+ ;;<br>
-+ beos*)<br>
-+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then<br>
-+ :<br>
-+ else<br>
-+ ld_shlibs=no<br>
-+ fi<br>
-+ ;;<br>
-+ cygwin* | mingw* | pw32*)<br>
-+ # hardcode_libdir_flag_spec is actually meaningless, as there is<br>
-+ # no search path for DLLs.<br>
-+ hardcode_libdir_flag_spec='-L$libdir'<br>
-+ if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then<br>
-+ :<br>
-+ else<br>
-+ ld_shlibs=no<br>
-+ fi<br>
-+ ;;<br>
-+ netbsd*)<br>
-+ ;;<br>
-+ solaris* | sysv5*)<br>
-+ if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then<br>
-+ ld_shlibs=no<br>
-+ elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then<br>
-+ :<br>
-+ else<br>
-+ ld_shlibs=no<br>
-+ fi<br>
-+ ;;<br>
-+ sunos4*)<br>
-+ hardcode_direct=yes<br>
-+ ;;<br>
-+ *)<br>
-+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then<br>
-+ :<br>
-+ else<br>
-+ ld_shlibs=no<br>
-+ fi<br>
-+ ;;<br>
-+ esac<br>
-+ if test "$ld_shlibs" = yes; then<br>
-+ # Unlike libtool, we use -rpath here, not --rpath, since the documented<br>
-+ # option of GNU ld is called -rpath, not --rpath.<br>
-+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'<br>
-+ fi<br>
-+else<br>
-+ case "$host_os" in<br>
-+ aix3*)<br>
-+ # Note: this linker hardcodes the directories in LIBPATH if there<br>
-+ # are no directories specified by -L.<br>
-+ hardcode_minus_L=yes<br>
-+ if test "$GCC" = yes; then<br>
-+ # Neither direct hardcoding nor static linking is supported with a<br>
-+ # broken collect2.<br>
-+ hardcode_direct=unsupported<br>
-+ fi<br>
-+ ;;<br>
-+ aix4* | aix5*)<br>
-+ if test "$host_cpu" = ia64; then<br>
-+ # On IA64, the linker does run time linking by default, so we don't<br>
-+ # have to do anything special.<br>
-+ aix_use_runtimelinking=no<br>
-+ else<br>
-+ aix_use_runtimelinking=no<br>
-+ # Test if we are trying to use run time linking or normal<br>
-+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we<br>
-+ # need to do runtime linking.<br>
-+ case $host_os in aix4.[23]|aix4.[23].*|aix5*)<br>
-+ for ld_flag in $LDFLAGS; do<br>
-+ if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then<br>
-+ aix_use_runtimelinking=yes<br>
-+ break<br>
-+ fi<br>
-+ done<br>
-+ esac<br>
-+ fi<br>
-+ hardcode_direct=yes<br>
-+ hardcode_libdir_separator=':'<br>
-+ if test "$GCC" = yes; then<br>
-+ case $host_os in aix4.[012]|aix4.[012].*)<br>
-+ collect2name=`${CC} -print-prog-name=collect2`<br>
-+ if test -f "$collect2name" && \<br>
-+ strings "$collect2name" | grep resolve_lib_name >/dev/null<br>
-+ then<br>
-+ # We have reworked collect2<br>
-+ hardcode_direct=yes<br>
-+ else<br>
-+ # We have old collect2<br>
-+ hardcode_direct=unsupported<br>
-+ hardcode_minus_L=yes<br>
-+ hardcode_libdir_flag_spec='-L$libdir'<br>
-+ hardcode_libdir_separator=<br>
-+ fi<br>
-+ esac<br>
-+ fi<br>
-+ # Begin _LT_AC_SYS_LIBPATH_AIX.<br>
-+ echo 'int main () { return 0; }' > conftest.c<br>
-+ ${CC} ${LDFLAGS} conftest.c -o conftest<br>
-+ aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }<br>
-+}'`<br>
-+ if test -z "$aix_libpath"; then<br>
-+ aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }<br>
-+}'`<br>
-+ fi<br>
-+ if test -z "$aix_libpath"; then<br>
-+ aix_libpath="/usr/lib:/lib"<br>
-+ fi<br>
-+ rm -f conftest.c conftest<br>
-+ # End _LT_AC_SYS_LIBPATH_AIX.<br>
-+ if test "$aix_use_runtimelinking" = yes; then<br>
-+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"<br>
-+ else<br>
-+ if test "$host_cpu" = ia64; then<br>
-+ hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'<br>
-+ else<br>
-+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"<br>
-+ fi<br>
-+ fi<br>
-+ ;;<br>
-+ amigaos*)<br>
-+ hardcode_libdir_flag_spec='-L$libdir'<br>
-+ hardcode_minus_L=yes<br>
-+ # see comment about different semantics on the GNU ld section<br>
-+ ld_shlibs=no<br>
-+ ;;<br>
-+ bsdi4*)<br>
-+ ;;<br>
-+ cygwin* | mingw* | pw32*)<br>
-+ # When not using gcc, we currently assume that we are using<br>
-+ # Microsoft Visual C++.<br>
-+ # hardcode_libdir_flag_spec is actually meaningless, as there is<br>
-+ # no search path for DLLs.<br>
-+ hardcode_libdir_flag_spec=' '<br>
-+ libext=lib<br>
-+ ;;<br>
-+ darwin* | rhapsody*)<br>
-+ if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then<br>
-+ hardcode_direct=no<br>
-+ fi<br>
-+ ;;<br>
-+ dgux*)<br>
-+ hardcode_libdir_flag_spec='-L$libdir'<br>
-+ ;;<br>
-+ freebsd1*)<br>
-+ ld_shlibs=no<br>
-+ ;;<br>
-+ freebsd2.2*)<br>
-+ hardcode_libdir_flag_spec='-R$libdir'<br>
-+ hardcode_direct=yes<br>
-+ ;;<br>
-+ freebsd2*)<br>
-+ hardcode_direct=yes<br>
-+ hardcode_minus_L=yes<br>
-+ ;;<br>
-+ freebsd*)<br>
-+ hardcode_libdir_flag_spec='-R$libdir'<br>
-+ hardcode_direct=yes<br>
-+ ;;<br>
-+ hpux9*)<br>
-+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'<br>
-+ hardcode_libdir_separator=:<br>
-+ hardcode_direct=yes<br>
-+ # hardcode_minus_L: Not really in the search PATH,<br>
-+ # but as the default location of the library.<br>
-+ hardcode_minus_L=yes<br>
-+ ;;<br>
-+ hpux10* | hpux11*)<br>
-+ if test "$with_gnu_ld" = no; then<br>
-+ case "$host_cpu" in<br>
-+ hppa*64*)<br>
-+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'<br>
-+ hardcode_libdir_separator=:<br>
-+ hardcode_direct=no<br>
-+ ;;<br>
-+ ia64*)<br>
-+ hardcode_libdir_flag_spec='-L$libdir'<br>
-+ hardcode_direct=no<br>
-+ # hardcode_minus_L: Not really in the search PATH,<br>
-+ # but as the default location of the library.<br>
-+ hardcode_minus_L=yes<br>
-+ ;;<br>
-+ *)<br>
-+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'<br>
-+ hardcode_libdir_separator=:<br>
-+ hardcode_direct=yes<br>
-+ # hardcode_minus_L: Not really in the search PATH,<br>
-+ # but as the default location of the library.<br>
-+ hardcode_minus_L=yes<br>
-+ ;;<br>
-+ esac<br>
-+ fi<br>
-+ ;;<br>
-+ irix5* | irix6* | nonstopux*)<br>
-+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'<br>
-+ hardcode_libdir_separator=:<br>
-+ ;;<br>
-+ netbsd*)<br>
-+ hardcode_libdir_flag_spec='-R$libdir'<br>
-+ hardcode_direct=yes<br>
-+ ;;<br>
-+ newsos6)<br>
-+ hardcode_direct=yes<br>
-+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'<br>
-+ hardcode_libdir_separator=:<br>
-+ ;;<br>
-+ openbsd*)<br>
-+ hardcode_direct=yes<br>
-+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then<br>
-+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'<br>
-+ else<br>
-+ case "$host_os" in<br>
-+ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)<br>
-+ hardcode_libdir_flag_spec='-R$libdir'<br>
-+ ;;<br>
-+ *)<br>
-+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'<br>
-+ ;;<br>
-+ esac<br>
-+ fi<br>
-+ ;;<br>
-+ os2*)<br>
-+ hardcode_libdir_flag_spec='-L$libdir'<br>
-+ hardcode_minus_L=yes<br>
-+ ;;<br>
-+ osf3*)<br>
-+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'<br>
-+ hardcode_libdir_separator=:<br>
-+ ;;<br>
-+ osf4* | osf5*)<br>
-+ if test "$GCC" = yes; then<br>
-+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'<br>
-+ else<br>
-+ # Both cc and cxx compiler support -rpath directly<br>
-+ hardcode_libdir_flag_spec='-rpath $libdir'<br>
-+ fi<br>
-+ hardcode_libdir_separator=:<br>
-+ ;;<br>
-+ sco3.2v5*)<br>
-+ ;;<br>
-+ solaris*)<br>
-+ hardcode_libdir_flag_spec='-R$libdir'<br>
-+ ;;<br>
-+ sunos4*)<br>
-+ hardcode_libdir_flag_spec='-L$libdir'<br>
-+ hardcode_direct=yes<br>
-+ hardcode_minus_L=yes<br>
-+ ;;<br>
-+ sysv4)<br>
-+ case $host_vendor in<br>
-+ sni)<br>
-+ hardcode_direct=yes # is this really true???<br>
-+ ;;<br>
-+ siemens)<br>
-+ hardcode_direct=no<br>
-+ ;;<br>
-+ motorola)<br>
-+ hardcode_direct=no #Motorola manual says yes, but my tests say they lie<br>
-+ ;;<br>
-+ esac<br>
-+ ;;<br>
-+ sysv4.3*)<br>
-+ ;;<br>
-+ sysv4*MP*)<br>
-+ if test -d /usr/nec; then<br>
-+ ld_shlibs=yes<br>
-+ fi<br>
-+ ;;<br>
-+ sysv4.2uw2*)<br>
-+ hardcode_direct=yes<br>
-+ hardcode_minus_L=no<br>
-+ ;;<br>
-+ sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*)<br>
-+ ;;<br>
-+ sysv5*)<br>
-+ hardcode_libdir_flag_spec=<br>
-+ ;;<br>
-+ uts4*)<br>
-+ hardcode_libdir_flag_spec='-L$libdir'<br>
-+ ;;<br>
-+ *)<br>
-+ ld_shlibs=no<br>
-+ ;;<br>
-+ esac<br>
-+fi<br>
-+<br>
-+# Check dynamic linker characteristics<br>
-+# Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER.<br>
-+libname_spec='lib$name'<br>
-+case "$host_os" in<br>
-+ aix3*)<br>
-+ ;;<br>
-+ aix4* | aix5*)<br>
-+ ;;<br>
-+ amigaos*)<br>
-+ ;;<br>
-+ beos*)<br>
-+ ;;<br>
-+ bsdi4*)<br>
-+ ;;<br>
-+ cygwin* | mingw* | pw32*)<br>
-+ shrext=.dll<br>
-+ ;;<br>
-+ darwin* | rhapsody*)<br>
-+ shrext=.dylib<br>
-+ ;;<br>
-+ dgux*)<br>
-+ ;;<br>
-+ freebsd1*)<br>
-+ ;;<br>
-+ freebsd*)<br>
-+ ;;<br>
-+ gnu*)<br>
-+ ;;<br>
-+ hpux9* | hpux10* | hpux11*)<br>
-+ case "$host_cpu" in<br>
-+ ia64*)<br>
-+ shrext=.so<br>
-+ ;;<br>
-+ hppa*64*)<br>
-+ shrext=.sl<br>
-+ ;;<br>
-+ *)<br>
-+ shrext=.sl<br>
-+ ;;<br>
-+ esac<br>
-+ ;;<br>
-+ irix5* | irix6* | nonstopux*)<br>
-+ case "$host_os" in<br>
-+ irix5* | nonstopux*)<br>
-+ libsuff= shlibsuff=<br>
-+ ;;<br>
-+ *)<br>
-+ case $LD in<br>
-+ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;;<br>
-+ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;;<br>
-+ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;;<br>
-+ *) libsuff= shlibsuff= ;;<br>
-+ esac<br>
-+ ;;<br>
-+ esac<br>
-+ ;;<br>
-+ linux*oldld* | linux*aout* | linux*coff*)<br>
-+ ;;<br>
-+ linux*)<br>
-+ ;;<br>
-+ netbsd*)<br>
-+ ;;<br>
-+ newsos6)<br>
-+ ;;<br>
-+ nto-qnx)<br>
-+ ;;<br>
-+ openbsd*)<br>
-+ ;;<br>
-+ os2*)<br>
-+ libname_spec='$name'<br>
-+ shrext=.dll<br>
-+ ;;<br>
-+ osf3* | osf4* | osf5*)<br>
-+ ;;<br>
-+ sco3.2v5*)<br>
-+ ;;<br>
-+ solaris*)<br>
-+ ;;<br>
-+ sunos4*)<br>
-+ ;;<br>
-+ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)<br>
-+ ;;<br>
-+ sysv4*MP*)<br>
-+ ;;<br>
-+ uts4*)<br>
-+ ;;<br>
-+esac<br>
-+<br>
-+sed_quote_subst='s/\(["`$\\]\)/\\\1/g'<br>
-+escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"`<br>
-+shlibext=`echo "$shrext" | sed -e 's,^\.,,'`<br>
-+escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`<br>
-+<br>
-+sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF<br>
-+<br>
-+# How to pass a linker flag through the compiler.<br>
-+wl="$escaped_wl"<br>
-+<br>
-+# Static library suffix (normally "a").<br>
-+libext="$libext"<br>
-+<br>
-+# Shared library suffix (normally "so").<br>
-+shlibext="$shlibext"<br>
-+<br>
-+# Flag to hardcode \$libdir into a binary during linking.<br>
-+# This must work even if \$libdir does not exist.<br>
-+hardcode_libdir_flag_spec="$escaped_hardcode_libdir_flag_spec"<br>
-+<br>
-+# Whether we need a single -rpath flag with a separated argument.<br>
-+hardcode_libdir_separator="$hardcode_libdir_separator"<br>
-+<br>
-+# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the<br>
-+# resulting binary.<br>
-+hardcode_direct="$hardcode_direct"<br>
-+<br>
-+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the<br>
-+# resulting binary.<br>
-+hardcode_minus_L="$hardcode_minus_L"<br>
-+<br>
-+EOF<br>
---- lrzsz-0.12.20.safe/<a href="http://configure.in" rel="noreferrer" target="_blank">configure.in</a> 2004-09-12 14:39:55.161706488 -0400<br>
-+++ lrzsz-0.12.20/<a href="http://configure.in" rel="noreferrer" target="_blank">configure.in</a> 2004-09-12 14:40:35.816526016 -0400<br>
-@@ -260,11 +260,10 @@<br>
- AM_GNU_GETTEXT<br>
- <br>
- AC_DEFINE_UNQUOTED(LOCALEDIR,"$prefix/$DATADIRNAME")<br>
--AC_LINK_FILES($nls_cv_header_libgt, $nls_cv_header_intl)<br>
- <br>
--AC_OUTPUT([Makefile intl/Makefile lib/Makefile testsuite/Makefile \<br>
-+AC_OUTPUT([Makefile intl/Makefile lib/Makefile testsuite/Makefile m4/Makefile \<br>
- man/Makefile po/Makefile.in src/Makefile debian/rules Specfile systype \<br>
- src/lrzszbug],<br>
--[sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile; <br>
-+[<br>
- chmod +x debian/rules;<br>
- test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h])<br>
---- lrzsz-0.12.20.safe/intl/bindtextdom.c 1998-04-26 09:22:36.000000000 -0400<br>
-+++ lrzsz-0.12.20/intl/bindtextdom.c 2004-09-12 14:40:34.343749912 -0400<br>
-@@ -1,59 +1,75 @@<br>
- /* Implementation of the bindtextdomain(3) function<br>
-- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.<br>
-+ Copyright (C) 1995-1998, 2000-2003 Free Software Foundation, Inc.<br>
- <br>
-- This program is free software; you can redistribute it and/or modify<br>
-- it under the terms of the GNU General Public License as published by<br>
-- the Free Software Foundation; either version 2, or (at your option)<br>
-+ This program is free software; you can redistribute it and/or modify it<br>
-+ under the terms of the GNU Library General Public License as published<br>
-+ by the Free Software Foundation; either version 2, or (at your option)<br>
- any later version.<br>
- <br>
- This program is distributed in the hope that it will be useful,<br>
- but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the<br>
-- GNU General Public License for more details.<br>
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-+ Library General Public License for more details.<br>
- <br>
-- You should have received a copy of the GNU General Public License<br>
-- along with this program; if not, write to the Free Software Foundation,<br>
-- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */<br>
-+ You should have received a copy of the GNU Library General Public<br>
-+ License along with this program; if not, write to the Free Software<br>
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,<br>
-+ USA. */<br>
- <br>
- #ifdef HAVE_CONFIG_H<br>
- # include <config.h><br>
- #endif<br>
- <br>
--#if defined STDC_HEADERS || defined _LIBC<br>
--# include <stdlib.h><br>
--#else<br>
--# ifdef HAVE_MALLOC_H<br>
--# include <malloc.h><br>
--# else<br>
--void free ();<br>
--# endif<br>
--#endif<br>
-+#include <stddef.h><br>
-+#include <stdlib.h><br>
-+#include <string.h><br>
- <br>
--#if defined HAVE_STRING_H || defined _LIBC<br>
--# include <string.h><br>
-+#ifdef _LIBC<br>
-+# include <libintl.h><br>
- #else<br>
--# include <strings.h><br>
--# ifndef memcpy<br>
--# define memcpy(Dst, Src, Num) bcopy (Src, Dst, Num)<br>
--# endif<br>
-+# include "libgnuintl.h"<br>
- #endif<br>
-+#include "gettextP.h"<br>
- <br>
- #ifdef _LIBC<br>
--# include <libintl.h><br>
-+/* We have to handle multi-threaded applications. */<br>
-+# include <bits/libc-lock.h><br>
- #else<br>
--# include "libgettext.h"<br>
-+/* Provide dummy implementation if this is outside glibc. */<br>
-+# define __libc_rwlock_define(CLASS, NAME)<br>
-+# define __libc_rwlock_wrlock(NAME)<br>
-+# define __libc_rwlock_unlock(NAME)<br>
-+#endif<br>
-+<br>
-+/* The internal variables in the standalone libintl.a must have different<br>
-+ names than the internal variables in GNU libc, otherwise programs<br>
-+ using libintl.a cannot be linked statically. */<br>
-+#if !defined _LIBC<br>
-+# define _nl_default_dirname libintl_nl_default_dirname<br>
-+# define _nl_domain_bindings libintl_nl_domain_bindings<br>
-+#endif<br>
-+<br>
-+/* Some compilers, like SunOS4 cc, don't have offsetof in <stddef.h>. */<br>
-+#ifndef offsetof<br>
-+# define offsetof(type,ident) ((size_t)&(((type*)0)->ident))<br>
- #endif<br>
--#include "gettext.h"<br>
--#include "gettextP.h"<br>
- <br>
- /* @@ end of prolog @@ */<br>
- <br>
- /* Contains the default location of the message catalogs. */<br>
- extern const char _nl_default_dirname[];<br>
-+#ifdef _LIBC<br>
-+extern const char _nl_default_dirname_internal[] attribute_hidden;<br>
-+#else<br>
-+# define INTUSE(name) name<br>
-+#endif<br>
- <br>
- /* List with bindings of specific domains. */<br>
- extern struct binding *_nl_domain_bindings;<br>
- <br>
-+/* Lock variable to protect the global data in the gettext implementation. */<br>
-+__libc_rwlock_define (extern, _nl_state_lock attribute_hidden)<br>
-+<br>
- <br>
- /* Names for the libintl functions are a problem. They must not clash<br>
- with existing names and they should follow ANSI C. But this source<br>
-@@ -61,23 +77,41 @@<br>
- prefix. So we have to make a difference here. */<br>
- #ifdef _LIBC<br>
- # define BINDTEXTDOMAIN __bindtextdomain<br>
--# define strdup(str) __strdup (str)<br>
-+# define BIND_TEXTDOMAIN_CODESET __bind_textdomain_codeset<br>
-+# ifndef strdup<br>
-+# define strdup(str) __strdup (str)<br>
-+# endif<br>
- #else<br>
--# define BINDTEXTDOMAIN bindtextdomain__<br>
-+# define BINDTEXTDOMAIN libintl_bindtextdomain<br>
-+# define BIND_TEXTDOMAIN_CODESET libintl_bind_textdomain_codeset<br>
- #endif<br>
- <br>
--/* Specify that the DOMAINNAME message catalog will be found<br>
-- in DIRNAME rather than in the system locale data base. */<br>
--char *<br>
--BINDTEXTDOMAIN (domainname, dirname)<br>
-- const char *domainname;<br>
-- const char *dirname;<br>
-+/* Specifies the directory name *DIRNAMEP and the output codeset *CODESETP<br>
-+ to be used for the DOMAINNAME message catalog.<br>
-+ If *DIRNAMEP or *CODESETP is NULL, the corresponding attribute is not<br>
-+ modified, only the current value is returned.<br>
-+ If DIRNAMEP or CODESETP is NULL, the corresponding attribute is neither<br>
-+ modified nor returned. */<br>
-+static void<br>
-+set_binding_values (const char *domainname,<br>
-+ const char **dirnamep, const char **codesetp)<br>
- {<br>
- struct binding *binding;<br>
-+ int modified;<br>
- <br>
- /* Some sanity checks. */<br>
- if (domainname == NULL || domainname[0] == '\0')<br>
-- return NULL;<br>
-+ {<br>
-+ if (dirnamep)<br>
-+ *dirnamep = NULL;<br>
-+ if (codesetp)<br>
-+ *codesetp = NULL;<br>
-+ return;<br>
-+ }<br>
-+<br>
-+ __libc_rwlock_wrlock (_nl_state_lock);<br>
-+<br>
-+ modified = 0;<br>
- <br>
- for (binding = _nl_domain_bindings; binding != NULL; binding = binding->next)<br>
- {<br>
-@@ -93,81 +127,173 @@<br>
- }<br>
- }<br>
- <br>
-- if (dirname == NULL)<br>
-- /* The current binding has be to returned. */<br>
-- return binding == NULL ? (char *) _nl_default_dirname : binding->dirname;<br>
--<br>
- if (binding != NULL)<br>
- {<br>
-- /* The domain is already bound. If the new value and the old<br>
-- one are equal we simply do nothing. Otherwise replace the<br>
-- old binding. */<br>
-- if (strcmp (dirname, binding->dirname) != 0)<br>
-+ if (dirnamep)<br>
- {<br>
-- char *new_dirname;<br>
-+ const char *dirname = *dirnamep;<br>
- <br>
-- if (strcmp (dirname, _nl_default_dirname) == 0)<br>
-- new_dirname = (char *) _nl_default_dirname;<br>
-+ if (dirname == NULL)<br>
-+ /* The current binding has be to returned. */<br>
-+ *dirnamep = binding->dirname;<br>
- else<br>
- {<br>
-+ /* The domain is already bound. If the new value and the old<br>
-+ one are equal we simply do nothing. Otherwise replace the<br>
-+ old binding. */<br>
-+ char *result = binding->dirname;<br>
-+ if (strcmp (dirname, result) != 0)<br>
-+ {<br>
-+ if (strcmp (dirname, INTUSE(_nl_default_dirname)) == 0)<br>
-+ result = (char *) INTUSE(_nl_default_dirname);<br>
-+ else<br>
-+ {<br>
- #if defined _LIBC || defined HAVE_STRDUP<br>
-- new_dirname = strdup (dirname);<br>
-- if (new_dirname == NULL)<br>
-- return NULL;<br>
-+ result = strdup (dirname);<br>
- #else<br>
-- size_t len = strlen (dirname) + 1;<br>
-- new_dirname = (char *) malloc (len);<br>
-- if (new_dirname == NULL)<br>
-- return NULL;<br>
--<br>
-- memcpy (new_dirname, dirname, len);<br>
-+ size_t len = strlen (dirname) + 1;<br>
-+ result = (char *) malloc (len);<br>
-+ if (__builtin_expect (result != NULL, 1))<br>
-+ memcpy (result, dirname, len);<br>
- #endif<br>
-+ }<br>
-+<br>
-+ if (__builtin_expect (result != NULL, 1))<br>
-+ {<br>
-+ if (binding->dirname != INTUSE(_nl_default_dirname))<br>
-+ free (binding->dirname);<br>
-+<br>
-+ binding->dirname = result;<br>
-+ modified = 1;<br>
-+ }<br>
-+ }<br>
-+ *dirnamep = result;<br>
- }<br>
-+ }<br>
- <br>
-- if (binding->dirname != _nl_default_dirname)<br>
-- free (binding->dirname);<br>
-+ if (codesetp)<br>
-+ {<br>
-+ const char *codeset = *codesetp;<br>
- <br>
-- binding->dirname = new_dirname;<br>
-+ if (codeset == NULL)<br>
-+ /* The current binding has be to returned. */<br>
-+ *codesetp = binding->codeset;<br>
-+ else<br>
-+ {<br>
-+ /* The domain is already bound. If the new value and the old<br>
-+ one are equal we simply do nothing. Otherwise replace the<br>
-+ old binding. */<br>
-+ char *result = binding->codeset;<br>
-+ if (result == NULL || strcmp (codeset, result) != 0)<br>
-+ {<br>
-+#if defined _LIBC || defined HAVE_STRDUP<br>
-+ result = strdup (codeset);<br>
-+#else<br>
-+ size_t len = strlen (codeset) + 1;<br>
-+ result = (char *) malloc (len);<br>
-+ if (__builtin_expect (result != NULL, 1))<br>
-+ memcpy (result, codeset, len);<br>
-+#endif<br>
-+<br>
-+ if (__builtin_expect (result != NULL, 1))<br>
-+ {<br>
-+ if (binding->codeset != NULL)<br>
-+ free (binding->codeset);<br>
-+<br>
-+ binding->codeset = result;<br>
-+ binding->codeset_cntr++;<br>
-+ modified = 1;<br>
-+ }<br>
-+ }<br>
-+ *codesetp = result;<br>
-+ }<br>
- }<br>
- }<br>
-+ else if ((dirnamep == NULL || *dirnamep == NULL)<br>
-+ && (codesetp == NULL || *codesetp == NULL))<br>
-+ {<br>
-+ /* Simply return the default values. */<br>
-+ if (dirnamep)<br>
-+ *dirnamep = INTUSE(_nl_default_dirname);<br>
-+ if (codesetp)<br>
-+ *codesetp = NULL;<br>
-+ }<br>
- else<br>
- {<br>
- /* We have to create a new binding. */<br>
-- size_t len;<br>
-+ size_t len = strlen (domainname) + 1;<br>
- struct binding *new_binding =<br>
-- (struct binding *) malloc (sizeof (*new_binding));<br>
-+ (struct binding *) malloc (offsetof (struct binding, domainname) + len);<br>
- <br>
-- if (new_binding == NULL)<br>
-- return NULL;<br>
-+ if (__builtin_expect (new_binding == NULL, 0))<br>
-+ goto failed;<br>
- <br>
-+ memcpy (new_binding->domainname, domainname, len);<br>
-+<br>
-+ if (dirnamep)<br>
-+ {<br>
-+ const char *dirname = *dirnamep;<br>
-+<br>
-+ if (dirname == NULL)<br>
-+ /* The default value. */<br>
-+ dirname = INTUSE(_nl_default_dirname);<br>
-+ else<br>
-+ {<br>
-+ if (strcmp (dirname, INTUSE(_nl_default_dirname)) == 0)<br>
-+ dirname = INTUSE(_nl_default_dirname);<br>
-+ else<br>
-+ {<br>
-+ char *result;<br>
- #if defined _LIBC || defined HAVE_STRDUP<br>
-- new_binding->domainname = strdup (domainname);<br>
-- if (new_binding->domainname == NULL)<br>
-- return NULL;<br>
-+ result = strdup (dirname);<br>
-+ if (__builtin_expect (result == NULL, 0))<br>
-+ goto failed_dirname;<br>
- #else<br>
-- len = strlen (domainname) + 1;<br>
-- new_binding->domainname = (char *) malloc (len);<br>
-- if (new_binding->domainname == NULL)<br>
-- return NULL;<br>
-- memcpy (new_binding->domainname, domainname, len);<br>
-+ size_t len = strlen (dirname) + 1;<br>
-+ result = (char *) malloc (len);<br>
-+ if (__builtin_expect (result == NULL, 0))<br>
-+ goto failed_dirname;<br>
-+ memcpy (result, dirname, len);<br>
- #endif<br>
--<br>
-- if (strcmp (dirname, _nl_default_dirname) == 0)<br>
-- new_binding->dirname = (char *) _nl_default_dirname;<br>
-+ dirname = result;<br>
-+ }<br>
-+ }<br>
-+ *dirnamep = dirname;<br>
-+ new_binding->dirname = (char *) dirname;<br>
-+ }<br>
- else<br>
-+ /* The default value. */<br>
-+ new_binding->dirname = (char *) INTUSE(_nl_default_dirname);<br>
-+<br>
-+ new_binding->codeset_cntr = 0;<br>
-+<br>
-+ if (codesetp)<br>
- {<br>
-+ const char *codeset = *codesetp;<br>
-+<br>
-+ if (codeset != NULL)<br>
-+ {<br>
-+ char *result;<br>
-+<br>
- #if defined _LIBC || defined HAVE_STRDUP<br>
-- new_binding->dirname = strdup (dirname);<br>
-- if (new_binding->dirname == NULL)<br>
-- return NULL;<br>
-+ result = strdup (codeset);<br>
-+ if (__builtin_expect (result == NULL, 0))<br>
-+ goto failed_codeset;<br>
- #else<br>
-- len = strlen (dirname) + 1;<br>
-- new_binding->dirname = (char *) malloc (len);<br>
-- if (new_binding->dirname == NULL)<br>
-- return NULL;<br>
-- memcpy (new_binding->dirname, dirname, len);<br>
-+ size_t len = strlen (codeset) + 1;<br>
-+ result = (char *) malloc (len);<br>
-+ if (__builtin_expect (result == NULL, 0))<br>
-+ goto failed_codeset;<br>
-+ memcpy (result, codeset, len);<br>
- #endif<br>
-+ codeset = result;<br>
-+ new_binding->codeset_cntr++;<br>
-+ }<br>
-+ *codesetp = codeset;<br>
-+ new_binding->codeset = (char *) codeset;<br>
- }<br>
-+ else<br>
-+ new_binding->codeset = NULL;<br>
- <br>
- /* Now enqueue it. */<br>
- if (_nl_domain_bindings == NULL<br>
-@@ -187,13 +313,51 @@<br>
- binding->next = new_binding;<br>
- }<br>
- <br>
-- binding = new_binding;<br>
-+ modified = 1;<br>
-+<br>
-+ /* Here we deal with memory allocation failures. */<br>
-+ if (0)<br>
-+ {<br>
-+ failed_codeset:<br>
-+ if (new_binding->dirname != INTUSE(_nl_default_dirname))<br>
-+ free (new_binding->dirname);<br>
-+ failed_dirname:<br>
-+ free (new_binding);<br>
-+ failed:<br>
-+ if (dirnamep)<br>
-+ *dirnamep = NULL;<br>
-+ if (codesetp)<br>
-+ *codesetp = NULL;<br>
-+ }<br>
- }<br>
- <br>
-- return binding->dirname;<br>
-+ /* If we modified any binding, we flush the caches. */<br>
-+ if (modified)<br>
-+ ++_nl_msg_cat_cntr;<br>
-+<br>
-+ __libc_rwlock_unlock (_nl_state_lock);<br>
-+}<br>
-+<br>
-+/* Specify that the DOMAINNAME message catalog will be found<br>
-+ in DIRNAME rather than in the system locale data base. */<br>
-+char *<br>
-+BINDTEXTDOMAIN (const char *domainname, const char *dirname)<br>
-+{<br>
-+ set_binding_values (domainname, &dirname, NULL);<br>
-+ return (char *) dirname;<br>
-+}<br>
-+<br>
-+/* Specify the character encoding in which the messages from the<br>
-+ DOMAINNAME message catalog will be returned. */<br>
-+char *<br>
-+BIND_TEXTDOMAIN_CODESET (const char *domainname, const char *codeset)<br>
-+{<br>
-+ set_binding_values (domainname, NULL, &codeset);<br>
-+ return (char *) codeset;<br>
- }<br>
- <br>
- #ifdef _LIBC<br>
--/* Alias for function name in GNU C Library. */<br>
-+/* Aliases for function names in GNU C Library. */<br>
- weak_alias (__bindtextdomain, bindtextdomain);<br>
-+weak_alias (__bind_textdomain_codeset, bind_textdomain_codeset);<br>
- #endif<br>
---- lrzsz-0.12.20.safe/intl/cat-compat.c 1998-04-26 09:22:37.000000000 -0400<br>
-+++ lrzsz-0.12.20/intl/cat-compat.c 1969-12-31 19:00:00.000000000 -0500<br>
-@@ -1,262 +0,0 @@<br>
--/* Compatibility code for gettext-using-catgets interface.<br>
-- Copyright (C) 1995, 1997 Free Software Foundation, Inc.<br>
--<br>
-- This program is free software; you can redistribute it and/or modify<br>
-- it under the terms of the GNU General Public License as published by<br>
-- the Free Software Foundation; either version 2, or (at your option)<br>
-- any later version.<br>
--<br>
-- This program is distributed in the hope that it will be useful,<br>
-- but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the<br>
-- GNU General Public License for more details.<br>
--<br>
-- You should have received a copy of the GNU General Public License<br>
-- along with this program; if not, write to the Free Software Foundation,<br>
-- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */<br>
--<br>
--#ifdef HAVE_CONFIG_H<br>
--# include <config.h><br>
--#endif<br>
--<br>
--#include <stdio.h><br>
--<br>
--#ifdef STDC_HEADERS<br>
--# include <stdlib.h><br>
--# include <string.h><br>
--#else<br>
--char *getenv ();<br>
--# ifdef HAVE_MALLOC_H<br>
--# include <malloc.h><br>
--# endif<br>
--#endif<br>
--<br>
--#ifdef HAVE_NL_TYPES_H<br>
--# include <nl_types.h><br>
--#endif<br>
--<br>
--#include "libgettext.h"<br>
--<br>
--/* @@ end of prolog @@ */<br>
--<br>
--/* XPG3 defines the result of `setlocale (category, NULL)' as:<br>
-- ``Directs `setlocale()' to query `category' and return the current<br>
-- setting of `local'.''<br>
-- However it does not specify the exact format. And even worse: POSIX<br>
-- defines this not at all. So we can use this feature only on selected<br>
-- system (e.g. those using GNU C Library). */<br>
--#ifdef _LIBC<br>
--# define HAVE_LOCALE_NULL<br>
--#endif<br>
--<br>
--/* The catalog descriptor. */<br>
--static nl_catd catalog = (nl_catd) -1;<br>
--<br>
--/* Name of the default catalog. */<br>
--static const char default_catalog_name[] = "messages";<br>
--<br>
--/* Name of currently used catalog. */<br>
--static const char *catalog_name = default_catalog_name;<br>
--<br>
--/* Get ID for given string. If not found return -1. */<br>
--static int msg_to_cat_id PARAMS ((const char *msg));<br>
--<br>
--/* Substitution for systems lacking this function in their C library. */<br>
--#if !_LIBC && !HAVE_STPCPY<br>
--static char *stpcpy PARAMS ((char *dest, const char *src));<br>
--#endif<br>
--<br>
--<br>
--/* Set currently used domain/catalog. */<br>
--char *<br>
--textdomain (domainname)<br>
-- const char *domainname;<br>
--{<br>
-- nl_catd new_catalog;<br>
-- char *new_name;<br>
-- size_t new_name_len;<br>
-- char *lang;<br>
--<br>
--#if defined HAVE_SETLOCALE && defined HAVE_LC_MESSAGES \<br>
-- && defined HAVE_LOCALE_NULL<br>
-- lang = setlocale (LC_MESSAGES, NULL);<br>
--#else<br>
-- lang = getenv ("LC_ALL");<br>
-- if (lang == NULL || lang[0] == '\0')<br>
-- {<br>
-- lang = getenv ("LC_MESSAGES");<br>
-- if (lang == NULL || lang[0] == '\0')<br>
-- lang = getenv ("LANG");<br>
-- }<br>
--#endif<br>
-- if (lang == NULL || lang[0] == '\0')<br>
-- lang = "C";<br>
--<br>
-- /* See whether name of currently used domain is asked. */<br>
-- if (domainname == NULL)<br>
-- return (char *) catalog_name;<br>
--<br>
-- if (domainname[0] == '\0')<br>
-- domainname = default_catalog_name;<br>
--<br>
-- /* Compute length of added path element. */<br>
-- new_name_len = sizeof (LOCALEDIR) - 1 + 1 + strlen (lang)<br>
-- + sizeof ("/LC_MESSAGES/") - 1 + sizeof (PACKAGE) - 1<br>
-- + sizeof (".cat");<br>
--<br>
-- new_name = (char *) malloc (new_name_len);<br>
-- if (new_name == NULL)<br>
-- return NULL;<br>
--<br>
-- strcpy (new_name, PACKAGE);<br>
-- new_catalog = catopen (new_name, 0);<br>
--<br>
-- if (new_catalog == (nl_catd) -1)<br>
-- {<br>
-- /* NLSPATH search didn't work, try absolute path */<br>
-- sprintf (new_name, "%s/%s/LC_MESSAGES/%<a href="http://s.cat" rel="noreferrer" target="_blank">s.cat</a>", LOCALEDIR, lang,<br>
-- PACKAGE);<br>
-- new_catalog = catopen (new_name, 0);<br>
--<br>
-- if (new_catalog == (nl_catd) -1)<br>
-- {<br>
-- free (new_name);<br>
-- return (char *) catalog_name;<br>
-- }<br>
-- }<br>
--<br>
-- /* Close old catalog. */<br>
-- if (catalog != (nl_catd) -1)<br>
-- catclose (catalog);<br>
-- if (catalog_name != default_catalog_name)<br>
-- free ((char *) catalog_name);<br>
--<br>
-- catalog = new_catalog;<br>
-- catalog_name = new_name;<br>
--<br>
-- return (char *) catalog_name;<br>
--}<br>
--<br>
--char *<br>
--bindtextdomain (domainname, dirname)<br>
-- const char *domainname;<br>
-- const char *dirname;<br>
--{<br>
--#if HAVE_SETENV || HAVE_PUTENV<br>
-- char *old_val, *new_val, *cp;<br>
-- size_t new_val_len;<br>
--<br>
-- /* This does not make much sense here but to be compatible do it. */<br>
-- if (domainname == NULL)<br>
-- return NULL;<br>
--<br>
-- /* Compute length of added path element. If we use setenv we don't need<br>
-- the first byts for NLSPATH=, but why complicate the code for this<br>
-- peanuts. */<br>
-- new_val_len = sizeof ("NLSPATH=") - 1 + strlen (dirname)<br>
-- + sizeof ("/%L/LC_MESSAGES/%N.cat");<br>
--<br>
-- old_val = getenv ("NLSPATH");<br>
-- if (old_val == NULL || old_val[0] == '\0')<br>
-- {<br>
-- old_val = NULL;<br>
-- new_val_len += 1 + sizeof (LOCALEDIR) - 1<br>
-- + sizeof ("/%L/LC_MESSAGES/%N.cat");<br>
-- }<br>
-- else<br>
-- new_val_len += strlen (old_val);<br>
--<br>
-- new_val = (char *) malloc (new_val_len);<br>
-- if (new_val == NULL)<br>
-- return NULL;<br>
--<br>
--# if HAVE_SETENV<br>
-- cp = new_val;<br>
--# else<br>
-- cp = stpcpy (new_val, "NLSPATH=");<br>
--# endif<br>
--<br>
-- cp = stpcpy (cp, dirname);<br>
-- cp = stpcpy (cp, "/%L/LC_MESSAGES/%N.cat:");<br>
--<br>
-- if (old_val == NULL)<br>
-- {<br>
--# if __STDC__<br>
-- stpcpy (cp, LOCALEDIR "/%L/LC_MESSAGES/%N.cat");<br>
--# else<br>
--<br>
-- cp = stpcpy (cp, LOCALEDIR);<br>
-- stpcpy (cp, "/%L/LC_MESSAGES/%N.cat");<br>
--# endif<br>
-- }<br>
-- else<br>
-- stpcpy (cp, old_val);<br>
--<br>
--# if HAVE_SETENV<br>
-- setenv ("NLSPATH", new_val, 1);<br>
-- free (new_val);<br>
--# else<br>
-- putenv (new_val);<br>
-- /* Do *not* free the environment entry we just entered. It is used<br>
-- from now on. */<br>
--# endif<br>
--<br>
--#endif<br>
--<br>
-- return (char *) domainname;<br>
--}<br>
--<br>
--#undef gettext<br>
--char *<br>
--gettext (msg)<br>
-- const char *msg;<br>
--{<br>
-- int msgid;<br>
--<br>
-- if (msg == NULL || catalog == (nl_catd) -1)<br>
-- return (char *) msg;<br>
--<br>
-- /* Get the message from the catalog. We always use set number 1.<br>
-- The message ID is computed by the function `msg_to_cat_id'<br>
-- which works on the table generated by `po-to-tbl'. */<br>
-- msgid = msg_to_cat_id (msg);<br>
-- if (msgid == -1)<br>
-- return (char *) msg;<br>
--<br>
-- return catgets (catalog, 1, msgid, (char *) msg);<br>
--}<br>
--<br>
--/* Look through the table `_msg_tbl' which has `_msg_tbl_length' entries<br>
-- for the one equal to msg. If it is found return the ID. In case when<br>
-- the string is not found return -1. */<br>
--static int<br>
--msg_to_cat_id (msg)<br>
-- const char *msg;<br>
--{<br>
-- int cnt;<br>
--<br>
-- for (cnt = 0; cnt < _msg_tbl_length; ++cnt)<br>
-- if (strcmp (msg, _msg_tbl[cnt]._msg) == 0)<br>
-- return _msg_tbl[cnt]._msg_number;<br>
--<br>
-- return -1;<br>
--}<br>
--<br>
--<br>
--/* @@ begin of epilog @@ */<br>
--<br>
--/* We don't want libintl.a to depend on any other library. So we<br>
-- avoid the non-standard function stpcpy. In GNU C Library this<br>
-- function is available, though. Also allow the symbol HAVE_STPCPY<br>
-- to be defined. */<br>
--#if !_LIBC && !HAVE_STPCPY<br>
--static char *<br>
--stpcpy (dest, src)<br>
-- char *dest;<br>
-- const char *src;<br>
--{<br>
-- while ((*dest++ = *src++) != '\0')<br>
-- /* Do nothing. */ ;<br>
-- return dest - 1;<br>
--}<br>
--#endif<br>
---- lrzsz-0.12.20.safe/intl/ChangeLog 1998-04-26 09:22:35.000000000 -0400<br>
-+++ lrzsz-0.12.20/intl/ChangeLog 2004-09-12 14:40:34.349749000 -0400<br>
-@@ -1,1022 +1,4 @@<br>
--1997-09-06 02:10 Ulrich Drepper <<a href="mailto:drepper@cygnus.com" target="_blank">drepper@cygnus.com</a>><br>
--<br>
-- * <a href="http://intlh.inst.in" rel="noreferrer" target="_blank">intlh.inst.in</a>: Reformat copyright.<br>
--<br>
--1997-08-19 15:22 Ulrich Drepper <<a href="mailto:drepper@cygnus.com" target="_blank">drepper@cygnus.com</a>><br>
--<br>
-- * dcgettext.c (DCGETTEXT): Remove wrong comment.<br>
--<br>
--1997-08-16 00:13 Ulrich Drepper <<a href="mailto:drepper@cygnus.com" target="_blank">drepper@cygnus.com</a>><br>
--<br>
-- * Makefile.in (install-data): Don't change directory to install.<br>
--<br>
--1997-08-01 14:30 Ulrich Drepper <<a href="mailto:drepper@cygnus.com" target="_blank">drepper@cygnus.com</a>><br>
--<br>
-- * cat-compat.c: Fix copyright.<br>
--<br>
-- * localealias.c: Don't define strchr unless !HAVE_STRCHR.<br>
--<br>
-- * loadmsgcat.c: Update copyright. Fix typos.<br>
--<br>
-- * l10nflist.c: Don't define strchr unless !HAVE_STRCHR.<br>
-- (_nl_make_l10nflist): Handle sponsor and revision correctly.<br>
--<br>
-- * gettext.c: Update copyright.<br>
-- * gettext.h: Likewise.<br>
-- * hash-string.h: Likewise.<br>
--<br>
-- * finddomain.c: Remoave dead code. Define strchr only if<br>
-- !HAVE_STRCHR.<br>
--<br>
-- * explodename.c: Include <sys/types.h>.<br>
--<br>
-- * explodename.c: Reformat copyright text.<br>
-- (_nl_explode_name): Fix typo.<br>
--<br>
-- * dcgettext.c: Define and use __set_errno.<br>
-- (guess_category_value): Don't use setlocale if HAVE_LC_MESSAGES is<br>
-- not defined.<br>
--<br>
-- * bindtextdom.c: Pretty printing.<br>
--<br>
--1997-05-01 02:25 Ulrich Drepper <<a href="mailto:drepper@cygnus.com" target="_blank">drepper@cygnus.com</a>><br>
--<br>
-- * dcgettext.c (guess_category_value): Don't depend on<br>
-- HAVE_LC_MESSAGES. We don't need the macro here.<br>
-- Patch by Bruno Haible <<a href="mailto:haible@ilog.fr" target="_blank">haible@ilog.fr</a>>.<br>
--<br>
-- * cat-compat.c (textdomain): DoN't refer to HAVE_SETLOCALE_NULL<br>
-- macro. Instead use HAVE_LOCALE_NULL and define it when using<br>
-- glibc, as in dcgettext.c.<br>
-- Patch by Bruno Haible <<a href="mailto:haible@ilog.fr" target="_blank">haible@ilog.fr</a>>.<br>
--<br>
-- * Makefile.in (CPPFLAGS): New variable. Reported by Franc,ois<br>
-- Pinard.<br>
--<br>
--Mon Mar 10 06:51:17 1997 Ulrich Drepper <<a href="mailto:drepper@cygnus.com" target="_blank">drepper@cygnus.com</a>><br>
--<br>
-- * Makefile.in: Implement handling of libtool.<br>
--<br>
-- * gettextP.h: Change data structures for use of generic lowlevel<br>
-- i18n file handling.<br>
--<br>
--Wed Dec 4 20:21:18 1996 Ulrich Drepper <<a href="mailto:drepper@cygnus.com" target="_blank">drepper@cygnus.com</a>><br>
--<br>
-- * textdomain.c: Put parentheses around arguments of memcpy macro<br>
-- definition.<br>
-- * localealias.c: Likewise.<br>
-- * l10nflist.c: Likewise.<br>
-- * finddomain.c: Likewise.<br>
-- * bindtextdom.c: Likewise.<br>
-- Reported by Thomas Esken.<br>
--<br>
--Mon Nov 25 22:57:51 1996 Ulrich Drepper <<a href="mailto:drepper@cygnus.com" target="_blank">drepper@cygnus.com</a>><br>
--<br>
-- * textdomain.c: Move definition of `memcpy` macro to right<br>
-- position.<br>
--<br>
--Fri Nov 22 04:01:58 1996 Ulrich Drepper <<a href="mailto:drepper@cygnus.com" target="_blank">drepper@cygnus.com</a>><br>
--<br>
-- * finddomain.c [!HAVE_STRING_H && !_LIBC]: Define memcpy using<br>
-- bcopy if not already defined. Reported by Thomas Esken.<br>
-- * bindtextdom.c: Likewise.<br>
-- * l10nflist.c: Likewise.<br>
-- * localealias.c: Likewise.<br>
-- * textdomain.c: Likewise.<br>
--<br>
--Tue Oct 29 11:10:27 1996 Ulrich Drepper <<a href="mailto:drepper@cygnus.com" target="_blank">drepper@cygnus.com</a>><br>
--<br>
-- * Makefile.in (libdir): Change to use exec_prefix instead of<br>
-- prefix. Reported by Knut-HåvardAksnes <<a href="mailto:etokna@eto.ericsson.se" target="_blank">etokna@eto.ericsson.se</a>>.<br>
--<br>
--Sat Aug 31 03:07:09 1996 Ulrich Drepper <<a href="mailto:drepper@cygnus.com" target="_blank">drepper@cygnus.com</a>><br>
--<br>
-- * l10nflist.c (_nl_normalize_codeset): We convert to lower case,<br>
-- so don't prepend uppercase `ISO' for only numeric arg.<br>
--<br>
--Fri Jul 19 00:15:46 1996 Ulrich Drepper <<a href="mailto:drepper@cygnus.com" target="_blank">drepper@cygnus.com</a>><br>
--<br>
-- * l10nflist.c: Move inclusion of argz.h, ctype.h, stdlib.h after<br>
-- definition of _GNU_SOURCE. Patch by Roland McGrath.<br>
--<br>
-- * Makefile.in (uninstall): Fix another bug with `for' loop and<br>
-- empty arguments. Patch by Jim Meyering. Correct name os<br>
-- uninstalled files: no intl- prefix anymore.<br>
--<br>
-- * Makefile.in (install-data): Again work around shells which<br>
-- cannot handle mpty for list. Reported by Jim Meyering.<br>
--<br>
--Sat Jul 13 18:11:35 1996 Ulrich Drepper <<a href="mailto:drepper@cygnus.com" target="_blank">drepper@cygnus.com</a>><br>
--<br>
-- * Makefile.in (install): Split goal. Now depend on install-exec<br>
-- and install-data.<br>
-- (install-exec, install-data): New goals. Created from former<br>
-- install goal.<br>
-- Reported by Karl Berry.<br>
--<br>
--Sat Jun 22 04:58:14 1996 Ulrich Drepper <<a href="mailto:drepper@cygnus.com" target="_blank">drepper@cygnus.com</a>><br>
--<br>
-- * Makefile.in (MKINSTALLDIRS): New variable. Path to<br>
-- mkinstalldirs script.<br>
-- (install): use MKINSTALLDIRS variable or if the script is not present<br>
-- try to find it in the $top_scrdir).<br>
--<br>
--Wed Jun 19 02:56:56 1996 Ulrich Drepper <<a href="mailto:drepper@cygnus.com" target="_blank">drepper@cygnus.com</a>><br>
--<br>
-- * l10nflist.c: Linux libc *partly* includes the argz_* functions.<br>
-- Grr. Work around by renaming the static version and use macros<br>
-- for renaming.<br>
--<br>
--Tue Jun 18 20:11:17 1996 Ulrich Drepper <<a href="mailto:drepper@cygnus.com" target="_blank">drepper@cygnus.com</a>><br>
--<br>
-- * l10nflist.c: Correct presence test macros of __argz_* functions.<br>
--<br>
-- * l10nflist.c: Include <argz.h> based on test of it instead when<br>
-- __argz_* functions are available.<br>
-- Reported by Andreas Schwab.<br>
--<br>
--Thu Jun 13 15:17:44 1996 Ulrich Drepper <<a href="mailto:drepper@cygnus.com" target="_blank">drepper@cygnus.com</a>><br>
--<br>
-- * explodename.c, l10nflist.c: Define NULL for dumb systems.<br>
--<br>
--Tue Jun 11 17:05:13 1996 Ulrich Drepper <<a href="mailto:drepper@cygnus.com" target="_blank">drepper@cygnus.com</a>><br>
--<br>
-- * <a href="http://intlh.inst.in" rel="noreferrer" target="_blank">intlh.inst.in</a>, libgettext.h (dcgettext): Rename local variable<br>
-- result to __result to prevent name clash.<br>
--<br>
-- * l10nflist.c, localealias.c, dcgettext.c: Define _GNU_SOURCE to<br>
-- get prototype for stpcpy and strcasecmp.<br>
--<br>
-- * <a href="http://intlh.inst.in" rel="noreferrer" target="_blank">intlh.inst.in</a>, libgettext.h: Move declaration of<br>
-- `_nl_msg_cat_cntr' outside __extension__ block to prevent warning<br>
-- from gcc's -Wnested-extern option.<br>
--<br>
--Fri Jun 7 01:58:00 1996 Ulrich Drepper <<a href="mailto:drepper@cygnus.com" target="_blank">drepper@cygnus.com</a>><br>
--<br>
-- * Makefile.in (install): Remove comment.<br>
--<br>
--Thu Jun 6 17:28:17 1996 Ulrich Drepper <<a href="mailto:drepper@cygnus.com" target="_blank">drepper@cygnus.com</a>><br>
--<br>
-- * Makefile.in (install): Work around for another Buglix stupidity.<br>
-- Always use an `else' close for `if's. Reported by Nelson Beebe.<br>
--<br>
-- * Makefile.in (intlh.inst): Correct typo in phony rule.<br>
-- Reported by Nelson Beebe.<br>
--<br>
--Thu Jun 6 01:49:52 1996 Ulrich Drepper <<a href="mailto:drepper@cygnus.com" target="_blank">drepper@cygnus.com</a>><br>
--<br>
-- * dcgettext.c (read_alias_file): Rename variable alloca_list to<br>
-- block_list as the macro calls assume.<br>
-- Patch by Eric Backus.<br>
--<br>
-- * localealias.c [!HAVE_ALLOCA]: Define alloca as macro using<br>
-- malloc.<br>
-- (read_alias_file): Rename varriabe alloca_list to block_list as the<br>
-- macro calls assume.<br>
-- Patch by Eric Backus.<br>
--<br>
-- * l10nflist.c: Correct conditional for <argz.h> inclusion.<br>
-- Reported by Roland McGrath.<br>
--<br>
-- * Makefile.in (all): Depend on all-@USE_INCLUDED_LIBINTL@, not<br>
-- all-@USE_NLS@.<br>
--<br>
-- * Makefile.in (install): intlh.inst comes from local dir, not<br>
-- $(srcdir).<br>
--<br>
-- * Makefile.in (intlh.inst): Special handling of this goal. If<br>
-- used in gettext, this is really a rul to construct this file. If<br>
-- used in any other package it is defined as a .PHONY rule with<br>
-- empty body.<br>
--<br>
-- * finddomain.c: Extract locale file information handling into<br>
-- l10nfile.c. Rename local stpcpy__ function to stpcpy.<br>
--<br>
-- * dcgettext.c (stpcpy): Add local definition.<br>
--<br>
-- * l10nflist.c: Solve some portability problems. Patches partly by<br>
-- Thomas Esken. Add local definition of stpcpy.<br>
--<br>
--Tue Jun 4 02:47:49 1996 Ulrich Drepper <<a href="mailto:drepper@cygnus.com" target="_blank">drepper@cygnus.com</a>><br>
--<br>
-- * <a href="http://intlh.inst.in" rel="noreferrer" target="_blank">intlh.inst.in</a>: Don't depend including <locale.h> on<br>
-- HAVE_LOCALE_H. Instead configure must rewrite this fiile<br>
-- depending on the result of the configure run.<br>
--<br>
-- * Makefile.in (install): libintl.inst is now called intlh.inst.<br>
-- Add rules for updating intlh.inst from <a href="http://intlh.inst.in" rel="noreferrer" target="_blank">intlh.inst.in</a>.<br>
--<br>
-- * libintl.inst: Renamed to <a href="http://intlh.inst.in" rel="noreferrer" target="_blank">intlh.inst.in</a>.<br>
--<br>
-- * localealias.c, dcgettext.c [__GNUC__]: Define HAVE_ALLOCA to 1<br>
-- because gcc has __buitlin_alloca.<br>
-- Reported by Roland McGrath.<br>
--<br>
--Mon Jun 3 00:32:16 1996 Ulrich Drepper <<a href="mailto:drepper@cygnus.com" target="_blank">drepper@cygnus.com</a>><br>
--<br>
-- * Makefile.in (installcheck): New goal to fulfill needs of<br>
-- automake's distcheck.<br>
--<br>
-- * Makefile.in (install): Reorder commands so that VERSION is<br>
-- found.<br>
--<br>
-- * Makefile.in (gettextsrcdir): Now use subdirectory intl/ in<br>
-- @datadir@/gettext.<br>
-- (COMSRCS): Add l10nfile.c.<br>
-- (OBJECTS): Add l10nfile.o.<br>
-- (DISTFILES): Rename to DISTFILE.normal. Remove $(DISTFILES.common).<br>
-- (DISTFILE.gettext): Remove $(DISTFILES.common).<br>
-- (all-gettext): Remove goal.<br>
-- (install): If $(PACKAGE) = gettext install, otherwose do nothing. No<br>
-- package but gettext itself should install libintl.h + headers.<br>
-- (dist): Extend goal to work for gettext, too.<br>
-- (dist-gettext): Remove goal.<br>
--<br>
-- * dcgettext.c [!HAVE_ALLOCA]: Define macro alloca by using malloc.<br>
--<br>
--Sun Jun 2 17:33:06 1996 Ulrich Drepper <<a href="mailto:drepper@cygnus.com" target="_blank">drepper@cygnus.com</a>><br>
--<br>
-- * loadmsgcat.c (_nl_load_domain): Parameter is now comes from<br>
-- find_l10nfile.<br>
--<br>
--Sat Jun 1 02:23:03 1996 Ulrich Drepper <<a href="mailto:drepper@cygnus.com" target="_blank">drepper@cygnus.com</a>><br>
--<br>
-- * l10nflist.c (__argz_next): Add definition.<br>
--<br>
-- * dcgettext.c [!HAVE_ALLOCA]: Add code for handling missing alloca<br>
-- code. Use new l10nfile handling.<br>
--<br>
-- * localealias.c [!HAVE_ALLOCA]: Add code for handling missing<br>
-- alloca code.<br>
--<br>
-- * l10nflist.c: Initial revision.<br>
--<br>
--Tue Apr 2 18:51:18 1996 Ulrich Drepper <drepper@myware><br>
--<br>
-- * Makefile.in (all-gettext): New goal. Same as all-yes.<br>
--<br>
--Thu Mar 28 23:01:22 1996 Karl Eichwalder <<a href="mailto:ke@ke.central.de" target="_blank">ke@ke.central.de</a>><br>
--<br>
-- * Makefile.in (gettextsrcdir): Define using @datadir@.<br>
--<br>
--Tue Mar 26 12:39:14 1996 Ulrich Drepper <drepper@myware><br>
--<br>
-- * finddomain.c: Include <ctype.h>. Reported by Roland McGrath.<br>
--<br>
--Sat Mar 23 02:00:35 1996 Ulrich Drepper <drepper@myware><br>
--<br>
-- * finddomain.c (stpcpy): Rename to stpcpy__ to prevent clashing<br>
-- with external declaration.<br>
--<br>
--Sat Mar 2 00:47:09 1996 Ulrich Drepper <drepper@myware><br>
--<br>
-- * Makefile.in (all-no): Rename from all_no.<br>
--<br>
--Sat Feb 17 00:25:59 1996 Ulrich Drepper <drepper@myware><br>
--<br>
-- * gettextP.h [loaded_domain]: Array `successor' must now contain up<br>
-- to 63 elements (because of codeset name normalization).<br>
--<br>
-- * finddomain.c: Implement codeset name normalization.<br>
--<br>
--Thu Feb 15 04:39:09 1996 Ulrich Drepper <drepper@myware><br>
--<br>
-- * Makefile.in (all): Define to `all-@USE_NLS@'.<br>
-- (all-yes, all_no): New goals. `all-no' is noop, `all-yes'<br>
-- is former all.<br>
--<br>
--Mon Jan 15 21:46:01 1996 Howard Gayle <<a href="mailto:howard@hal.com" target="_blank">howard@hal.com</a>><br>
--<br>
-- * localealias.c (alias_compare): Increment string pointers in loop<br>
-- of strcasecmp replacement.<br>
--<br>
--Fri Dec 29 21:16:34 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * Makefile.in (install-src): Who commented this goal out ? :-)<br>
--<br>
--Fri Dec 29 15:08:16 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * dcgettext.c (DCGETTEXT): Save `errno'. Failing system calls<br>
-- should not effect it because a missing catalog is no error.<br>
-- Reported by Harald K<o:>nig <<a href="mailto:koenig@tat.physik.uni-tuebingen.de" target="_blank">koenig@tat.physik.uni-tuebingen.de</a>>.<br>
--<br>
--Tue Dec 19 22:09:13 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * Makefile.in (Makefile): Explicitly use $(SHELL) for running<br>
-- shell scripts.<br>
--<br>
--Fri Dec 15 17:34:59 1995 Andreas Schwab <<a href="mailto:schwab@issan.informatik.uni-dortmund.de" target="_blank">schwab@issan.informatik.uni-dortmund.de</a>><br>
--<br>
-- * Makefile.in (install-src): Only install library and header when<br>
-- we use the own implementation. Don't do it when using the<br>
-- system's gettext or catgets functions.<br>
--<br>
-- * dcgettext.c (find_msg): Must not swap domain->hash_size here.<br>
--<br>
--Sat Dec 9 16:24:37 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * localealias.c, libintl.inst, libgettext.h, hash-string.h,<br>
-- gettextP.h, finddomain.c, dcgettext.c, cat-compat.c:<br>
-- Use PARAMS instead of __P. Suggested by Roland McGrath.<br>
--<br>
--Tue Dec 5 11:39:14 1995 Larry Schwimmer <<a href="mailto:rosebud@cyclone.stanford.edu" target="_blank">rosebud@cyclone.stanford.edu</a>><br>
--<br>
-- * libgettext.h: Use `#if !defined (_LIBINTL_H)' instead of `#if<br>
-- !_LIBINTL_H' because Solaris defines _LIBINTL_H as empty.<br>
--<br>
--Mon Dec 4 15:42:07 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * Makefile.in (install-src):<br>
-- Install libintl.inst instead of libintl.h.install.<br>
--<br>
--Sat Dec 2 22:51:38 1995 Marcus Daniels <<a href="mailto:marcus@sysc.pdx.edu" target="_blank">marcus@sysc.pdx.edu</a>><br>
--<br>
-- * cat-compat.c (textdomain):<br>
-- Reverse order in which files are tried you load. First<br>
-- try local file, when this failed absolute path.<br>
--<br>
--Wed Nov 29 02:03:53 1995 Nelson H. F. Beebe <<a href="mailto:beebe@math.utah.edu" target="_blank">beebe@math.utah.edu</a>><br>
--<br>
-- * cat-compat.c (bindtextdomain): Add missing { }.<br>
--<br>
--Sun Nov 26 18:21:41 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * libintl.inst: Add missing __P definition. Reported by Nelson Beebe.<br>
--<br>
-- * Makefile.in:<br>
-- Add dummy `all' and `dvi' goals. Reported by Tom Tromey.<br>
--<br>
--Sat Nov 25 16:12:01 1995 Franc,ois Pinard <<a href="mailto:pinard@iro.umontreal.ca" target="_blank">pinard@iro.umontreal.ca</a>><br>
--<br>
-- * hash-string.h: Capitalize arguments of macros.<br>
--<br>
--Sat Nov 25 12:01:36 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * Makefile.in (DISTFILES): Prevent files names longer than 13<br>
-- characters. libintl.h.glibc->libintl.glibc,<br>
-- libintl.h.install->libintl.inst. Reported by Joshua R. Poulson.<br>
--<br>
--Sat Nov 25 11:31:12 1995 Eric Backus <<a href="mailto:ericb@lsid.hp.com" target="_blank">ericb@lsid.hp.com</a>><br>
--<br>
-- * dcgettext.c: Fix bug in preprocessor conditionals.<br>
--<br>
--Sat Nov 25 02:35:27 1995 Nelson H. F. Beebe <<a href="mailto:beebe@math.utah.edu" target="_blank">beebe@math.utah.edu</a>><br>
--<br>
-- * libgettext.h: Solaris cc does not understand<br>
-- #if !SYMBOL1 && !SYMBOL2. Sad but true.<br>
--<br>
--Thu Nov 23 16:22:14 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * hash-string.h (hash_string):<br>
-- Fix for machine with >32 bit `unsigned long's.<br>
--<br>
-- * dcgettext.c (DCGETTEXT):<br>
-- Fix horrible bug in loop for alternative translation.<br>
--<br>
--Thu Nov 23 01:45:29 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * <a href="http://po2tbl.sed.in" rel="noreferrer" target="_blank">po2tbl.sed.in</a>, linux-msg.sed, xopen-msg.sed:<br>
-- Some further simplifications in message number generation.<br>
--<br>
--Mon Nov 20 21:08:43 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * libintl.h.glibc: Use __const instead of const in prototypes.<br>
--<br>
-- * Makefile.in (install-src):<br>
-- Install libintl.h.install instead of libintl.h. This<br>
-- is a stripped-down version. Suggested by Peter Miller.<br>
--<br>
-- * libintl.h.install, libintl.h.glibc: Initial revision.<br>
--<br>
-- * localealias.c (_nl_expand_alias, read_alias_file):<br>
-- Protect prototypes in type casts by __P.<br>
--<br>
--Tue Nov 14 16:43:58 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * hash-string.h: Correct prototype for hash_string.<br>
--<br>
--Sun Nov 12 12:42:30 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * hash-string.h (hash_string): Add prototype.<br>
--<br>
-- * gettextP.h: Fix copyright.<br>
-- (SWAP): Add prototype.<br>
--<br>
--Wed Nov 8 22:56:33 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * localealias.c (read_alias_file): Forgot sizeof.<br>
-- Avoid calling *printf function. This introduces a big overhead.<br>
-- Patch by Roland McGrath.<br>
--<br>
--Tue Nov 7 14:21:08 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * finddomain.c, cat-compat.c: Wrong indentation in #if for stpcpy.<br>
--<br>
-- * finddomain.c (stpcpy):<br>
-- Define substitution function local. The macro was to flaky.<br>
--<br>
-- * cat-compat.c: Fix typo.<br>
--<br>
-- * xopen-msg.sed, linux-msg.sed:<br>
-- While bringing message number to right place only accept digits.<br>
--<br>
-- * linux-msg.sed, xopen-msg.sed: Now that the counter does not have<br>
-- leading 0s we don't need to remove them. Reported by Marcus<br>
-- Daniels.<br>
--<br>
-- * Makefile.in (../po/cat-id-tbl.o): Use $(top_srdir) in<br>
-- dependency. Reported by Marcus Daniels.<br>
--<br>
-- * cat-compat.c: (stpcpy) [!_LIBC && !HAVE_STPCPY]: Define replacement.<br>
-- Generally cleanup using #if instead of #ifndef.<br>
--<br>
-- * Makefile.in: Correct typos in comment. By Franc,ois Pinard.<br>
--<br>
--Mon Nov 6 00:27:02 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * Makefile.in (install-src): Don't install libintl.h and libintl.a<br>
-- if we use an available gettext implementation.<br>
--<br>
--Sun Nov 5 22:02:08 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * libgettext.h: Fix typo: HAVE_CATGETTS -> HAVE_CATGETS. Reported<br>
-- by Franc,ois Pinard.<br>
--<br>
-- * libgettext.h: Use #if instead of #ifdef/#ifndef.<br>
--<br>
-- * finddomain.c:<br>
-- Comments describing what has to be done should start with FIXME.<br>
--<br>
--Sun Nov 5 19:38:01 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * Makefile.in (DISTFILES): Split. Use DISTFILES with normal meaning.<br>
-- DISTFILES.common names the files common to both dist goals.<br>
-- DISTFILES.gettext are the files only distributed in GNU gettext.<br>
--<br>
--Sun Nov 5 17:32:54 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * dcgettext.c (DCGETTEXT): Correct searching in derived locales.<br>
-- This was necessary since a change in _nl_find_msg several weeks<br>
-- ago. I really don't know this is still not fixed.<br>
--<br>
--Sun Nov 5 12:43:12 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * loadmsgcat.c (_nl_load_domain): Test for FILENAME == NULL. This<br>
-- might mark a special condition.<br>
--<br>
-- * finddomain.c (make_entry_rec): Don't make illegal entry as decided.<br>
--<br>
-- * Makefile.in (dist): Suppress error message when ln failed.<br>
-- Get files from $(srcdir) explicitly.<br>
--<br>
-- * libgettext.h (gettext_const): Rename to gettext_noop.<br>
--<br>
--Fri Nov 3 07:36:50 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * finddomain.c (make_entry_rec):<br>
-- Protect against wrong locale names by testing mask.<br>
--<br>
-- * libgettext.h (gettext_const): Add macro definition.<br>
-- Capitalize macro arguments.<br>
--<br>
--Thu Nov 2 23:15:51 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * finddomain.c (_nl_find_domain):<br>
-- Test for pointer != NULL before accessing value.<br>
-- Reported by Tom Tromey.<br>
--<br>
-- * gettext.c (NULL):<br>
-- Define as (void*)0 instad of 0. Reported by Franc,ois Pinard.<br>
--<br>
--Mon Oct 30 21:28:52 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * <a href="http://po2tbl.sed.in" rel="noreferrer" target="_blank">po2tbl.sed.in</a>: Serious typo bug fixed by Jim Meyering.<br>
--<br>
--Sat Oct 28 23:20:47 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * libgettext.h: Disable dcgettext optimization for Solaris 2.3.<br>
--<br>
-- * localealias.c (alias_compare):<br>
-- Peter Miller reported that tolower in some systems is<br>
-- even dumber than I thought. Protect call by `isupper'.<br>
--<br>
--Fri Oct 27 22:22:51 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * Makefile.in (libdir, includedir): New variables.<br>
-- (install-src): Install libintl.a and libintl.h in correct dirs.<br>
--<br>
--Fri Oct 27 22:07:29 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * Makefile.in (SOURCES): Fix typo: intrl.compat.c -> intl-compat.c.<br>
--<br>
-- * <a href="http://po2tbl.sed.in" rel="noreferrer" target="_blank">po2tbl.sed.in</a>: Patch for buggy SEDs by Christian von Roques.<br>
--<br>
-- * localealias.c:<br>
-- Fix typo and superflous test. Reported by Christian von Roques.<br>
--<br>
--Fri Oct 6 11:52:05 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * finddomain.c (_nl_find_domain):<br>
-- Correct some remainder from the pre-CEN syntax. Now<br>
-- we don't have a constant number of successors anymore.<br>
--<br>
--Wed Sep 27 21:41:13 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * Makefile.in (DISTFILES): Add libintl.h.glibc.<br>
--<br>
-- * Makefile.in (dist-libc): Add goal for packing sources for glibc.<br>
-- (COMSRCS, COMHDRS): Splitted to separate sources shared with glibc.<br>
--<br>
-- * loadmsgcat.c: Forget to continue #if line.<br>
--<br>
-- * localealias.c:<br>
-- [_LIBC]: Rename strcasecmp to __strcasecmp to keep ANSI C name<br>
-- space clean.<br>
--<br>
-- * dcgettext.c, finddomain.c: Better comment to last change.<br>
--<br>
-- * loadmsgcat.c:<br>
-- [_LIBC]: Rename fstat, open, close, read, mmap, and munmap to<br>
-- __fstat, __open, __close, __read, __mmap, and __munmap resp<br>
-- to keep ANSI C name space clean.<br>
--<br>
-- * finddomain.c:<br>
-- [_LIBC]: Rename stpcpy to __stpcpy to keep ANSI C name space clean.<br>
--<br>
-- * dcgettext.c:<br>
-- [_LIBC]: Rename getced and stpcpy to __getcwd and __stpcpy resp to<br>
-- keep ANSI C name space clean.<br>
--<br>
-- * libgettext.h:<br>
-- Include sys/types.h for those old SysV systems out there.<br>
-- Reported by Francesco Potorti`.<br>
--<br>
-- * loadmsgcat.c (use_mmap): Define if compiled for glibc.<br>
--<br>
-- * bindtextdom.c: Include all those standard headers<br>
-- unconditionally if _LIBC is defined.<br>
--<br>
-- * finddomain.c: Fix 2 times defiend -> defined.<br>
--<br>
-- * textdomain.c: Include libintl.h instead of libgettext.h when<br>
-- compiling for glibc. Include all those standard headers<br>
-- unconditionally if _LIBC is defined.<br>
--<br>
-- * localealias.c, loadmsgcat.c: Prepare to be compiled in glibc.<br>
--<br>
-- * gettext.c:<br>
-- Include libintl.h instead of libgettext.h when compiling for glibc.<br>
-- Get NULL from stddef.h if we compile for glibc.<br>
--<br>
-- * finddomain.c: Include libintl.h instead of libgettext.h when<br>
-- compiling for glibc. Include all those standard headers<br>
-- unconditionally if _LIBC is defined.<br>
--<br>
-- * dcgettext.c: Include all those standard headers unconditionally<br>
-- if _LIBC is defined.<br>
--<br>
-- * dgettext.c: If compiled in glibc include libintl.h instead of<br>
-- libgettext.h.<br>
-- (locale.h): Don't rely on HAVE_LOCALE_H when compiling for glibc.<br>
--<br>
-- * dcgettext.c: If compiled in glibc include libintl.h instead of<br>
-- libgettext.h.<br>
-- (getcwd): Don't rely on HAVE_GETCWD when compiling for glibc.<br>
--<br>
-- * bindtextdom.c:<br>
-- If compiled in glibc include libintl.h instead of libgettext.h.<br>
--<br>
--Mon Sep 25 22:23:06 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * localealias.c (_nl_expand_alias): Don't call bsearch if NMAP <= 0.<br>
-- Reported by Marcus Daniels.<br>
--<br>
-- * cat-compat.c (bindtextdomain):<br>
-- String used in putenv must not be recycled.<br>
-- Reported by Marcus Daniels.<br>
--<br>
-- * libgettext.h (__USE_GNU_GETTEXT):<br>
-- Additional symbol to signal that we use GNU gettext<br>
-- library.<br>
--<br>
-- * cat-compat.c (bindtextdomain):<br>
-- Fix bug with the strange stpcpy replacement.<br>
-- Reported by Nelson Beebe.<br>
--<br>
--Sat Sep 23 08:23:51 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * cat-compat.c: Include <string.h> for stpcpy prototype.<br>
--<br>
-- * localealias.c (read_alias_file):<br>
-- While expand strdup code temporary variable `cp' hided<br>
-- higher level variable with same name. Rename to `tp'.<br>
--<br>
-- * textdomain.c (textdomain):<br>
-- Avoid warning by using temporary variable in strdup code.<br>
--<br>
-- * finddomain.c (_nl_find_domain): Remove unused variable `application'.<br>
--<br>
--Thu Sep 21 15:51:44 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * localealias.c (alias_compare):<br>
-- Use strcasecmp() only if available. Else use<br>
-- implementation in place.<br>
--<br>
-- * intl-compat.c:<br>
-- Wrapper functions now call *__ functions instead of __*.<br>
--<br>
-- * libgettext.h: Declare prototypes for *__ functions instead for __*.<br>
--<br>
-- * cat-compat.c, loadmsgcat.c:<br>
-- Don't use xmalloc, xstrdup, and stpcpy. These functions are not part<br>
-- of the standard libc and so prevent libintl.a from being used<br>
-- standalone.<br>
--<br>
-- * bindtextdom.c:<br>
-- Don't use xmalloc, xstrdup, and stpcpy. These functions are not part<br>
-- of the standard libc and so prevent libintl.a from being used<br>
-- standalone.<br>
-- Rename to bindtextdomain__ if not used in GNU C Library.<br>
--<br>
-- * dgettext.c:<br>
-- Rename function to dgettext__ if not used in GNU C Library.<br>
--<br>
-- * gettext.c:<br>
-- Don't use xmalloc, xstrdup, and stpcpy. These functions are not part<br>
-- of the standard libc and so prevent libintl.a from being used<br>
-- standalone.<br>
-- Functions now called gettext__ if not used in GNU C Library.<br>
--<br>
-- * dcgettext.c, localealias.c, textdomain.c, finddomain.c:<br>
-- Don't use xmalloc, xstrdup, and stpcpy. These functions are not part<br>
-- of the standard libc and so prevent libintl.a from being used<br>
-- standalone.<br>
--<br>
--Sun Sep 17 23:14:49 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * finddomain.c: Correct some bugs in handling of CEN standard<br>
-- locale definitions.<br>
--<br>
--Thu Sep 7 01:49:28 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * finddomain.c: Implement CEN syntax.<br>
--<br>
-- * gettextP.h (loaded_domain): Extend number of successors to 31.<br>
--<br>
--Sat Aug 19 19:25:29 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * Makefile.in (aliaspath): Remove path to X11 locale dir.<br>
--<br>
-- * Makefile.in: Make install-src depend on install. This helps<br>
-- gettext to install the sources and other packages can use the<br>
-- install goal.<br>
--<br>
--Sat Aug 19 15:19:33 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * Makefile.in (uninstall): Remove stuff installed by install-src.<br>
--<br>
--Tue Aug 15 13:13:53 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * VERSION.in: Initial revision.<br>
--<br>
-- * Makefile.in (DISTFILES):<br>
-- Add VERSION file. This is not necessary for gettext, but<br>
-- for other packages using this library.<br>
--<br>
--Tue Aug 15 06:16:44 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * gettextP.h (_nl_find_domain):<br>
-- New prototype after changing search strategy.<br>
--<br>
-- * finddomain.c (_nl_find_domain):<br>
-- We now try only to find a specified catalog. Fall back to other<br>
-- catalogs listed in the locale list is now done in __dcgettext.<br>
--<br>
-- * dcgettext.c (__dcgettext):<br>
-- Now we provide message fall back even to different languages.<br>
-- I.e. if a message is not available in one language all the other<br>
-- in the locale list a tried. Formerly fall back was only possible<br>
-- within one language. Implemented by moving one loop from<br>
-- _nl_find_domain to here.<br>
--<br>
--Mon Aug 14 23:45:50 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * Makefile.in (gettextsrcdir):<br>
-- Directory where source of GNU gettext library are made<br>
-- available.<br>
-- (INSTALL, INSTALL_DATA): Programs used for installing sources.<br>
-- (gettext-src): New. Rule to install GNU gettext sources for use in<br>
-- gettextize shell script.<br>
--<br>
--Sun Aug 13 14:40:48 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * loadmsgcat.c (_nl_load_domain):<br>
-- Use mmap for loading only when munmap function is<br>
-- also available.<br>
--<br>
-- * Makefile.in (install): Depend on `all' goal.<br>
--<br>
--Wed Aug 9 11:04:33 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * localealias.c (read_alias_file):<br>
-- Do not overwrite '\n' when terminating alias value string.<br>
--<br>
-- * localealias.c (read_alias_file):<br>
-- Handle long lines. Ignore the rest not fitting in<br>
-- the buffer after the initial `fgets' call.<br>
--<br>
--Wed Aug 9 00:54:29 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * gettextP.h (_nl_load_domain):<br>
-- Add prototype, replacing prototype for _nl_load_msg_cat.<br>
--<br>
-- * finddomain.c (_nl_find_domain):<br>
-- Remove unneeded variable filename and filename_len.<br>
-- (expand_alias): Remove prototype because functions does not<br>
-- exist anymore.<br>
--<br>
-- * localealias.c (read_alias_file):<br>
-- Change type of fname_len parameter to int.<br>
-- (xmalloc): Add prototype.<br>
--<br>
-- * loadmsgcat.c: Better prototypes for xmalloc.<br>
--<br>
--Tue Aug 8 22:30:39 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * finddomain.c (_nl_find_domain):<br>
-- Allow alias name to be constructed from the four components.<br>
--<br>
-- * Makefile.in (aliaspath): New variable. Set to preliminary value.<br>
-- (SOURCES): Add localealias.c.<br>
-- (OBJECTS): Add localealias.o.<br>
--<br>
-- * gettextP.h: Add prototype for _nl_expand_alias.<br>
--<br>
-- * finddomain.c: Aliasing handled in intl/localealias.c.<br>
--<br>
-- * localealias.c: Aliasing for locale names.<br>
--<br>
-- * bindtextdom.c: Better prototypes for xmalloc and xstrdup.<br>
--<br>
--Mon Aug 7 23:47:42 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * Makefile.in (DISTFILES): gettext.perl is now found in misc/.<br>
--<br>
-- * cat-compat.c (bindtextdomain):<br>
-- Correct implementation. dirname parameter was not used.<br>
-- Reported by Marcus Daniels.<br>
--<br>
-- * gettextP.h (loaded_domain):<br>
-- New fields `successor' and `decided' for oo, lazy<br>
-- message handling implementation.<br>
--<br>
-- * dcgettext.c:<br>
-- Adopt for oo, lazy message handliing.<br>
-- Now we can inherit translations from less specific locales.<br>
-- (find_msg): New function.<br>
--<br>
-- * loadmsgcat.c, finddomain.c:<br>
-- Complete rewrite. Implement oo, lazy message handling :-).<br>
-- We now have an additional environment variable `LANGUAGE' with<br>
-- a higher priority than LC_ALL for the LC_MESSAGE locale.<br>
-- Here we can set a colon separated list of specifications each<br>
-- of the form `language[_territory[.codeset]][@modifier]'.<br>
--<br>
--Sat Aug 5 09:55:42 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * finddomain.c (unistd.h):<br>
-- Include to get _PC_PATH_MAX defined on system having it.<br>
--<br>
--Fri Aug 4 22:42:00 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * finddomain.c (stpcpy): Include prototype.<br>
--<br>
-- * Makefile.in (dist): Remove `copying instead' message.<br>
--<br>
--Wed Aug 2 18:52:03 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * Makefile.in (ID, TAGS): Do not use $^.<br>
--<br>
--Tue Aug 1 20:07:11 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * Makefile.in (TAGS, ID): Use $^ as command argument.<br>
-- (TAGS): Give etags -o option t write to current directory,<br>
-- not $(srcdir).<br>
-- (ID): Use $(srcdir) instead os $(top_srcdir)/src.<br>
-- (distclean): Remove ID.<br>
--<br>
--Sun Jul 30 11:51:46 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * Makefile.in (gnulocaledir):<br>
-- New variable, always using share/ for data directory.<br>
-- (DEFS): Add GNULOCALEDIR, used in finddomain.c.<br>
--<br>
-- * finddomain.c (_nl_default_dirname):<br>
-- Set to GNULOCALEDIR, because it always has to point<br>
-- to the directory where GNU gettext Library writes it to.<br>
--<br>
-- * intl-compat.c (textdomain, bindtextdomain):<br>
-- Undefine macros before function definition.<br>
--<br>
--Sat Jul 22 01:10:02 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * libgettext.h (_LIBINTL_H):<br>
-- Protect definition in case where this file is included as<br>
-- libgettext.h on Solaris machines. Add comment about this.<br>
--<br>
--Wed Jul 19 02:36:42 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * intl-compat.c (textdomain): Correct typo.<br>
--<br>
--Wed Jul 19 01:51:35 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * dcgettext.c (dcgettext): Function now called __dcgettext.<br>
--<br>
-- * dgettext.c (dgettext): Now called __dgettext and calls<br>
-- __dcgettext.<br>
--<br>
-- * gettext.c (gettext):<br>
-- Function now called __gettext and calls __dgettext.<br>
--<br>
-- * textdomain.c (textdomain): Function now called __textdomain.<br>
--<br>
-- * bindtextdom.c (bindtextdomain): Function now called<br>
-- __bindtextdomain.<br>
--<br>
-- * intl-compat.c: Initial revision.<br>
--<br>
-- * Makefile.in (SOURCES): Add intl-compat.c.<br>
-- (OBJECTS): We always compile the GNU gettext library functions.<br>
-- OBJECTS contains all objects but cat-compat.o, ../po/cat-if-tbl.o,<br>
-- and intl-compat.o.<br>
-- (GETTOBJS): Contains now only intl-compat.o.<br>
--<br>
-- * libgettext.h:<br>
-- Re-include protection matches dualistic character of libgettext.h.<br>
-- For all functions in GNU gettext library define __ counter part.<br>
--<br>
-- * finddomain.c (strchr): Define as index if not found in C library.<br>
-- (_nl_find_domain): For relative paths paste / in between.<br>
--<br>
--Tue Jul 18 16:37:45 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * loadmsgcat.c, finddomain.c: Add inclusion of sys/types.h.<br>
--<br>
-- * xopen-msg.sed: Fix bug with `msgstr ""' lines.<br>
-- A little bit better comments.<br>
--<br>
--Tue Jul 18 01:18:27 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * Makefile.in:<br>
-- po-mode.el, makelinks, combine-sh are now found in ../misc.<br>
--<br>
-- * po-mode.el, makelinks, combine-sh, elisp-comp:<br>
-- Moved to ../misc/.<br>
--<br>
-- * libgettext.h, gettextP.h, gettext.h: Uniform test for __STDC__.<br>
--<br>
--Sun Jul 16 22:33:02 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * Makefile.in (INSTALL, INSTALL_DATA): New variables.<br>
-- (install-data, uninstall): Install/uninstall .elc file.<br>
--<br>
-- * po-mode.el (Installation comment):<br>
-- Add .pox as possible extension of .po files.<br>
--<br>
--Sun Jul 16 13:23:27 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * elisp-comp: Complete new version by Franc,ois: This does not<br>
-- fail when not compiling in the source directory.<br>
--<br>
--Sun Jul 16 00:12:17 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * Makefile.in (../po/cat-id-tbl.o):<br>
-- Use $(MAKE) instead of make for recursive make.<br>
--<br>
-- * Makefile.in (.el.elc): Use $(SHELL) instead of /bin/sh.<br>
-- (install-exec): Add missing dummy goal.<br>
-- (install-data, uninstall): @ in multi-line shell command at<br>
-- beginning, not in front of echo. Reported by Eric Backus.<br>
--<br>
--Sat Jul 15 00:21:28 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * Makefile.in (DISTFILES):<br>
-- Rename libgettext.perl to gettext.perl to fit in 14 chars<br>
-- file systems.<br>
--<br>
-- * gettext.perl:<br>
-- Rename to gettext.perl to fit in 14 chars file systems.<br>
--<br>
--Thu Jul 13 23:17:20 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * cat-compat.c: If !STDC_HEADERS try to include malloc.h.<br>
--<br>
--Thu Jul 13 20:55:02 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * <a href="http://po2tbl.sed.in" rel="noreferrer" target="_blank">po2tbl.sed.in</a>: Pretty printing.<br>
--<br>
-- * linux-msg.sed, xopen-msg.sed:<br>
-- Correct bugs with handling substitute flags in branches.<br>
--<br>
-- * hash-string.h (hash_string):<br>
-- Old K&R compilers don't under stand `unsigned char'.<br>
--<br>
-- * gettext.h (nls_uint32):<br>
-- Some old K&R compilers (eg HP) don't understand `unsigned int'.<br>
--<br>
-- * cat-compat.c (msg_to_cat_id): De-ANSI-fy prototypes.<br>
--<br>
--Thu Jul 13 01:34:33 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * Makefile.in (ELCFILES): New variable.<br>
-- (DISTFILES): Add elisp-comp.<br>
-- Add implicit rule for .el -> .elc compilation.<br>
-- (install-data): install $ELCFILES<br>
-- (clean): renamed po-to-tbl and po-to-msg to po2tbl and po2msg resp.<br>
--<br>
-- * elisp-comp: Initial revision<br>
--<br>
--Wed Jul 12 16:14:52 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * Makefile.in:<br>
-- cat-id-tbl.c is now found in po/. This enables us to use an identical<br>
-- intl/ directory in all packages.<br>
--<br>
-- * dcgettext.c (dcgettext): hashing does not work for table size <= 2.<br>
--<br>
-- * textdomain.c: fix typo (#if def -> #if defined)<br>
--<br>
--Tue Jul 11 18:44:43 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * Makefile.in (stamp-cat-id): use top_srcdir to address source files<br>
-- (DISTFILES,distclean): move tupdate.perl to src/<br>
--<br>
-- * <a href="http://po-to-tbl.sed.in" rel="noreferrer" target="_blank">po-to-tbl.sed.in</a>:<br>
-- add additional jump to clear change flag to recognize multiline strings<br>
--<br>
--Tue Jul 11 01:32:50 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * textdomain.c: Protect inclusion of stdlib.h and string.h.<br>
--<br>
-- * loadmsgcat.c: Protect inclusion of stdlib.h.<br>
--<br>
-- * libgettext.h: Protect inclusion of locale.h.<br>
-- Allow use in C++ programs.<br>
-- Define NULL is not happened already.<br>
--<br>
-- * Makefile.in (DISTFILES): ship <a href="http://po-to-tbl.sed.in" rel="noreferrer" target="_blank">po-to-tbl.sed.in</a> instead of<br>
-- po-to-tbl.sed.<br>
-- (distclean): remove po-to-tbl.sed and tupdate.perl.<br>
--<br>
-- * <a href="http://tupdate.perl.in" rel="noreferrer" target="_blank">tupdate.perl.in</a>: Substitute Perl path even in exec line.<br>
-- Don't include entries without translation from old .po file.<br>
--<br>
--Tue Jul 4 00:41:51 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * <a href="http://tupdate.perl.in" rel="noreferrer" target="_blank">tupdate.perl.in</a>: use "Updated: " in msgid "".<br>
--<br>
-- * cat-compat.c: Fix typo (LOCALDIR -> LOCALEDIR).<br>
-- Define getenv if !__STDC__.<br>
--<br>
-- * bindtextdom.c: Protect stdlib.h and string.h inclusion.<br>
-- Define free if !__STDC__.<br>
--<br>
-- * finddomain.c: Change DEF_MSG_DOM_DIR to LOCALEDIR.<br>
-- Define free if !__STDC__.<br>
--<br>
-- * cat-compat.c: Change DEF_MSG_DOM_DIR to LOCALEDIR.<br>
--<br>
--Mon Jul 3 23:56:30 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * Makefile.in: Use LOCALEDIR instead of DEF_MSG_DOM_DIR.<br>
-- Remove unneeded $(srcdir) from Makefile.in dependency.<br>
--<br>
-- * makelinks: Add copyright and short description.<br>
--<br>
-- * po-mode.el: Last version for 0.7.<br>
--<br>
-- * <a href="http://tupdate.perl.in" rel="noreferrer" target="_blank">tupdate.perl.in</a>: Fix die message.<br>
--<br>
-- * dcgettext.c: Protect include of string.h.<br>
--<br>
-- * gettext.c: Protect include of stdlib.h and further tries to get NULL.<br>
--<br>
-- * finddomain.c: Some corrections in includes.<br>
--<br>
-- * Makefile.in (INCLUDES): Prune list correct path to Makefile.in.<br>
--<br>
-- * po-to-tbl.sed: Adopt for new .po file format.<br>
--<br>
-- * linux-msg.sed, xopen-msg.sed: Adopt for new .po file format.<br>
--<br>
--Sun Jul 2 23:55:03 1995 Ulrich Drepper <drepper@myware><br>
--<br>
-- * <a href="http://tupdate.perl.in" rel="noreferrer" target="_blank">tupdate.perl.in</a>: Complete rewrite for new .po file format.<br>
-+2004-01-29 GNU <<a href="mailto:bug-gnu-gettext@gnu.org" target="_blank">bug-gnu-gettext@gnu.org</a>><br>
- <br>
--Sun Jul 2 02:06:50 1995 Ulrich Drepper <drepper@myware><br>
-+ * Version 0.14.1 released.<br>
- <br>
-- * First official release. This directory contains all the code<br>
-- needed to internationalize own packages. It provides functions<br>
-- which allow to use the X/Open catgets function with an interface<br>
-- like the Uniforum gettext function. For system which does not<br>
-- have neither of those a complete implementation is provided.<br>
---- lrzsz-0.12.20.safe/intl/config.charset 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/intl/config.charset 2004-09-12 14:40:34.354748240 -0400<br>
-@@ -0,0 +1,608 @@<br>
-+#! /bin/sh<br>
-+# Output a system dependent table of character encoding aliases.<br>
-+#<br>
-+# Copyright (C) 2000-2004 Free Software Foundation, Inc.<br>
-+#<br>
-+# This program is free software; you can redistribute it and/or modify it<br>
-+# under the terms of the GNU Library General Public License as published<br>
-+# by the Free Software Foundation; either version 2, or (at your option)<br>
-+# any later version.<br>
-+#<br>
-+# This program is distributed in the hope that it will be useful,<br>
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-+# Library General Public License for more details.<br>
-+#<br>
-+# You should have received a copy of the GNU Library General Public<br>
-+# License along with this program; if not, write to the Free Software<br>
-+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,<br>
-+# USA.<br>
-+#<br>
-+# The table consists of lines of the form<br>
-+# ALIAS CANONICAL<br>
-+#<br>
-+# ALIAS is the (system dependent) result of "nl_langinfo (CODESET)".<br>
-+# ALIAS is compared in a case sensitive way.<br>
-+#<br>
-+# CANONICAL is the GNU canonical name for this character encoding.<br>
-+# It must be an encoding supported by libiconv. Support by GNU libc is<br>
-+# also desirable. CANONICAL is case insensitive. Usually an upper case<br>
-+# MIME charset name is preferred.<br>
-+# The current list of GNU canonical charset names is as follows.<br>
-+#<br>
-+# name MIME? used by which systems<br>
-+# ASCII, ANSI_X3.4-1968 glibc solaris freebsd darwin<br>
-+# ISO-8859-1 Y glibc aix hpux irix osf solaris freebsd darwin<br>
-+# ISO-8859-2 Y glibc aix hpux irix osf solaris freebsd darwin<br>
-+# ISO-8859-3 Y glibc solaris<br>
-+# ISO-8859-4 Y osf solaris freebsd darwin<br>
-+# ISO-8859-5 Y glibc aix hpux irix osf solaris freebsd darwin<br>
-+# ISO-8859-6 Y glibc aix hpux solaris<br>
-+# ISO-8859-7 Y glibc aix hpux irix osf solaris<br>
-+# ISO-8859-8 Y glibc aix hpux osf solaris<br>
-+# ISO-8859-9 Y glibc aix hpux irix osf solaris<br>
-+# ISO-8859-13 glibc<br>
-+# ISO-8859-14 glibc<br>
-+# ISO-8859-15 glibc aix osf solaris freebsd<br>
-+# KOI8-R Y glibc solaris freebsd darwin<br>
-+# KOI8-U Y glibc freebsd darwin<br>
-+# KOI8-T glibc<br>
-+# CP437 dos<br>
-+# CP775 dos<br>
-+# CP850 aix osf dos<br>
-+# CP852 dos<br>
-+# CP855 dos<br>
-+# CP856 aix<br>
-+# CP857 dos<br>
-+# CP861 dos<br>
-+# CP862 dos<br>
-+# CP864 dos<br>
-+# CP865 dos<br>
-+# CP866 freebsd darwin dos<br>
-+# CP869 dos<br>
-+# CP874 woe32 dos<br>
-+# CP922 aix<br>
-+# CP932 aix woe32 dos<br>
-+# CP943 aix<br>
-+# CP949 osf woe32 dos<br>
-+# CP950 woe32 dos<br>
-+# CP1046 aix<br>
-+# CP1124 aix<br>
-+# CP1125 dos<br>
-+# CP1129 aix<br>
-+# CP1250 woe32<br>
-+# CP1251 glibc solaris darwin woe32<br>
-+# CP1252 aix woe32<br>
-+# CP1253 woe32<br>
-+# CP1254 woe32<br>
-+# CP1255 glibc woe32<br>
-+# CP1256 woe32<br>
-+# CP1257 woe32<br>
-+# GB2312 Y glibc aix hpux irix solaris freebsd darwin<br>
-+# EUC-JP Y glibc aix hpux irix osf solaris freebsd darwin<br>
-+# EUC-KR Y glibc aix hpux irix osf solaris freebsd darwin<br>
-+# EUC-TW glibc aix hpux irix osf solaris<br>
-+# BIG5 Y glibc aix hpux osf solaris freebsd darwin<br>
-+# BIG5-HKSCS glibc solaris<br>
-+# GBK glibc aix osf solaris woe32 dos<br>
-+# GB18030 glibc solaris<br>
-+# SHIFT_JIS Y hpux osf solaris freebsd darwin<br>
-+# JOHAB glibc solaris woe32<br>
-+# TIS-620 glibc aix hpux osf solaris<br>
-+# VISCII Y glibc<br>
-+# TCVN5712-1 glibc<br>
-+# GEORGIAN-PS glibc<br>
-+# HP-ROMAN8 hpux<br>
-+# HP-ARABIC8 hpux<br>
-+# HP-GREEK8 hpux<br>
-+# HP-HEBREW8 hpux<br>
-+# HP-TURKISH8 hpux<br>
-+# HP-KANA8 hpux<br>
-+# DEC-KANJI osf<br>
-+# DEC-HANYU osf<br>
-+# UTF-8 Y glibc aix hpux osf solaris<br>
-+#<br>
-+# Note: Names which are not marked as being a MIME name should not be used in<br>
-+# Internet protocols for information interchange (mail, news, etc.).<br>
-+#<br>
-+# Note: ASCII and ANSI_X3.4-1968 are synonymous canonical names. Applications<br>
-+# must understand both names and treat them as equivalent.<br>
-+#<br>
-+# The first argument passed to this file is the canonical host specification,<br>
-+# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM<br>
-+# or<br>
-+# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM<br>
-+<br>
-+host="$1"<br>
-+os=`echo "$host" | sed -e 's/^[^-]*-[^-]*-\(.*\)$/\1/'`<br>
-+echo "# This file contains a table of character encoding aliases,"<br>
-+echo "# suitable for operating system '${os}'."<br>
-+echo "# It was automatically generated from config.charset."<br>
-+# List of references, updated during installation:<br>
-+echo "# Packages using this file: "<br>
-+case "$os" in<br>
-+ linux-gnulibc1*)<br>
-+ # Linux libc5 doesn't have nl_langinfo(CODESET); therefore<br>
-+ # localcharset.c falls back to using the full locale name<br>
-+ # from the environment variables.<br>
-+ echo "C ASCII"<br>
-+ echo "POSIX ASCII"<br>
-+ for l in af af_ZA ca ca_ES da da_DK de de_AT de_BE de_CH de_DE de_LU \<br>
-+ en en_AU en_BW en_CA en_DK en_GB en_IE en_NZ en_US en_ZA \<br>
-+ en_ZW es es_AR es_BO es_CL es_CO es_DO es_EC es_ES es_GT \<br>
-+ es_HN es_MX es_PA es_PE es_PY es_SV es_US es_UY es_VE et \<br>
-+ et_EE eu eu_ES fi fi_FI fo fo_FO fr fr_BE fr_CA fr_CH fr_FR \<br>
-+ fr_LU ga ga_IE gl gl_ES id id_ID in in_ID is is_IS it it_CH \<br>
-+ it_IT kl kl_GL nl nl_BE nl_NL no no_NO pt pt_BR pt_PT sv \<br>
-+ sv_FI sv_SE; do<br>
-+ echo "$l ISO-8859-1"<br>
-+ echo "$l.iso-8859-1 ISO-8859-1"<br>
-+ echo "$l.iso-8859-15 ISO-8859-15"<br>
-+ echo "$l.iso-8859-15@euro ISO-8859-15"<br>
-+ echo "$l@euro ISO-8859-15"<br>
-+ echo "$l.cp-437 CP437"<br>
-+ echo "$l.cp-850 CP850"<br>
-+ echo "$l.cp-1252 CP1252"<br>
-+ echo "$l.cp-1252@euro CP1252"<br>
-+ #echo "$l.atari-st ATARI-ST" # not a commonly used encoding<br>
-+ echo "$l.utf-8 UTF-8"<br>
-+ echo "$l.utf-8@euro UTF-8"<br>
-+ done<br>
-+ for l in cs cs_CZ hr hr_HR hu hu_HU pl pl_PL ro ro_RO sk sk_SK sl \<br>
-+ sl_SI sr sr_CS sr_YU; do<br>
-+ echo "$l ISO-8859-2"<br>
-+ echo "$l.iso-8859-2 ISO-8859-2"<br>
-+ echo "$l.cp-852 CP852"<br>
-+ echo "$l.cp-1250 CP1250"<br>
-+ echo "$l.utf-8 UTF-8"<br>
-+ done<br>
-+ for l in mk mk_MK ru ru_RU; do<br>
-+ echo "$l ISO-8859-5"<br>
-+ echo "$l.iso-8859-5 ISO-8859-5"<br>
-+ echo "$l.koi8-r KOI8-R"<br>
-+ echo "$l.cp-866 CP866"<br>
-+ echo "$l.cp-1251 CP1251"<br>
-+ echo "$l.utf-8 UTF-8"<br>
-+ done<br>
-+ for l in ar ar_SA; do<br>
-+ echo "$l ISO-8859-6"<br>
-+ echo "$l.iso-8859-6 ISO-8859-6"<br>
-+ echo "$l.cp-864 CP864"<br>
-+ #echo "$l.cp-868 CP868" # not a commonly used encoding<br>
-+ echo "$l.cp-1256 CP1256"<br>
-+ echo "$l.utf-8 UTF-8"<br>
-+ done<br>
-+ for l in el el_GR gr gr_GR; do<br>
-+ echo "$l ISO-8859-7"<br>
-+ echo "$l.iso-8859-7 ISO-8859-7"<br>
-+ echo "$l.cp-869 CP869"<br>
-+ echo "$l.cp-1253 CP1253"<br>
-+ echo "$l.cp-1253@euro CP1253"<br>
-+ echo "$l.utf-8 UTF-8"<br>
-+ echo "$l.utf-8@euro UTF-8"<br>
-+ done<br>
-+ for l in he he_IL iw iw_IL; do<br>
-+ echo "$l ISO-8859-8"<br>
-+ echo "$l.iso-8859-8 ISO-8859-8"<br>
-+ echo "$l.cp-862 CP862"<br>
-+ echo "$l.cp-1255 CP1255"<br>
-+ echo "$l.utf-8 UTF-8"<br>
-+ done<br>
-+ for l in tr tr_TR; do<br>
-+ echo "$l ISO-8859-9"<br>
-+ echo "$l.iso-8859-9 ISO-8859-9"<br>
-+ echo "$l.cp-857 CP857"<br>
-+ echo "$l.cp-1254 CP1254"<br>
-+ echo "$l.utf-8 UTF-8"<br>
-+ done<br>
-+ for l in lt lt_LT lv lv_LV; do<br>
-+ #echo "$l BALTIC" # not a commonly used encoding, wrong encoding name<br>
-+ echo "$l ISO-8859-13"<br>
-+ done<br>
-+ for l in ru_UA uk uk_UA; do<br>
-+ echo "$l KOI8-U"<br>
-+ done<br>
-+ for l in zh zh_CN; do<br>
-+ #echo "$l GB_2312-80" # not a commonly used encoding, wrong encoding name<br>
-+ echo "$l GB2312"<br>
-+ done<br>
-+ for l in ja ja_JP ja_JP.EUC; do<br>
-+ echo "$l EUC-JP"<br>
-+ done<br>
-+ for l in ko ko_KR; do<br>
-+ echo "$l EUC-KR"<br>
-+ done<br>
-+ for l in th th_TH; do<br>
-+ echo "$l TIS-620"<br>
-+ done<br>
-+ for l in fa fa_IR; do<br>
-+ #echo "$l ISIRI-3342" # a broken encoding<br>
-+ echo "$l.utf-8 UTF-8"<br>
-+ done<br>
-+ ;;<br>
-+ linux* | *-gnu*)<br>
-+ # With glibc-2.1 or newer, we don't need any canonicalization,<br>
-+ # because glibc has iconv and both glibc and libiconv support all<br>
-+ # GNU canonical names directly. Therefore, the Makefile does not<br>
-+ # need to install the alias file at all.<br>
-+ # The following applies only to glibc-2.0.x and older libcs.<br>
-+ echo "ISO_646.IRV:1983 ASCII"<br>
-+ ;;<br>
-+ aix*)<br>
-+ echo "ISO8859-1 ISO-8859-1"<br>
-+ echo "ISO8859-2 ISO-8859-2"<br>
-+ echo "ISO8859-5 ISO-8859-5"<br>
-+ echo "ISO8859-6 ISO-8859-6"<br>
-+ echo "ISO8859-7 ISO-8859-7"<br>
-+ echo "ISO8859-8 ISO-8859-8"<br>
-+ echo "ISO8859-9 ISO-8859-9"<br>
-+ echo "ISO8859-15 ISO-8859-15"<br>
-+ echo "IBM-850 CP850"<br>
-+ echo "IBM-856 CP856"<br>
-+ echo "IBM-921 ISO-8859-13"<br>
-+ echo "IBM-922 CP922"<br>
-+ echo "IBM-932 CP932"<br>
-+ echo "IBM-943 CP943"<br>
-+ echo "IBM-1046 CP1046"<br>
-+ echo "IBM-1124 CP1124"<br>
-+ echo "IBM-1129 CP1129"<br>
-+ echo "IBM-1252 CP1252"<br>
-+ echo "IBM-eucCN GB2312"<br>
-+ echo "IBM-eucJP EUC-JP"<br>
-+ echo "IBM-eucKR EUC-KR"<br>
-+ echo "IBM-eucTW EUC-TW"<br>
-+ echo "big5 BIG5"<br>
-+ echo "GBK GBK"<br>
-+ echo "TIS-620 TIS-620"<br>
-+ echo "UTF-8 UTF-8"<br>
-+ ;;<br>
-+ hpux*)<br>
-+ echo "iso88591 ISO-8859-1"<br>
-+ echo "iso88592 ISO-8859-2"<br>
-+ echo "iso88595 ISO-8859-5"<br>
-+ echo "iso88596 ISO-8859-6"<br>
-+ echo "iso88597 ISO-8859-7"<br>
-+ echo "iso88598 ISO-8859-8"<br>
-+ echo "iso88599 ISO-8859-9"<br>
-+ echo "iso885915 ISO-8859-15"<br>
-+ echo "roman8 HP-ROMAN8"<br>
-+ echo "arabic8 HP-ARABIC8"<br>
-+ echo "greek8 HP-GREEK8"<br>
-+ echo "hebrew8 HP-HEBREW8"<br>
-+ echo "turkish8 HP-TURKISH8"<br>
-+ echo "kana8 HP-KANA8"<br>
-+ echo "tis620 TIS-620"<br>
-+ echo "big5 BIG5"<br>
-+ echo "eucJP EUC-JP"<br>
-+ echo "eucKR EUC-KR"<br>
-+ echo "eucTW EUC-TW"<br>
-+ echo "hp15CN GB2312"<br>
-+ #echo "ccdc ?" # what is this?<br>
-+ echo "SJIS SHIFT_JIS"<br>
-+ echo "utf8 UTF-8"<br>
-+ ;;<br>
-+ irix*)<br>
-+ echo "ISO8859-1 ISO-8859-1"<br>
-+ echo "ISO8859-2 ISO-8859-2"<br>
-+ echo "ISO8859-5 ISO-8859-5"<br>
-+ echo "ISO8859-7 ISO-8859-7"<br>
-+ echo "ISO8859-9 ISO-8859-9"<br>
-+ echo "eucCN GB2312"<br>
-+ echo "eucJP EUC-JP"<br>
-+ echo "eucKR EUC-KR"<br>
-+ echo "eucTW EUC-TW"<br>
-+ ;;<br>
-+ osf*)<br>
-+ echo "ISO8859-1 ISO-8859-1"<br>
-+ echo "ISO8859-2 ISO-8859-2"<br>
-+ echo "ISO8859-4 ISO-8859-4"<br>
-+ echo "ISO8859-5 ISO-8859-5"<br>
-+ echo "ISO8859-7 ISO-8859-7"<br>
-+ echo "ISO8859-8 ISO-8859-8"<br>
-+ echo "ISO8859-9 ISO-8859-9"<br>
-+ echo "ISO8859-15 ISO-8859-15"<br>
-+ echo "cp850 CP850"<br>
-+ echo "big5 BIG5"<br>
-+ echo "dechanyu DEC-HANYU"<br>
-+ echo "dechanzi GB2312"<br>
-+ echo "deckanji DEC-KANJI"<br>
-+ echo "deckorean EUC-KR"<br>
-+ echo "eucJP EUC-JP"<br>
-+ echo "eucKR EUC-KR"<br>
-+ echo "eucTW EUC-TW"<br>
-+ echo "GBK GBK"<br>
-+ echo "KSC5601 CP949"<br>
-+ echo "sdeckanji EUC-JP"<br>
-+ echo "SJIS SHIFT_JIS"<br>
-+ echo "TACTIS TIS-620"<br>
-+ echo "UTF-8 UTF-8"<br>
-+ ;;<br>
-+ solaris*)<br>
-+ echo "646 ASCII"<br>
-+ echo "ISO8859-1 ISO-8859-1"<br>
-+ echo "ISO8859-2 ISO-8859-2"<br>
-+ echo "ISO8859-3 ISO-8859-3"<br>
-+ echo "ISO8859-4 ISO-8859-4"<br>
-+ echo "ISO8859-5 ISO-8859-5"<br>
-+ echo "ISO8859-6 ISO-8859-6"<br>
-+ echo "ISO8859-7 ISO-8859-7"<br>
-+ echo "ISO8859-8 ISO-8859-8"<br>
-+ echo "ISO8859-9 ISO-8859-9"<br>
-+ echo "ISO8859-15 ISO-8859-15"<br>
-+ echo "koi8-r KOI8-R"<br>
-+ echo "ansi-1251 CP1251"<br>
-+ echo "BIG5 BIG5"<br>
-+ echo "Big5-HKSCS BIG5-HKSCS"<br>
-+ echo "gb2312 GB2312"<br>
-+ echo "GBK GBK"<br>
-+ echo "GB18030 GB18030"<br>
-+ echo "cns11643 EUC-TW"<br>
-+ echo "5601 EUC-KR"<br>
-+ echo "ko_KR.johap92 JOHAB"<br>
-+ echo "eucJP EUC-JP"<br>
-+ echo "PCK SHIFT_JIS"<br>
-+ echo "TIS620.2533 TIS-620"<br>
-+ #echo "sun_eu_greek ?" # what is this?<br>
-+ echo "UTF-8 UTF-8"<br>
-+ ;;<br>
-+ freebsd* | os2*)<br>
-+ # FreeBSD 4.2 doesn't have nl_langinfo(CODESET); therefore<br>
-+ # localcharset.c falls back to using the full locale name<br>
-+ # from the environment variables.<br>
-+ # Likewise for OS/2. OS/2 has XFree86 just like FreeBSD. Just<br>
-+ # reuse FreeBSD's locale data for OS/2.<br>
-+ echo "C ASCII"<br>
-+ echo "US-ASCII ASCII"<br>
-+ for l in la_LN lt_LN; do<br>
-+ echo "$l.ASCII ASCII"<br>
-+ done<br>
-+ for l in da_DK de_AT de_CH de_DE en_AU en_CA en_GB en_US es_ES \<br>
-+ fi_FI fr_BE fr_CA fr_CH fr_FR is_IS it_CH it_IT la_LN \<br>
-+ lt_LN nl_BE nl_NL no_NO pt_PT sv_SE; do<br>
-+ echo "$l.ISO_8859-1 ISO-8859-1"<br>
-+ echo "$l.DIS_8859-15 ISO-8859-15"<br>
-+ done<br>
-+ for l in cs_CZ hr_HR hu_HU la_LN lt_LN pl_PL sl_SI; do<br>
-+ echo "$l.ISO_8859-2 ISO-8859-2"<br>
-+ done<br>
-+ for l in la_LN lt_LT; do<br>
-+ echo "$l.ISO_8859-4 ISO-8859-4"<br>
-+ done<br>
-+ for l in ru_RU ru_SU; do<br>
-+ echo "$l.KOI8-R KOI8-R"<br>
-+ echo "$l.ISO_8859-5 ISO-8859-5"<br>
-+ echo "$l.CP866 CP866"<br>
-+ done<br>
-+ echo "uk_UA.KOI8-U KOI8-U"<br>
-+ echo "zh_TW.BIG5 BIG5"<br>
-+ echo "zh_TW.Big5 BIG5"<br>
-+ echo "zh_CN.EUC GB2312"<br>
-+ echo "ja_JP.EUC EUC-JP"<br>
-+ echo "ja_JP.SJIS SHIFT_JIS"<br>
-+ echo "ja_JP.Shift_JIS SHIFT_JIS"<br>
-+ echo "ko_KR.EUC EUC-KR"<br>
-+ ;;<br>
-+ netbsd*)<br>
-+ echo "646 ASCII"<br>
-+ echo "ISO8859-1 ISO-8859-1"<br>
-+ echo "ISO8859-2 ISO-8859-2"<br>
-+ echo "ISO8859-4 ISO-8859-4"<br>
-+ echo "ISO8859-5 ISO-8859-5"<br>
-+ echo "ISO8859-15 ISO-8859-15"<br>
-+ echo "eucCN GB2312"<br>
-+ echo "eucJP EUC-JP"<br>
-+ echo "eucKR EUC-KR"<br>
-+ echo "eucTW EUC-TW"<br>
-+ echo "BIG5 BIG5"<br>
-+ echo "SJIS SHIFT_JIS"<br>
-+ ;;<br>
-+ darwin*)<br>
-+ # Darwin 6.8 doesn't have nl_langinfo(CODESET); therefore<br>
-+ # localcharset.c falls back to using the full locale name<br>
-+ # from the environment variables.<br>
-+ echo "C ASCII"<br>
-+ for l in en_AU en_CA en_GB en_US la_LN; do<br>
-+ echo "$l.US-ASCII ASCII"<br>
-+ done<br>
-+ for l in da_DK de_AT de_CH de_DE en_AU en_CA en_GB en_US es_ES \<br>
-+ fi_FI fr_BE fr_CA fr_CH fr_FR is_IS it_CH it_IT nl_BE \<br>
-+ nl_NL no_NO pt_PT sv_SE; do<br>
-+ echo "$l ISO-8859-1"<br>
-+ echo "$l.ISO8859-1 ISO-8859-1"<br>
-+ echo "$l.ISO8859-15 ISO-8859-15"<br>
-+ done<br>
-+ for l in la_LN; do<br>
-+ echo "$l.ISO8859-1 ISO-8859-1"<br>
-+ echo "$l.ISO8859-15 ISO-8859-15"<br>
-+ done<br>
-+ for l in cs_CZ hr_HR hu_HU la_LN pl_PL sl_SI; do<br>
-+ echo "$l.ISO8859-2 ISO-8859-2"<br>
-+ done<br>
-+ for l in la_LN lt_LT; do<br>
-+ echo "$l.ISO8859-4 ISO-8859-4"<br>
-+ done<br>
-+ for l in ru_RU; do<br>
-+ echo "$l.KOI8-R KOI8-R"<br>
-+ echo "$l.ISO8859-5 ISO-8859-5"<br>
-+ echo "$l.CP866 CP866"<br>
-+ done<br>
-+ for l in bg_BG; do<br>
-+ echo "$l.CP1251 CP1251"<br>
-+ done<br>
-+ echo "uk_UA.KOI8-U KOI8-U"<br>
-+ echo "zh_TW.BIG5 BIG5"<br>
-+ echo "zh_TW.Big5 BIG5"<br>
-+ echo "zh_CN.EUC GB2312"<br>
-+ echo "ja_JP.EUC EUC-JP"<br>
-+ echo "ja_JP.SJIS SHIFT_JIS"<br>
-+ echo "ko_KR.EUC EUC-KR"<br>
-+ ;;<br>
-+ beos*)<br>
-+ # BeOS has a single locale, and it has UTF-8 encoding.<br>
-+ echo "* UTF-8"<br>
-+ ;;<br>
-+ msdosdjgpp*)<br>
-+ # DJGPP 2.03 doesn't have nl_langinfo(CODESET); therefore<br>
-+ # localcharset.c falls back to using the full locale name<br>
-+ # from the environment variables.<br>
-+ echo "#"<br>
-+ echo "# The encodings given here may not all be correct."<br>
-+ echo "# If you find that the encoding given for your language and"<br>
-+ echo "# country is not the one your DOS machine actually uses, just"<br>
-+ echo "# correct it in this file, and send a mail to"<br>
-+ echo "# Juan Manuel Guerrero <<a href="mailto:st001906@hrz1.hrz.tu-darmstadt.de" target="_blank">st001906@hrz1.hrz.tu-darmstadt.de</a>>"<br>
-+ echo "# and Bruno Haible <<a href="mailto:bruno@clisp.org" target="_blank">bruno@clisp.org</a>>."<br>
-+ echo "#"<br>
-+ echo "C ASCII"<br>
-+ # ISO-8859-1 languages<br>
-+ echo "ca CP850"<br>
-+ echo "ca_ES CP850"<br>
-+ echo "da CP865" # not CP850 ??<br>
-+ echo "da_DK CP865" # not CP850 ??<br>
-+ echo "de CP850"<br>
-+ echo "de_AT CP850"<br>
-+ echo "de_CH CP850"<br>
-+ echo "de_DE CP850"<br>
-+ echo "en CP850"<br>
-+ echo "en_AU CP850" # not CP437 ??<br>
-+ echo "en_CA CP850"<br>
-+ echo "en_GB CP850"<br>
-+ echo "en_NZ CP437"<br>
-+ echo "en_US CP437"<br>
-+ echo "en_ZA CP850" # not CP437 ??<br>
-+ echo "es CP850"<br>
-+ echo "es_AR CP850"<br>
-+ echo "es_BO CP850"<br>
-+ echo "es_CL CP850"<br>
-+ echo "es_CO CP850"<br>
-+ echo "es_CR CP850"<br>
-+ echo "es_CU CP850"<br>
-+ echo "es_DO CP850"<br>
-+ echo "es_EC CP850"<br>
-+ echo "es_ES CP850"<br>
-+ echo "es_GT CP850"<br>
-+ echo "es_HN CP850"<br>
-+ echo "es_MX CP850"<br>
-+ echo "es_NI CP850"<br>
-+ echo "es_PA CP850"<br>
-+ echo "es_PY CP850"<br>
-+ echo "es_PE CP850"<br>
-+ echo "es_SV CP850"<br>
-+ echo "es_UY CP850"<br>
-+ echo "es_VE CP850"<br>
-+ echo "et CP850"<br>
-+ echo "et_EE CP850"<br>
-+ echo "eu CP850"<br>
-+ echo "eu_ES CP850"<br>
-+ echo "fi CP850"<br>
-+ echo "fi_FI CP850"<br>
-+ echo "fr CP850"<br>
-+ echo "fr_BE CP850"<br>
-+ echo "fr_CA CP850"<br>
-+ echo "fr_CH CP850"<br>
-+ echo "fr_FR CP850"<br>
-+ echo "ga CP850"<br>
-+ echo "ga_IE CP850"<br>
-+ echo "gd CP850"<br>
-+ echo "gd_GB CP850"<br>
-+ echo "gl CP850"<br>
-+ echo "gl_ES CP850"<br>
-+ echo "id CP850" # not CP437 ??<br>
-+ echo "id_ID CP850" # not CP437 ??<br>
-+ echo "is CP861" # not CP850 ??<br>
-+ echo "is_IS CP861" # not CP850 ??<br>
-+ echo "it CP850"<br>
-+ echo "it_CH CP850"<br>
-+ echo "it_IT CP850"<br>
-+ echo "lt CP775"<br>
-+ echo "lt_LT CP775"<br>
-+ echo "lv CP775"<br>
-+ echo "lv_LV CP775"<br>
-+ echo "nb CP865" # not CP850 ??<br>
-+ echo "nb_NO CP865" # not CP850 ??<br>
-+ echo "nl CP850"<br>
-+ echo "nl_BE CP850"<br>
-+ echo "nl_NL CP850"<br>
-+ echo "nn CP865" # not CP850 ??<br>
-+ echo "nn_NO CP865" # not CP850 ??<br>
-+ echo "no CP865" # not CP850 ??<br>
-+ echo "no_NO CP865" # not CP850 ??<br>
-+ echo "pt CP850"<br>
-+ echo "pt_BR CP850"<br>
-+ echo "pt_PT CP850"<br>
-+ echo "sv CP850"<br>
-+ echo "sv_SE CP850"<br>
-+ # ISO-8859-2 languages<br>
-+ echo "cs CP852"<br>
-+ echo "cs_CZ CP852"<br>
-+ echo "hr CP852"<br>
-+ echo "hr_HR CP852"<br>
-+ echo "hu CP852"<br>
-+ echo "hu_HU CP852"<br>
-+ echo "pl CP852"<br>
-+ echo "pl_PL CP852"<br>
-+ echo "ro CP852"<br>
-+ echo "ro_RO CP852"<br>
-+ echo "sk CP852"<br>
-+ echo "sk_SK CP852"<br>
-+ echo "sl CP852"<br>
-+ echo "sl_SI CP852"<br>
-+ echo "sq CP852"<br>
-+ echo "sq_AL CP852"<br>
-+ echo "sr CP852" # CP852 or CP866 or CP855 ??<br>
-+ echo "sr_CS CP852" # CP852 or CP866 or CP855 ??<br>
-+ echo "sr_YU CP852" # CP852 or CP866 or CP855 ??<br>
-+ # ISO-8859-3 languages<br>
-+ echo "mt CP850"<br>
-+ echo "mt_MT CP850"<br>
-+ # ISO-8859-5 languages<br>
-+ echo "be CP866"<br>
-+ echo "be_BE CP866"<br>
-+ echo "bg CP866" # not CP855 ??<br>
-+ echo "bg_BG CP866" # not CP855 ??<br>
-+ echo "mk CP866" # not CP855 ??<br>
-+ echo "mk_MK CP866" # not CP855 ??<br>
-+ echo "ru CP866"<br>
-+ echo "ru_RU CP866"<br>
-+ echo "uk CP1125"<br>
-+ echo "uk_UA CP1125"<br>
-+ # ISO-8859-6 languages<br>
-+ echo "ar CP864"<br>
-+ echo "ar_AE CP864"<br>
-+ echo "ar_DZ CP864"<br>
-+ echo "ar_EG CP864"<br>
-+ echo "ar_IQ CP864"<br>
-+ echo "ar_IR CP864"<br>
-+ echo "ar_JO CP864"<br>
-+ echo "ar_KW CP864"<br>
-+ echo "ar_MA CP864"<br>
-+ echo "ar_OM CP864"<br>
-+ echo "ar_QA CP864"<br>
-+ echo "ar_SA CP864"<br>
-+ echo "ar_SY CP864"<br>
-+ # ISO-8859-7 languages<br>
-+ echo "el CP869"<br>
-+ echo "el_GR CP869"<br>
-+ # ISO-8859-8 languages<br>
-+ echo "he CP862"<br>
-+ echo "he_IL CP862"<br>
-+ # ISO-8859-9 languages<br>
-+ echo "tr CP857"<br>
-+ echo "tr_TR CP857"<br>
-+ # Japanese<br>
-+ echo "ja CP932"<br>
-+ echo "ja_JP CP932"<br>
-+ # Chinese<br>
-+ echo "zh_CN GBK"<br>
-+ echo "zh_TW CP950" # not CP938 ??<br>
-+ # Korean<br>
-+ echo "kr CP949" # not CP934 ??<br>
-+ echo "kr_KR CP949" # not CP934 ??<br>
-+ # Thai<br>
-+ echo "th CP874"<br>
-+ echo "th_TH CP874"<br>
-+ # Other<br>
-+ echo "eo CP850"<br>
-+ echo "eo_EO CP850"<br>
-+ ;;<br>
-+esac<br>
---- lrzsz-0.12.20.safe/intl/dcgettext.c 1998-04-26 09:22:36.000000000 -0400<br>
-+++ lrzsz-0.12.20/intl/dcgettext.c 2004-09-12 14:40:34.359747480 -0400<br>
-@@ -1,593 +1,56 @@<br>
--/* Implementation of the dcgettext(3) function<br>
-- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.<br>
-+/* Implementation of the dcgettext(3) function.<br>
-+ Copyright (C) 1995-1999, 2000-2003 Free Software Foundation, Inc.<br>
- <br>
-- This program is free software; you can redistribute it and/or modify<br>
-- it under the terms of the GNU General Public License as published by<br>
-- the Free Software Foundation; either version 2, or (at your option)<br>
-+ This program is free software; you can redistribute it and/or modify it<br>
-+ under the terms of the GNU Library General Public License as published<br>
-+ by the Free Software Foundation; either version 2, or (at your option)<br>
- any later version.<br>
- <br>
- This program is distributed in the hope that it will be useful,<br>
- but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the<br>
-- GNU General Public License for more details.<br>
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-+ Library General Public License for more details.<br>
- <br>
-- You should have received a copy of the GNU General Public License<br>
-- along with this program; if not, write to the Free Software Foundation,<br>
-- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */<br>
-+ You should have received a copy of the GNU Library General Public<br>
-+ License along with this program; if not, write to the Free Software<br>
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,<br>
-+ USA. */<br>
- <br>
- #ifdef HAVE_CONFIG_H<br>
- # include <config.h><br>
- #endif<br>
- <br>
--#include <sys/types.h><br>
--<br>
--#ifdef __GNUC__<br>
--# define alloca __builtin_alloca<br>
--# define HAVE_ALLOCA 1<br>
--#else<br>
--# if defined HAVE_ALLOCA_H || defined _LIBC<br>
--# include <alloca.h><br>
--# else<br>
--# ifdef _AIX<br>
-- #pragma alloca<br>
--# else<br>
--# ifndef alloca<br>
--char *alloca ();<br>
--# endif<br>
--# endif<br>
--# endif<br>
--#endif<br>
--<br>
--#include <errno.h><br>
--#ifndef errno<br>
--extern int errno;<br>
--#endif<br>
--#ifndef __set_errno<br>
--# define __set_errno(val) errno = (val)<br>
--#endif<br>
--<br>
--#if defined STDC_HEADERS || defined _LIBC<br>
--# include <stdlib.h><br>
--#else<br>
--char *getenv ();<br>
--# ifdef HAVE_MALLOC_H<br>
--# include <malloc.h><br>
--# else<br>
--void free ();<br>
--# endif<br>
--#endif<br>
--<br>
--#if defined HAVE_STRING_H || defined _LIBC<br>
--# ifndef _GNU_SOURCE<br>
--# define _GNU_SOURCE 1<br>
--# endif<br>
--# include <string.h><br>
--#else<br>
--# include <strings.h><br>
--#endif<br>
--#if !HAVE_STRCHR && !defined _LIBC<br>
--# ifndef strchr<br>
--# define strchr index<br>
--# endif<br>
--#endif<br>
--<br>
--#if defined HAVE_UNISTD_H || defined _LIBC<br>
--# include <unistd.h><br>
--#endif<br>
--<br>
--#include "gettext.h"<br>
- #include "gettextP.h"<br>
- #ifdef _LIBC<br>
- # include <libintl.h><br>
- #else<br>
--# include "libgettext.h"<br>
-+# include "libgnuintl.h"<br>
- #endif<br>
--#include "hash-string.h"<br>
- <br>
- /* @@ end of prolog @@ */<br>
- <br>
--#ifdef _LIBC<br>
--/* Rename the non ANSI C functions. This is required by the standard<br>
-- because some ANSI C functions will require linking with this object<br>
-- file and the name space must not be polluted. */<br>
--# define getcwd __getcwd<br>
--# define stpcpy __stpcpy<br>
--#else<br>
--# if !defined HAVE_GETCWD<br>
--char *getwd ();<br>
--# define getcwd(buf, max) getwd (buf)<br>
--# else<br>
--char *getcwd ();<br>
--# endif<br>
--# ifndef HAVE_STPCPY<br>
--static char *stpcpy PARAMS ((char *dest, const char *src));<br>
--# endif<br>
--#endif<br>
--<br>
--/* Amount to increase buffer size by in each try. */<br>
--#define PATH_INCR 32<br>
--<br>
--/* The following is from pathmax.h. */<br>
--/* Non-POSIX BSD systems might have gcc's limits.h, which doesn't define<br>
-- PATH_MAX but might cause redefinition warnings when sys/param.h is<br>
-- later included (as on MORE/BSD 4.3). */<br>
--#if defined(_POSIX_VERSION) || (defined(HAVE_LIMITS_H) && !defined(__GNUC__))<br>
--# include <limits.h><br>
--#endif<br>
--<br>
--#ifndef _POSIX_PATH_MAX<br>
--# define _POSIX_PATH_MAX 255<br>
--#endif<br>
--<br>
--#if !defined(PATH_MAX) && defined(_PC_PATH_MAX)<br>
--# define PATH_MAX (pathconf ("/", _PC_PATH_MAX) < 1 ? 1024 : pathconf ("/", _PC_PATH_MAX))<br>
--#endif<br>
--<br>
--/* Don't include sys/param.h if it already has been. */<br>
--#if defined(HAVE_SYS_PARAM_H) && !defined(PATH_MAX) && !defined(MAXPATHLEN)<br>
--# include <sys/param.h><br>
--#endif<br>
--<br>
--#if !defined(PATH_MAX) && defined(MAXPATHLEN)<br>
--# define PATH_MAX MAXPATHLEN<br>
--#endif<br>
--<br>
--#ifndef PATH_MAX<br>
--# define PATH_MAX _POSIX_PATH_MAX<br>
--#endif<br>
--<br>
--/* XPG3 defines the result of `setlocale (category, NULL)' as:<br>
-- ``Directs `setlocale()' to query `category' and return the current<br>
-- setting of `local'.''<br>
-- However it does not specify the exact format. And even worse: POSIX<br>
-- defines this not at all. So we can use this feature only on selected<br>
-- system (e.g. those using GNU C Library). */<br>
--#ifdef _LIBC<br>
--# define HAVE_LOCALE_NULL<br>
--#endif<br>
--<br>
--/* Name of the default domain used for gettext(3) prior any call to<br>
-- textdomain(3). The default value for this is "messages". */<br>
--const char _nl_default_default_domain[] = "messages";<br>
--<br>
--/* Value used as the default domain for gettext(3). */<br>
--const char *_nl_current_default_domain = _nl_default_default_domain;<br>
--<br>
--/* Contains the default location of the message catalogs. */<br>
--const char _nl_default_dirname[] = GNULOCALEDIR;<br>
--<br>
--/* List with bindings of specific domains created by bindtextdomain()<br>
-- calls. */<br>
--struct binding *_nl_domain_bindings;<br>
--<br>
--/* Prototypes for local functions. */<br>
--static char *find_msg PARAMS ((struct loaded_l10nfile *domain_file,<br>
-- const char *msgid));<br>
--static const char *category_to_name PARAMS ((int category));<br>
--static const char *guess_category_value PARAMS ((int category,<br>
-- const char *categoryname));<br>
--<br>
--<br>
--/* For those loosing systems which don't have `alloca' we have to add<br>
-- some additional code emulating it. */<br>
--#ifdef HAVE_ALLOCA<br>
--/* Nothing has to be done. */<br>
--# define ADD_BLOCK(list, address) /* nothing */<br>
--# define FREE_BLOCKS(list) /* nothing */<br>
--#else<br>
--struct block_list<br>
--{<br>
-- void *address;<br>
-- struct block_list *next;<br>
--};<br>
--# define ADD_BLOCK(list, addr) \<br>
-- do { \<br>
-- struct block_list *newp = (struct block_list *) malloc (sizeof (*newp)); \<br>
-- /* If we cannot get a free block we cannot add the new element to \<br>
-- the list. */ \<br>
-- if (newp != NULL) { \<br>
-- newp->address = (addr); \<br>
-- newp->next = (list); \<br>
-- (list) = newp; \<br>
-- } \<br>
-- } while (0)<br>
--# define FREE_BLOCKS(list) \<br>
-- do { \<br>
-- while (list != NULL) { \<br>
-- struct block_list *old = list; \<br>
-- list = list->next; \<br>
-- free (old); \<br>
-- } \<br>
-- } while (0)<br>
--# undef alloca<br>
--# define alloca(size) (malloc (size))<br>
--#endif /* have alloca */<br>
--<br>
--<br>
- /* Names for the libintl functions are a problem. They must not clash<br>
- with existing names and they should follow ANSI C. But this source<br>
- code is also used in GNU C Library where the names have a __<br>
- prefix. So we have to make a difference here. */<br>
- #ifdef _LIBC<br>
- # define DCGETTEXT __dcgettext<br>
-+# define DCIGETTEXT __dcigettext<br>
- #else<br>
--# define DCGETTEXT dcgettext__<br>
-+# define DCGETTEXT libintl_dcgettext<br>
-+# define DCIGETTEXT libintl_dcigettext<br>
- #endif<br>
- <br>
- /* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY<br>
- locale. */<br>
- char *<br>
--DCGETTEXT (domainname, msgid, category)<br>
-- const char *domainname;<br>
-- const char *msgid;<br>
-- int category;<br>
-+DCGETTEXT (const char *domainname, const char *msgid, int category)<br>
- {<br>
--#ifndef HAVE_ALLOCA<br>
-- struct block_list *block_list = NULL;<br>
--#endif<br>
-- struct loaded_l10nfile *domain;<br>
-- struct binding *binding;<br>
-- const char *categoryname;<br>
-- const char *categoryvalue;<br>
-- char *dirname, *xdomainname;<br>
-- char *single_locale;<br>
-- char *retval;<br>
-- int saved_errno = errno;<br>
--<br>
-- /* If no real MSGID is given return NULL. */<br>
-- if (msgid == NULL)<br>
-- return NULL;<br>
--<br>
-- /* If DOMAINNAME is NULL, we are interested in the default domain. If<br>
-- CATEGORY is not LC_MESSAGES this might not make much sense but the<br>
-- defintion left this undefined. */<br>
-- if (domainname == NULL)<br>
-- domainname = _nl_current_default_domain;<br>
--<br>
-- /* First find matching binding. */<br>
-- for (binding = _nl_domain_bindings; binding != NULL; binding = binding->next)<br>
-- {<br>
-- int compare = strcmp (domainname, binding->domainname);<br>
-- if (compare == 0)<br>
-- /* We found it! */<br>
-- break;<br>
-- if (compare < 0)<br>
-- {<br>
-- /* It is not in the list. */<br>
-- binding = NULL;<br>
-- break;<br>
-- }<br>
-- }<br>
--<br>
-- if (binding == NULL)<br>
-- dirname = (char *) _nl_default_dirname;<br>
-- else if (binding->dirname[0] == '/')<br>
-- dirname = binding->dirname;<br>
-- else<br>
-- {<br>
-- /* We have a relative path. Make it absolute now. */<br>
-- size_t dirname_len = strlen (binding->dirname) + 1;<br>
-- size_t path_max;<br>
-- char *ret;<br>
--<br>
-- path_max = (unsigned) PATH_MAX;<br>
-- path_max += 2; /* The getcwd docs say to do this. */<br>
--<br>
-- dirname = (char *) alloca (path_max + dirname_len);<br>
-- ADD_BLOCK (block_list, dirname);<br>
--<br>
-- __set_errno (0);<br>
-- while ((ret = getcwd (dirname, path_max)) == NULL && errno == ERANGE)<br>
-- {<br>
-- path_max += PATH_INCR;<br>
-- dirname = (char *) alloca (path_max + dirname_len);<br>
-- ADD_BLOCK (block_list, dirname);<br>
-- __set_errno (0);<br>
-- }<br>
--<br>
-- if (ret == NULL)<br>
-- {<br>
-- /* We cannot get the current working directory. Don't signal an<br>
-- error but simply return the default string. */<br>
-- FREE_BLOCKS (block_list);<br>
-- __set_errno (saved_errno);<br>
-- return (char *) msgid;<br>
-- }<br>
--<br>
-- stpcpy (stpcpy (strchr (dirname, '\0'), "/"), binding->dirname);<br>
-- }<br>
--<br>
-- /* Now determine the symbolic name of CATEGORY and its value. */<br>
-- categoryname = category_to_name (category);<br>
-- categoryvalue = guess_category_value (category, categoryname);<br>
--<br>
-- xdomainname = (char *) alloca (strlen (categoryname)<br>
-- + strlen (domainname) + 5);<br>
-- ADD_BLOCK (block_list, xdomainname);<br>
--<br>
-- stpcpy (stpcpy (stpcpy (stpcpy (xdomainname, categoryname), "/"),<br>
-- domainname),<br>
-- ".mo");<br>
--<br>
-- /* Creating working area. */<br>
-- single_locale = (char *) alloca (strlen (categoryvalue) + 1);<br>
-- ADD_BLOCK (block_list, single_locale);<br>
--<br>
--<br>
-- /* Search for the given string. This is a loop because we perhaps<br>
-- got an ordered list of languages to consider for th translation. */<br>
-- while (1)<br>
-- {<br>
-- /* Make CATEGORYVALUE point to the next element of the list. */<br>
-- while (categoryvalue[0] != '\0' && categoryvalue[0] == ':')<br>
-- ++categoryvalue;<br>
-- if (categoryvalue[0] == '\0')<br>
-- {<br>
-- /* The whole contents of CATEGORYVALUE has been searched but<br>
-- no valid entry has been found. We solve this situation<br>
-- by implicitly appending a "C" entry, i.e. no translation<br>
-- will take place. */<br>
-- single_locale[0] = 'C';<br>
-- single_locale[1] = '\0';<br>
-- }<br>
-- else<br>
-- {<br>
-- char *cp = single_locale;<br>
-- while (categoryvalue[0] != '\0' && categoryvalue[0] != ':')<br>
-- *cp++ = *categoryvalue++;<br>
-- *cp = '\0';<br>
-- }<br>
--<br>
-- /* If the current locale value is C (or POSIX) we don't load a<br>
-- domain. Return the MSGID. */<br>
-- if (strcmp (single_locale, "C") == 0<br>
-- || strcmp (single_locale, "POSIX") == 0)<br>
-- {<br>
-- FREE_BLOCKS (block_list);<br>
-- __set_errno (saved_errno);<br>
-- return (char *) msgid;<br>
-- }<br>
--<br>
--<br>
-- /* Find structure describing the message catalog matching the<br>
-- DOMAINNAME and CATEGORY. */<br>
-- domain = _nl_find_domain (dirname, single_locale, xdomainname);<br>
--<br>
-- if (domain != NULL)<br>
-- {<br>
-- retval = find_msg (domain, msgid);<br>
--<br>
-- if (retval == NULL)<br>
-- {<br>
-- int cnt;<br>
--<br>
-- for (cnt = 0; domain->successor[cnt] != NULL; ++cnt)<br>
-- {<br>
-- retval = find_msg (domain->successor[cnt], msgid);<br>
--<br>
-- if (retval != NULL)<br>
-- break;<br>
-- }<br>
-- }<br>
--<br>
-- if (retval != NULL)<br>
-- {<br>
-- FREE_BLOCKS (block_list);<br>
-- __set_errno (saved_errno);<br>
-- return retval;<br>
-- }<br>
-- }<br>
-- }<br>
-- /* NOTREACHED */<br>
-+ return DCIGETTEXT (domainname, msgid, NULL, 0, 0, category);<br>
- }<br>
- <br>
- #ifdef _LIBC<br>
- /* Alias for function name in GNU C Library. */<br>
-+INTDEF(__dcgettext)<br>
- weak_alias (__dcgettext, dcgettext);<br>
- #endif<br>
--<br>
--<br>
--static char *<br>
--find_msg (domain_file, msgid)<br>
-- struct loaded_l10nfile *domain_file;<br>
-- const char *msgid;<br>
--{<br>
-- size_t top, act, bottom;<br>
-- struct loaded_domain *domain;<br>
--<br>
-- if (domain_file->decided == 0)<br>
-- _nl_load_domain (domain_file);<br>
--<br>
-- if (domain_file->data == NULL)<br>
-- return NULL;<br>
--<br>
-- domain = (struct loaded_domain *) domain_file->data;<br>
--<br>
-- /* Locate the MSGID and its translation. */<br>
-- if (domain->hash_size > 2 && domain->hash_tab != NULL)<br>
-- {<br>
-- /* Use the hashing table. */<br>
-- nls_uint32 len = strlen (msgid);<br>
-- nls_uint32 hash_val = hash_string (msgid);<br>
-- nls_uint32 idx = hash_val % domain->hash_size;<br>
-- nls_uint32 incr = 1 + (hash_val % (domain->hash_size - 2));<br>
-- nls_uint32 nstr = W (domain->must_swap, domain->hash_tab[idx]);<br>
--<br>
-- if (nstr == 0)<br>
-- /* Hash table entry is empty. */<br>
-- return NULL;<br>
--<br>
-- if (W (domain->must_swap, domain->orig_tab[nstr - 1].length) == len<br>
-- && strcmp (msgid,<br>
-- domain->data + W (domain->must_swap,<br>
-- domain->orig_tab[nstr - 1].offset)) == 0)<br>
-- return (char *) domain->data + W (domain->must_swap,<br>
-- domain->trans_tab[nstr - 1].offset);<br>
--<br>
-- while (1)<br>
-- {<br>
-- if (idx >= domain->hash_size - incr)<br>
-- idx -= domain->hash_size - incr;<br>
-- else<br>
-- idx += incr;<br>
--<br>
-- nstr = W (domain->must_swap, domain->hash_tab[idx]);<br>
-- if (nstr == 0)<br>
-- /* Hash table entry is empty. */<br>
-- return NULL;<br>
--<br>
-- if (W (domain->must_swap, domain->orig_tab[nstr - 1].length) == len<br>
-- && strcmp (msgid,<br>
-- domain->data + W (domain->must_swap,<br>
-- domain->orig_tab[nstr - 1].offset))<br>
-- == 0)<br>
-- return (char *) domain->data<br>
-- + W (domain->must_swap, domain->trans_tab[nstr - 1].offset);<br>
-- }<br>
-- /* NOTREACHED */<br>
-- }<br>
--<br>
-- /* Now we try the default method: binary search in the sorted<br>
-- array of messages. */<br>
-- bottom = 0;<br>
-- top = domain->nstrings;<br>
-- while (bottom < top)<br>
-- {<br>
-- int cmp_val;<br>
--<br>
-- act = (bottom + top) / 2;<br>
-- cmp_val = strcmp (msgid, domain->data<br>
-- + W (domain->must_swap,<br>
-- domain->orig_tab[act].offset));<br>
-- if (cmp_val < 0)<br>
-- top = act;<br>
-- else if (cmp_val > 0)<br>
-- bottom = act + 1;<br>
-- else<br>
-- break;<br>
-- }<br>
--<br>
-- /* If an translation is found return this. */<br>
-- return bottom >= top ? NULL : (char *) domain->data<br>
-- + W (domain->must_swap,<br>
-- domain->trans_tab[act].offset);<br>
--}<br>
--<br>
--<br>
--/* Return string representation of locale CATEGORY. */<br>
--static const char *<br>
--category_to_name (category)<br>
-- int category;<br>
--{<br>
-- const char *retval;<br>
--<br>
-- switch (category)<br>
-- {<br>
--#ifdef LC_COLLATE<br>
-- case LC_COLLATE:<br>
-- retval = "LC_COLLATE";<br>
-- break;<br>
--#endif<br>
--#ifdef LC_CTYPE<br>
-- case LC_CTYPE:<br>
-- retval = "LC_CTYPE";<br>
-- break;<br>
--#endif<br>
--#ifdef LC_MONETARY<br>
-- case LC_MONETARY:<br>
-- retval = "LC_MONETARY";<br>
-- break;<br>
--#endif<br>
--#ifdef LC_NUMERIC<br>
-- case LC_NUMERIC:<br>
-- retval = "LC_NUMERIC";<br>
-- break;<br>
--#endif<br>
--#ifdef LC_TIME<br>
-- case LC_TIME:<br>
-- retval = "LC_TIME";<br>
-- break;<br>
--#endif<br>
--#ifdef LC_MESSAGES<br>
-- case LC_MESSAGES:<br>
-- retval = "LC_MESSAGES";<br>
-- break;<br>
--#endif<br>
--#ifdef LC_RESPONSE<br>
-- case LC_RESPONSE:<br>
-- retval = "LC_RESPONSE";<br>
-- break;<br>
--#endif<br>
--#ifdef LC_ALL<br>
-- case LC_ALL:<br>
-- /* This might not make sense but is perhaps better than any other<br>
-- value. */<br>
-- retval = "LC_ALL";<br>
-- break;<br>
--#endif<br>
-- default:<br>
-- /* If you have a better idea for a default value let me know. */<br>
-- retval = "LC_XXX";<br>
-- }<br>
--<br>
-- return retval;<br>
--}<br>
--<br>
--/* Guess value of current locale from value of the environment variables. */<br>
--static const char *<br>
--guess_category_value (category, categoryname)<br>
-- int category;<br>
-- const char *categoryname;<br>
--{<br>
-- const char *retval;<br>
--<br>
-- /* The highest priority value is the `LANGUAGE' environment<br>
-- variable. This is a GNU extension. */<br>
-- retval = getenv ("LANGUAGE");<br>
-- if (retval != NULL && retval[0] != '\0')<br>
-- return retval;<br>
--<br>
-- /* `LANGUAGE' is not set. So we have to proceed with the POSIX<br>
-- methods of looking to `LC_ALL', `LC_xxx', and `LANG'. On some<br>
-- systems this can be done by the `setlocale' function itself. */<br>
--#if defined HAVE_SETLOCALE && defined HAVE_LC_MESSAGES && defined HAVE_LOCALE_NULL<br>
-- return setlocale (category, NULL);<br>
--#else<br>
-- /* Setting of LC_ALL overwrites all other. */<br>
-- retval = getenv ("LC_ALL");<br>
-- if (retval != NULL && retval[0] != '\0')<br>
-- return retval;<br>
--<br>
-- /* Next comes the name of the desired category. */<br>
-- retval = getenv (categoryname);<br>
-- if (retval != NULL && retval[0] != '\0')<br>
-- return retval;<br>
--<br>
-- /* Last possibility is the LANG environment variable. */<br>
-- retval = getenv ("LANG");<br>
-- if (retval != NULL && retval[0] != '\0')<br>
-- return retval;<br>
--<br>
-- /* We use C as the default domain. POSIX says this is implementation<br>
-- defined. */<br>
-- return "C";<br>
--#endif<br>
--}<br>
--<br>
--/* @@ begin of epilog @@ */<br>
--<br>
--/* We don't want libintl.a to depend on any other library. So we<br>
-- avoid the non-standard function stpcpy. In GNU C Library this<br>
-- function is available, though. Also allow the symbol HAVE_STPCPY<br>
-- to be defined. */<br>
--#if !_LIBC && !HAVE_STPCPY<br>
--static char *<br>
--stpcpy (dest, src)<br>
-- char *dest;<br>
-- const char *src;<br>
--{<br>
-- while ((*dest++ = *src++) != '\0')<br>
-- /* Do nothing. */ ;<br>
-- return dest - 1;<br>
--}<br>
--#endif<br>
---- lrzsz-0.12.20.safe/intl/dcigettext.c 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/intl/dcigettext.c 2004-09-12 14:40:34.369745960 -0400<br>
-@@ -0,0 +1,1219 @@<br>
-+/* Implementation of the internal dcigettext function.<br>
-+ Copyright (C) 1995-1999, 2000-2003 Free Software Foundation, Inc.<br>
-+<br>
-+ This program is free software; you can redistribute it and/or modify it<br>
-+ under the terms of the GNU Library General Public License as published<br>
-+ by the Free Software Foundation; either version 2, or (at your option)<br>
-+ any later version.<br>
-+<br>
-+ This program is distributed in the hope that it will be useful,<br>
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-+ Library General Public License for more details.<br>
-+<br>
-+ You should have received a copy of the GNU Library General Public<br>
-+ License along with this program; if not, write to the Free Software<br>
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,<br>
-+ USA. */<br>
-+<br>
-+/* Tell glibc's <string.h> to provide a prototype for mempcpy().<br>
-+ This must come before <config.h> because <config.h> may include<br>
-+ <features.h>, and once <features.h> has been included, it's too late. */<br>
-+#ifndef _GNU_SOURCE<br>
-+# define _GNU_SOURCE 1<br>
-+#endif<br>
-+<br>
-+#ifdef HAVE_CONFIG_H<br>
-+# include <config.h><br>
-+#endif<br>
-+<br>
-+#include <sys/types.h><br>
-+<br>
-+#ifdef __GNUC__<br>
-+# define alloca __builtin_alloca<br>
-+# define HAVE_ALLOCA 1<br>
-+#else<br>
-+# ifdef _MSC_VER<br>
-+# include <malloc.h><br>
-+# define alloca _alloca<br>
-+# else<br>
-+# if defined HAVE_ALLOCA_H || defined _LIBC<br>
-+# include <alloca.h><br>
-+# else<br>
-+# ifdef _AIX<br>
-+ #pragma alloca<br>
-+# else<br>
-+# ifndef alloca<br>
-+char *alloca ();<br>
-+# endif<br>
-+# endif<br>
-+# endif<br>
-+# endif<br>
-+#endif<br>
-+<br>
-+#include <errno.h><br>
-+#ifndef errno<br>
-+extern int errno;<br>
-+#endif<br>
-+#ifndef __set_errno<br>
-+# define __set_errno(val) errno = (val)<br>
-+#endif<br>
-+<br>
-+#include <stddef.h><br>
-+#include <stdlib.h><br>
-+#include <string.h><br>
-+<br>
-+#if defined HAVE_UNISTD_H || defined _LIBC<br>
-+# include <unistd.h><br>
-+#endif<br>
-+<br>
-+#include <locale.h><br>
-+<br>
-+#ifdef _LIBC<br>
-+ /* Guess whether integer division by zero raises signal SIGFPE.<br>
-+ Set to 1 only if you know for sure. In case of doubt, set to 0. */<br>
-+# if defined __alpha__ || defined __arm__ || defined __i386__ \<br>
-+ || defined __m68k__ || defined __s390__<br>
-+# define INTDIV0_RAISES_SIGFPE 1<br>
-+# else<br>
-+# define INTDIV0_RAISES_SIGFPE 0<br>
-+# endif<br>
-+#endif<br>
-+#if !INTDIV0_RAISES_SIGFPE<br>
-+# include <signal.h><br>
-+#endif<br>
-+<br>
-+#if defined HAVE_SYS_PARAM_H || defined _LIBC<br>
-+# include <sys/param.h><br>
-+#endif<br>
-+<br>
-+#include "gettextP.h"<br>
-+#include "plural-exp.h"<br>
-+#ifdef _LIBC<br>
-+# include <libintl.h><br>
-+#else<br>
-+# include "libgnuintl.h"<br>
-+#endif<br>
-+#include "hash-string.h"<br>
-+<br>
-+/* Thread safetyness. */<br>
-+#ifdef _LIBC<br>
-+# include <bits/libc-lock.h><br>
-+#else<br>
-+/* Provide dummy implementation if this is outside glibc. */<br>
-+# define __libc_lock_define_initialized(CLASS, NAME)<br>
-+# define __libc_lock_lock(NAME)<br>
-+# define __libc_lock_unlock(NAME)<br>
-+# define __libc_rwlock_define_initialized(CLASS, NAME)<br>
-+# define __libc_rwlock_rdlock(NAME)<br>
-+# define __libc_rwlock_unlock(NAME)<br>
-+#endif<br>
-+<br>
-+/* Alignment of types. */<br>
-+#if defined __GNUC__ && __GNUC__ >= 2<br>
-+# define alignof(TYPE) __alignof__ (TYPE)<br>
-+#else<br>
-+# define alignof(TYPE) \<br>
-+ ((int) &((struct { char dummy1; TYPE dummy2; } *) 0)->dummy2)<br>
-+#endif<br>
-+<br>
-+/* The internal variables in the standalone libintl.a must have different<br>
-+ names than the internal variables in GNU libc, otherwise programs<br>
-+ using libintl.a cannot be linked statically. */<br>
-+#if !defined _LIBC<br>
-+# define _nl_default_default_domain libintl_nl_default_default_domain<br>
-+# define _nl_current_default_domain libintl_nl_current_default_domain<br>
-+# define _nl_default_dirname libintl_nl_default_dirname<br>
-+# define _nl_domain_bindings libintl_nl_domain_bindings<br>
-+#endif<br>
-+<br>
-+/* Some compilers, like SunOS4 cc, don't have offsetof in <stddef.h>. */<br>
-+#ifndef offsetof<br>
-+# define offsetof(type,ident) ((size_t)&(((type*)0)->ident))<br>
-+#endif<br>
-+<br>
-+/* @@ end of prolog @@ */<br>
-+<br>
-+#ifdef _LIBC<br>
-+/* Rename the non ANSI C functions. This is required by the standard<br>
-+ because some ANSI C functions will require linking with this object<br>
-+ file and the name space must not be polluted. */<br>
-+# define getcwd __getcwd<br>
-+# ifndef stpcpy<br>
-+# define stpcpy __stpcpy<br>
-+# endif<br>
-+# define tfind __tfind<br>
-+#else<br>
-+# if !defined HAVE_GETCWD<br>
-+char *getwd ();<br>
-+# define getcwd(buf, max) getwd (buf)<br>
-+# else<br>
-+# if VMS<br>
-+# define getcwd(buf, max) (getcwd) (buf, max, 0)<br>
-+# else<br>
-+char *getcwd ();<br>
-+# endif<br>
-+# endif<br>
-+# ifndef HAVE_STPCPY<br>
-+static char *stpcpy (char *dest, const char *src);<br>
-+# endif<br>
-+# ifndef HAVE_MEMPCPY<br>
-+static void *mempcpy (void *dest, const void *src, size_t n);<br>
-+# endif<br>
-+#endif<br>
-+<br>
-+/* Amount to increase buffer size by in each try. */<br>
-+#define PATH_INCR 32<br>
-+<br>
-+/* The following is from pathmax.h. */<br>
-+/* Non-POSIX BSD systems might have gcc's limits.h, which doesn't define<br>
-+ PATH_MAX but might cause redefinition warnings when sys/param.h is<br>
-+ later included (as on MORE/BSD 4.3). */<br>
-+#if defined _POSIX_VERSION || (defined HAVE_LIMITS_H && !defined __GNUC__)<br>
-+# include <limits.h><br>
-+#endif<br>
-+<br>
-+#ifndef _POSIX_PATH_MAX<br>
-+# define _POSIX_PATH_MAX 255<br>
-+#endif<br>
-+<br>
-+#if !defined PATH_MAX && defined _PC_PATH_MAX<br>
-+# define PATH_MAX (pathconf ("/", _PC_PATH_MAX) < 1 ? 1024 : pathconf ("/", _PC_PATH_MAX))<br>
-+#endif<br>
-+<br>
-+/* Don't include sys/param.h if it already has been. */<br>
-+#if defined HAVE_SYS_PARAM_H && !defined PATH_MAX && !defined MAXPATHLEN<br>
-+# include <sys/param.h><br>
-+#endif<br>
-+<br>
-+#if !defined PATH_MAX && defined MAXPATHLEN<br>
-+# define PATH_MAX MAXPATHLEN<br>
-+#endif<br>
-+<br>
-+#ifndef PATH_MAX<br>
-+# define PATH_MAX _POSIX_PATH_MAX<br>
-+#endif<br>
-+<br>
-+/* Pathname support.<br>
-+ ISSLASH(C) tests whether C is a directory separator character.<br>
-+ IS_ABSOLUTE_PATH(P) tests whether P is an absolute path. If it is not,<br>
-+ it may be concatenated to a directory pathname.<br>
-+ IS_PATH_WITH_DIR(P) tests whether P contains a directory specification.<br>
-+ */<br>
-+#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__<br>
-+ /* Win32, OS/2, DOS */<br>
-+# define ISSLASH(C) ((C) == '/' || (C) == '\\')<br>
-+# define HAS_DEVICE(P) \<br>
-+ ((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \<br>
-+ && (P)[1] == ':')<br>
-+# define IS_ABSOLUTE_PATH(P) (ISSLASH ((P)[0]) || HAS_DEVICE (P))<br>
-+# define IS_PATH_WITH_DIR(P) \<br>
-+ (strchr (P, '/') != NULL || strchr (P, '\\') != NULL || HAS_DEVICE (P))<br>
-+#else<br>
-+ /* Unix */<br>
-+# define ISSLASH(C) ((C) == '/')<br>
-+# define IS_ABSOLUTE_PATH(P) ISSLASH ((P)[0])<br>
-+# define IS_PATH_WITH_DIR(P) (strchr (P, '/') != NULL)<br>
-+#endif<br>
-+<br>
-+/* This is the type used for the search tree where known translations<br>
-+ are stored. */<br>
-+struct known_translation_t<br>
-+{<br>
-+ /* Domain in which to search. */<br>
-+ char *domainname;<br>
-+<br>
-+ /* The category. */<br>
-+ int category;<br>
-+<br>
-+ /* State of the catalog counter at the point the string was found. */<br>
-+ int counter;<br>
-+<br>
-+ /* Catalog where the string was found. */<br>
-+ struct loaded_l10nfile *domain;<br>
-+<br>
-+ /* And finally the translation. */<br>
-+ const char *translation;<br>
-+ size_t translation_length;<br>
-+<br>
-+ /* Pointer to the string in question. */<br>
-+ char msgid[ZERO];<br>
-+};<br>
-+<br>
-+/* Root of the search tree with known translations. We can use this<br>
-+ only if the system provides the `tsearch' function family. */<br>
-+#if defined HAVE_TSEARCH || defined _LIBC<br>
-+# include <search.h><br>
-+<br>
-+static void *root;<br>
-+<br>
-+# ifdef _LIBC<br>
-+# define tsearch __tsearch<br>
-+# endif<br>
-+<br>
-+/* Function to compare two entries in the table of known translations. */<br>
-+static int<br>
-+transcmp (const void *p1, const void *p2)<br>
-+{<br>
-+ const struct known_translation_t *s1;<br>
-+ const struct known_translation_t *s2;<br>
-+ int result;<br>
-+<br>
-+ s1 = (const struct known_translation_t *) p1;<br>
-+ s2 = (const struct known_translation_t *) p2;<br>
-+<br>
-+ result = strcmp (s1->msgid, s2->msgid);<br>
-+ if (result == 0)<br>
-+ {<br>
-+ result = strcmp (s1->domainname, s2->domainname);<br>
-+ if (result == 0)<br>
-+ /* We compare the category last (though this is the cheapest<br>
-+ operation) since it is hopefully always the same (namely<br>
-+ LC_MESSAGES). */<br>
-+ result = s1->category - s2->category;<br>
-+ }<br>
-+<br>
-+ return result;<br>
-+}<br>
-+#endif<br>
-+<br>
-+#ifndef INTVARDEF<br>
-+# define INTVARDEF(name)<br>
-+#endif<br>
-+#ifndef INTUSE<br>
-+# define INTUSE(name) name<br>
-+#endif<br>
-+<br>
-+/* Name of the default domain used for gettext(3) prior any call to<br>
-+ textdomain(3). The default value for this is "messages". */<br>
-+const char _nl_default_default_domain[] attribute_hidden = "messages";<br>
-+<br>
-+/* Value used as the default domain for gettext(3). */<br>
-+const char *_nl_current_default_domain attribute_hidden<br>
-+ = _nl_default_default_domain;<br>
-+<br>
-+/* Contains the default location of the message catalogs. */<br>
-+#if defined __EMX__<br>
-+extern const char _nl_default_dirname[];<br>
-+#else<br>
-+const char _nl_default_dirname[] = LOCALEDIR;<br>
-+INTVARDEF (_nl_default_dirname)<br>
-+#endif<br>
-+<br>
-+/* List with bindings of specific domains created by bindtextdomain()<br>
-+ calls. */<br>
-+struct binding *_nl_domain_bindings;<br>
-+<br>
-+/* Prototypes for local functions. */<br>
-+static char *plural_lookup (struct loaded_l10nfile *domain,<br>
-+ unsigned long int n,<br>
-+ const char *translation, size_t translation_len)<br>
-+ internal_function;<br>
-+static const char *guess_category_value (int category,<br>
-+ const char *categoryname)<br>
-+ internal_function;<br>
-+#ifdef _LIBC<br>
-+# include "../locale/localeinfo.h"<br>
-+# define category_to_name(category) _nl_category_names[category]<br>
-+#else<br>
-+static const char *category_to_name (int category) internal_function;<br>
-+#endif<br>
-+<br>
-+<br>
-+/* For those loosing systems which don't have `alloca' we have to add<br>
-+ some additional code emulating it. */<br>
-+#ifdef HAVE_ALLOCA<br>
-+/* Nothing has to be done. */<br>
-+# define freea(p) /* nothing */<br>
-+# define ADD_BLOCK(list, address) /* nothing */<br>
-+# define FREE_BLOCKS(list) /* nothing */<br>
-+#else<br>
-+struct block_list<br>
-+{<br>
-+ void *address;<br>
-+ struct block_list *next;<br>
-+};<br>
-+# define ADD_BLOCK(list, addr) \<br>
-+ do { \<br>
-+ struct block_list *newp = (struct block_list *) malloc (sizeof (*newp)); \<br>
-+ /* If we cannot get a free block we cannot add the new element to \<br>
-+ the list. */ \<br>
-+ if (newp != NULL) { \<br>
-+ newp->address = (addr); \<br>
-+ newp->next = (list); \<br>
-+ (list) = newp; \<br>
-+ } \<br>
-+ } while (0)<br>
-+# define FREE_BLOCKS(list) \<br>
-+ do { \<br>
-+ while (list != NULL) { \<br>
-+ struct block_list *old = list; \<br>
-+ list = list->next; \<br>
-+ free (old->address); \<br>
-+ free (old); \<br>
-+ } \<br>
-+ } while (0)<br>
-+# undef alloca<br>
-+# define alloca(size) (malloc (size))<br>
-+# define freea(p) free (p)<br>
-+#endif /* have alloca */<br>
-+<br>
-+<br>
-+#ifdef _LIBC<br>
-+/* List of blocks allocated for translations. */<br>
-+typedef struct transmem_list<br>
-+{<br>
-+ struct transmem_list *next;<br>
-+ char data[ZERO];<br>
-+} transmem_block_t;<br>
-+static struct transmem_list *transmem_list;<br>
-+#else<br>
-+typedef unsigned char transmem_block_t;<br>
-+#endif<br>
-+<br>
-+<br>
-+/* Names for the libintl functions are a problem. They must not clash<br>
-+ with existing names and they should follow ANSI C. But this source<br>
-+ code is also used in GNU C Library where the names have a __<br>
-+ prefix. So we have to make a difference here. */<br>
-+#ifdef _LIBC<br>
-+# define DCIGETTEXT __dcigettext<br>
-+#else<br>
-+# define DCIGETTEXT libintl_dcigettext<br>
-+#endif<br>
-+<br>
-+/* Lock variable to protect the global data in the gettext implementation. */<br>
-+#ifdef _LIBC<br>
-+__libc_rwlock_define_initialized (, _nl_state_lock attribute_hidden)<br>
-+#endif<br>
-+<br>
-+/* Checking whether the binaries runs SUID must be done and glibc provides<br>
-+ easier methods therefore we make a difference here. */<br>
-+#ifdef _LIBC<br>
-+# define ENABLE_SECURE __libc_enable_secure<br>
-+# define DETERMINE_SECURE<br>
-+#else<br>
-+# ifndef HAVE_GETUID<br>
-+# define getuid() 0<br>
-+# endif<br>
-+# ifndef HAVE_GETGID<br>
-+# define getgid() 0<br>
-+# endif<br>
-+# ifndef HAVE_GETEUID<br>
-+# define geteuid() getuid()<br>
-+# endif<br>
-+# ifndef HAVE_GETEGID<br>
-+# define getegid() getgid()<br>
-+# endif<br>
-+static int enable_secure;<br>
-+# define ENABLE_SECURE (enable_secure == 1)<br>
-+# define DETERMINE_SECURE \<br>
-+ if (enable_secure == 0) \<br>
-+ { \<br>
-+ if (getuid () != geteuid () || getgid () != getegid ()) \<br>
-+ enable_secure = 1; \<br>
-+ else \<br>
-+ enable_secure = -1; \<br>
-+ }<br>
-+#endif<br>
-+<br>
-+/* Get the function to evaluate the plural expression. */<br>
-+#include "eval-plural.h"<br>
-+<br>
-+/* Look up MSGID in the DOMAINNAME message catalog for the current<br>
-+ CATEGORY locale and, if PLURAL is nonzero, search over string<br>
-+ depending on the plural form determined by N. */<br>
-+char *<br>
-+DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2,<br>
-+ int plural, unsigned long int n, int category)<br>
-+{<br>
-+#ifndef HAVE_ALLOCA<br>
-+ struct block_list *block_list = NULL;<br>
-+#endif<br>
-+ struct loaded_l10nfile *domain;<br>
-+ struct binding *binding;<br>
-+ const char *categoryname;<br>
-+ const char *categoryvalue;<br>
-+ char *dirname, *xdomainname;<br>
-+ char *single_locale;<br>
-+ char *retval;<br>
-+ size_t retlen;<br>
-+ int saved_errno;<br>
-+#if defined HAVE_TSEARCH || defined _LIBC<br>
-+ struct known_translation_t *search;<br>
-+ struct known_translation_t **foundp = NULL;<br>
-+ size_t msgid_len;<br>
-+#endif<br>
-+ size_t domainname_len;<br>
-+<br>
-+ /* If no real MSGID is given return NULL. */<br>
-+ if (msgid1 == NULL)<br>
-+ return NULL;<br>
-+<br>
-+#ifdef _LIBC<br>
-+ if (category < 0 || category >= __LC_LAST || category == LC_ALL)<br>
-+ /* Bogus. */<br>
-+ return (plural == 0<br>
-+ ? (char *) msgid1<br>
-+ /* Use the Germanic plural rule. */<br>
-+ : n == 1 ? (char *) msgid1 : (char *) msgid2);<br>
-+#endif<br>
-+<br>
-+ __libc_rwlock_rdlock (_nl_state_lock);<br>
-+<br>
-+ /* If DOMAINNAME is NULL, we are interested in the default domain. If<br>
-+ CATEGORY is not LC_MESSAGES this might not make much sense but the<br>
-+ definition left this undefined. */<br>
-+ if (domainname == NULL)<br>
-+ domainname = _nl_current_default_domain;<br>
-+<br>
-+ /* OS/2 specific: backward compatibility with older libintl versions */<br>
-+#ifdef LC_MESSAGES_COMPAT<br>
-+ if (category == LC_MESSAGES_COMPAT)<br>
-+ category = LC_MESSAGES;<br>
-+#endif<br>
-+<br>
-+#if defined HAVE_TSEARCH || defined _LIBC<br>
-+ msgid_len = strlen (msgid1) + 1;<br>
-+<br>
-+ /* Try to find the translation among those which we found at<br>
-+ some time. */<br>
-+ search = (struct known_translation_t *)<br>
-+ alloca (offsetof (struct known_translation_t, msgid) + msgid_len);<br>
-+ memcpy (search->msgid, msgid1, msgid_len);<br>
-+ search->domainname = (char *) domainname;<br>
-+ search->category = category;<br>
-+<br>
-+ foundp = (struct known_translation_t **) tfind (search, &root, transcmp);<br>
-+ freea (search);<br>
-+ if (foundp != NULL && (*foundp)->counter == _nl_msg_cat_cntr)<br>
-+ {<br>
-+ /* Now deal with plural. */<br>
-+ if (plural)<br>
-+ retval = plural_lookup ((*foundp)->domain, n, (*foundp)->translation,<br>
-+ (*foundp)->translation_length);<br>
-+ else<br>
-+ retval = (char *) (*foundp)->translation;<br>
-+<br>
-+ __libc_rwlock_unlock (_nl_state_lock);<br>
-+ return retval;<br>
-+ }<br>
-+#endif<br>
-+<br>
-+ /* Preserve the `errno' value. */<br>
-+ saved_errno = errno;<br>
-+<br>
-+ /* See whether this is a SUID binary or not. */<br>
-+ DETERMINE_SECURE;<br>
-+<br>
-+ /* First find matching binding. */<br>
-+ for (binding = _nl_domain_bindings; binding != NULL; binding = binding->next)<br>
-+ {<br>
-+ int compare = strcmp (domainname, binding->domainname);<br>
-+ if (compare == 0)<br>
-+ /* We found it! */<br>
-+ break;<br>
-+ if (compare < 0)<br>
-+ {<br>
-+ /* It is not in the list. */<br>
-+ binding = NULL;<br>
-+ break;<br>
-+ }<br>
-+ }<br>
-+<br>
-+ if (binding == NULL)<br>
-+ dirname = (char *) INTUSE(_nl_default_dirname);<br>
-+ else if (IS_ABSOLUTE_PATH (binding->dirname))<br>
-+ dirname = binding->dirname;<br>
-+ else<br>
-+ {<br>
-+ /* We have a relative path. Make it absolute now. */<br>
-+ size_t dirname_len = strlen (binding->dirname) + 1;<br>
-+ size_t path_max;<br>
-+ char *ret;<br>
-+<br>
-+ path_max = (unsigned int) PATH_MAX;<br>
-+ path_max += 2; /* The getcwd docs say to do this. */<br>
-+<br>
-+ for (;;)<br>
-+ {<br>
-+ dirname = (char *) alloca (path_max + dirname_len);<br>
-+ ADD_BLOCK (block_list, dirname);<br>
-+<br>
-+ __set_errno (0);<br>
-+ ret = getcwd (dirname, path_max);<br>
-+ if (ret != NULL || errno != ERANGE)<br>
-+ break;<br>
-+<br>
-+ path_max += path_max / 2;<br>
-+ path_max += PATH_INCR;<br>
-+ }<br>
-+<br>
-+ if (ret == NULL)<br>
-+ /* We cannot get the current working directory. Don't signal an<br>
-+ error but simply return the default string. */<br>
-+ goto return_untranslated;<br>
-+<br>
-+ stpcpy (stpcpy (strchr (dirname, '\0'), "/"), binding->dirname);<br>
-+ }<br>
-+<br>
-+ /* Now determine the symbolic name of CATEGORY and its value. */<br>
-+ categoryname = category_to_name (category);<br>
-+ categoryvalue = guess_category_value (category, categoryname);<br>
-+<br>
-+ domainname_len = strlen (domainname);<br>
-+ xdomainname = (char *) alloca (strlen (categoryname)<br>
-+ + domainname_len + 5);<br>
-+ ADD_BLOCK (block_list, xdomainname);<br>
-+<br>
-+ stpcpy (mempcpy (stpcpy (stpcpy (xdomainname, categoryname), "/"),<br>
-+ domainname, domainname_len),<br>
-+ ".mo");<br>
-+<br>
-+ /* Creating working area. */<br>
-+ single_locale = (char *) alloca (strlen (categoryvalue) + 1);<br>
-+ ADD_BLOCK (block_list, single_locale);<br>
-+<br>
-+<br>
-+ /* Search for the given string. This is a loop because we perhaps<br>
-+ got an ordered list of languages to consider for the translation. */<br>
-+ while (1)<br>
-+ {<br>
-+ /* Make CATEGORYVALUE point to the next element of the list. */<br>
-+ while (categoryvalue[0] != '\0' && categoryvalue[0] == ':')<br>
-+ ++categoryvalue;<br>
-+ if (categoryvalue[0] == '\0')<br>
-+ {<br>
-+ /* The whole contents of CATEGORYVALUE has been searched but<br>
-+ no valid entry has been found. We solve this situation<br>
-+ by implicitly appending a "C" entry, i.e. no translation<br>
-+ will take place. */<br>
-+ single_locale[0] = 'C';<br>
-+ single_locale[1] = '\0';<br>
-+ }<br>
-+ else<br>
-+ {<br>
-+ char *cp = single_locale;<br>
-+ while (categoryvalue[0] != '\0' && categoryvalue[0] != ':')<br>
-+ *cp++ = *categoryvalue++;<br>
-+ *cp = '\0';<br>
-+<br>
-+ /* When this is a SUID binary we must not allow accessing files<br>
-+ outside the dedicated directories. */<br>
-+ if (ENABLE_SECURE && IS_PATH_WITH_DIR (single_locale))<br>
-+ /* Ingore this entry. */<br>
-+ continue;<br>
-+ }<br>
-+<br>
-+ /* If the current locale value is C (or POSIX) we don't load a<br>
-+ domain. Return the MSGID. */<br>
-+ if (strcmp (single_locale, "C") == 0<br>
-+ || strcmp (single_locale, "POSIX") == 0)<br>
-+ break;<br>
-+<br>
-+ /* Find structure describing the message catalog matching the<br>
-+ DOMAINNAME and CATEGORY. */<br>
-+ domain = _nl_find_domain (dirname, single_locale, xdomainname, binding);<br>
-+<br>
-+ if (domain != NULL)<br>
-+ {<br>
-+ retval = _nl_find_msg (domain, binding, msgid1, &retlen);<br>
-+<br>
-+ if (retval == NULL)<br>
-+ {<br>
-+ int cnt;<br>
-+<br>
-+ for (cnt = 0; domain->successor[cnt] != NULL; ++cnt)<br>
-+ {<br>
-+ retval = _nl_find_msg (domain->successor[cnt], binding,<br>
-+ msgid1, &retlen);<br>
-+<br>
-+ if (retval != NULL)<br>
-+ {<br>
-+ domain = domain->successor[cnt];<br>
-+ break;<br>
-+ }<br>
-+ }<br>
-+ }<br>
-+<br>
-+ if (retval != NULL)<br>
-+ {<br>
-+ /* Found the translation of MSGID1 in domain DOMAIN:<br>
-+ starting at RETVAL, RETLEN bytes. */<br>
-+ FREE_BLOCKS (block_list);<br>
-+#if defined HAVE_TSEARCH || defined _LIBC<br>
-+ if (foundp == NULL)<br>
-+ {<br>
-+ /* Create a new entry and add it to the search tree. */<br>
-+ struct known_translation_t *newp;<br>
-+<br>
-+ newp = (struct known_translation_t *)<br>
-+ malloc (offsetof (struct known_translation_t, msgid)<br>
-+ + msgid_len + domainname_len + 1);<br>
-+ if (newp != NULL)<br>
-+ {<br>
-+ newp->domainname =<br>
-+ mempcpy (newp->msgid, msgid1, msgid_len);<br>
-+ memcpy (newp->domainname, domainname, domainname_len + 1);<br>
-+ newp->category = category;<br>
-+ newp->counter = _nl_msg_cat_cntr;<br>
-+ newp->domain = domain;<br>
-+ newp->translation = retval;<br>
-+ newp->translation_length = retlen;<br>
-+<br>
-+ /* Insert the entry in the search tree. */<br>
-+ foundp = (struct known_translation_t **)<br>
-+ tsearch (newp, &root, transcmp);<br>
-+ if (foundp == NULL<br>
-+ || __builtin_expect (*foundp != newp, 0))<br>
-+ /* The insert failed. */<br>
-+ free (newp);<br>
-+ }<br>
-+ }<br>
-+ else<br>
-+ {<br>
-+ /* We can update the existing entry. */<br>
-+ (*foundp)->counter = _nl_msg_cat_cntr;<br>
-+ (*foundp)->domain = domain;<br>
-+ (*foundp)->translation = retval;<br>
-+ (*foundp)->translation_length = retlen;<br>
-+ }<br>
-+#endif<br>
-+ __set_errno (saved_errno);<br>
-+<br>
-+ /* Now deal with plural. */<br>
-+ if (plural)<br>
-+ retval = plural_lookup (domain, n, retval, retlen);<br>
-+<br>
-+ __libc_rwlock_unlock (_nl_state_lock);<br>
-+ return retval;<br>
-+ }<br>
-+ }<br>
-+ }<br>
-+<br>
-+ return_untranslated:<br>
-+ /* Return the untranslated MSGID. */<br>
-+ FREE_BLOCKS (block_list);<br>
-+ __libc_rwlock_unlock (_nl_state_lock);<br>
-+#ifndef _LIBC<br>
-+ if (!ENABLE_SECURE)<br>
-+ {<br>
-+ extern void _nl_log_untranslated (const char *logfilename,<br>
-+ const char *domainname,<br>
-+ const char *msgid1, const char *msgid2,<br>
-+ int plural);<br>
-+ const char *logfilename = getenv ("GETTEXT_LOG_UNTRANSLATED");<br>
-+<br>
-+ if (logfilename != NULL && logfilename[0] != '\0')<br>
-+ _nl_log_untranslated (logfilename, domainname, msgid1, msgid2, plural);<br>
-+ }<br>
-+#endif<br>
-+ __set_errno (saved_errno);<br>
-+ return (plural == 0<br>
-+ ? (char *) msgid1<br>
-+ /* Use the Germanic plural rule. */<br>
-+ : n == 1 ? (char *) msgid1 : (char *) msgid2);<br>
-+}<br>
-+<br>
-+<br>
-+char *<br>
-+internal_function<br>
-+_nl_find_msg (struct loaded_l10nfile *domain_file,<br>
-+ struct binding *domainbinding, const char *msgid,<br>
-+ size_t *lengthp)<br>
-+{<br>
-+ struct loaded_domain *domain;<br>
-+ nls_uint32 nstrings;<br>
-+ size_t act;<br>
-+ char *result;<br>
-+ size_t resultlen;<br>
-+<br>
-+ if (domain_file->decided == 0)<br>
-+ _nl_load_domain (domain_file, domainbinding);<br>
-+<br>
-+ if (domain_file->data == NULL)<br>
-+ return NULL;<br>
-+<br>
-+ domain = (struct loaded_domain *) domain_file->data;<br>
-+<br>
-+ nstrings = domain->nstrings;<br>
-+<br>
-+ /* Locate the MSGID and its translation. */<br>
-+ if (domain->hash_tab != NULL)<br>
-+ {<br>
-+ /* Use the hashing table. */<br>
-+ nls_uint32 len = strlen (msgid);<br>
-+ nls_uint32 hash_val = hash_string (msgid);<br>
-+ nls_uint32 idx = hash_val % domain->hash_size;<br>
-+ nls_uint32 incr = 1 + (hash_val % (domain->hash_size - 2));<br>
-+<br>
-+ while (1)<br>
-+ {<br>
-+ nls_uint32 nstr =<br>
-+ W (domain->must_swap_hash_tab, domain->hash_tab[idx]);<br>
-+<br>
-+ if (nstr == 0)<br>
-+ /* Hash table entry is empty. */<br>
-+ return NULL;<br>
-+<br>
-+ nstr--;<br>
-+<br>
-+ /* Compare msgid with the original string at index nstr.<br>
-+ We compare the lengths with >=, not ==, because plural entries<br>
-+ are represented by strings with an embedded NUL. */<br>
-+ if (nstr < nstrings<br>
-+ ? W (domain->must_swap, domain->orig_tab[nstr].length) >= len<br>
-+ && (strcmp (msgid,<br>
-+ domain->data + W (domain->must_swap,<br>
-+ domain->orig_tab[nstr].offset))<br>
-+ == 0)<br>
-+ : domain->orig_sysdep_tab[nstr - nstrings].length > len<br>
-+ && (strcmp (msgid,<br>
-+ domain->orig_sysdep_tab[nstr - nstrings].pointer)<br>
-+ == 0))<br>
-+ {<br>
-+ act = nstr;<br>
-+ goto found;<br>
-+ }<br>
-+<br>
-+ if (idx >= domain->hash_size - incr)<br>
-+ idx -= domain->hash_size - incr;<br>
-+ else<br>
-+ idx += incr;<br>
-+ }<br>
-+ /* NOTREACHED */<br>
-+ }<br>
-+ else<br>
-+ {<br>
-+ /* Try the default method: binary search in the sorted array of<br>
-+ messages. */<br>
-+ size_t top, bottom;<br>
-+<br>
-+ bottom = 0;<br>
-+ top = nstrings;<br>
-+ while (bottom < top)<br>
-+ {<br>
-+ int cmp_val;<br>
-+<br>
-+ act = (bottom + top) / 2;<br>
-+ cmp_val = strcmp (msgid, (domain->data<br>
-+ + W (domain->must_swap,<br>
-+ domain->orig_tab[act].offset)));<br>
-+ if (cmp_val < 0)<br>
-+ top = act;<br>
-+ else if (cmp_val > 0)<br>
-+ bottom = act + 1;<br>
-+ else<br>
-+ goto found;<br>
-+ }<br>
-+ /* No translation was found. */<br>
-+ return NULL;<br>
-+ }<br>
-+<br>
-+ found:<br>
-+ /* The translation was found at index ACT. If we have to convert the<br>
-+ string to use a different character set, this is the time. */<br>
-+ if (act < nstrings)<br>
-+ {<br>
-+ result = (char *)<br>
-+ (domain->data + W (domain->must_swap, domain->trans_tab[act].offset));<br>
-+ resultlen = W (domain->must_swap, domain->trans_tab[act].length) + 1;<br>
-+ }<br>
-+ else<br>
-+ {<br>
-+ result = (char *) domain->trans_sysdep_tab[act - nstrings].pointer;<br>
-+ resultlen = domain->trans_sysdep_tab[act - nstrings].length;<br>
-+ }<br>
-+<br>
-+#if defined _LIBC || HAVE_ICONV<br>
-+ if (domain->codeset_cntr<br>
-+ != (domainbinding != NULL ? domainbinding->codeset_cntr : 0))<br>
-+ {<br>
-+ /* The domain's codeset has changed through bind_textdomain_codeset()<br>
-+ since the message catalog was initialized or last accessed. We<br>
-+ have to reinitialize the converter. */<br>
-+ _nl_free_domain_conv (domain);<br>
-+ _nl_init_domain_conv (domain_file, domain, domainbinding);<br>
-+ }<br>
-+<br>
-+ if (<br>
-+# ifdef _LIBC<br>
-+ domain->conv != (__gconv_t) -1<br>
-+# else<br>
-+# if HAVE_ICONV<br>
-+ domain->conv != (iconv_t) -1<br>
-+# endif<br>
-+# endif<br>
-+ )<br>
-+ {<br>
-+ /* We are supposed to do a conversion. First allocate an<br>
-+ appropriate table with the same structure as the table<br>
-+ of translations in the file, where we can put the pointers<br>
-+ to the converted strings in.<br>
-+ There is a slight complication with plural entries. They<br>
-+ are represented by consecutive NUL terminated strings. We<br>
-+ handle this case by converting RESULTLEN bytes, including<br>
-+ NULs. */<br>
-+<br>
-+ if (domain->conv_tab == NULL<br>
-+ && ((domain->conv_tab =<br>
-+ (char **) calloc (nstrings + domain->n_sysdep_strings,<br>
-+ sizeof (char *)))<br>
-+ == NULL))<br>
-+ /* Mark that we didn't succeed allocating a table. */<br>
-+ domain->conv_tab = (char **) -1;<br>
-+<br>
-+ if (__builtin_expect (domain->conv_tab == (char **) -1, 0))<br>
-+ /* Nothing we can do, no more memory. */<br>
-+ goto converted;<br>
-+<br>
-+ if (domain->conv_tab[act] == NULL)<br>
-+ {<br>
-+ /* We haven't used this string so far, so it is not<br>
-+ translated yet. Do this now. */<br>
-+ /* We use a bit more efficient memory handling.<br>
-+ We allocate always larger blocks which get used over<br>
-+ time. This is faster than many small allocations. */<br>
-+ __libc_lock_define_initialized (static, lock)<br>
-+# define INITIAL_BLOCK_SIZE 4080<br>
-+ static unsigned char *freemem;<br>
-+ static size_t freemem_size;<br>
-+<br>
-+ const unsigned char *inbuf;<br>
-+ unsigned char *outbuf;<br>
-+ int malloc_count;<br>
-+# ifndef _LIBC<br>
-+ transmem_block_t *transmem_list = NULL;<br>
-+# endif<br>
-+<br>
-+ __libc_lock_lock (lock);<br>
-+<br>
-+ inbuf = (const unsigned char *) result;<br>
-+ outbuf = freemem + sizeof (size_t);<br>
-+<br>
-+ malloc_count = 0;<br>
-+ while (1)<br>
-+ {<br>
-+ transmem_block_t *newmem;<br>
-+# ifdef _LIBC<br>
-+ size_t non_reversible;<br>
-+ int res;<br>
-+<br>
-+ if (freemem_size < sizeof (size_t))<br>
-+ goto resize_freemem;<br>
-+<br>
-+ res = __gconv (domain->conv,<br>
-+ &inbuf, inbuf + resultlen,<br>
-+ &outbuf,<br>
-+ outbuf + freemem_size - sizeof (size_t),<br>
-+ &non_reversible);<br>
-+<br>
-+ if (res == __GCONV_OK || res == __GCONV_EMPTY_INPUT)<br>
-+ break;<br>
-+<br>
-+ if (res != __GCONV_FULL_OUTPUT)<br>
-+ {<br>
-+ __libc_lock_unlock (lock);<br>
-+ goto converted;<br>
-+ }<br>
-+<br>
-+ inbuf = result;<br>
-+# else<br>
-+# if HAVE_ICONV<br>
-+ const char *inptr = (const char *) inbuf;<br>
-+ size_t inleft = resultlen;<br>
-+ char *outptr = (char *) outbuf;<br>
-+ size_t outleft;<br>
-+<br>
-+ if (freemem_size < sizeof (size_t))<br>
-+ goto resize_freemem;<br>
-+<br>
-+ outleft = freemem_size - sizeof (size_t);<br>
-+ if (iconv (domain->conv,<br>
-+ (ICONV_CONST char **) &inptr, &inleft,<br>
-+ &outptr, &outleft)<br>
-+ != (size_t) (-1))<br>
-+ {<br>
-+ outbuf = (unsigned char *) outptr;<br>
-+ break;<br>
-+ }<br>
-+ if (errno != E2BIG)<br>
-+ {<br>
-+ __libc_lock_unlock (lock);<br>
-+ goto converted;<br>
-+ }<br>
-+# endif<br>
-+# endif<br>
-+<br>
-+ resize_freemem:<br>
-+ /* We must allocate a new buffer or resize the old one. */<br>
-+ if (malloc_count > 0)<br>
-+ {<br>
-+ ++malloc_count;<br>
-+ freemem_size = malloc_count * INITIAL_BLOCK_SIZE;<br>
-+ newmem = (transmem_block_t *) realloc (transmem_list,<br>
-+ freemem_size);<br>
-+# ifdef _LIBC<br>
-+ if (newmem != NULL)<br>
-+ transmem_list = transmem_list->next;<br>
-+ else<br>
-+ {<br>
-+ struct transmem_list *old = transmem_list;<br>
-+<br>
-+ transmem_list = transmem_list->next;<br>
-+ free (old);<br>
-+ }<br>
-+# endif<br>
-+ }<br>
-+ else<br>
-+ {<br>
-+ malloc_count = 1;<br>
-+ freemem_size = INITIAL_BLOCK_SIZE;<br>
-+ newmem = (transmem_block_t *) malloc (freemem_size);<br>
-+ }<br>
-+ if (__builtin_expect (newmem == NULL, 0))<br>
-+ {<br>
-+ freemem = NULL;<br>
-+ freemem_size = 0;<br>
-+ __libc_lock_unlock (lock);<br>
-+ goto converted;<br>
-+ }<br>
-+<br>
-+# ifdef _LIBC<br>
-+ /* Add the block to the list of blocks we have to free<br>
-+ at some point. */<br>
-+ newmem->next = transmem_list;<br>
-+ transmem_list = newmem;<br>
-+<br>
-+ freemem = newmem->data;<br>
-+ freemem_size -= offsetof (struct transmem_list, data);<br>
-+# else<br>
-+ transmem_list = newmem;<br>
-+ freemem = newmem;<br>
-+# endif<br>
-+<br>
-+ outbuf = freemem + sizeof (size_t);<br>
-+ }<br>
-+<br>
-+ /* We have now in our buffer a converted string. Put this<br>
-+ into the table of conversions. */<br>
-+ *(size_t *) freemem = outbuf - freemem - sizeof (size_t);<br>
-+ domain->conv_tab[act] = (char *) freemem;<br>
-+ /* Shrink freemem, but keep it aligned. */<br>
-+ freemem_size -= outbuf - freemem;<br>
-+ freemem = outbuf;<br>
-+ freemem += freemem_size & (alignof (size_t) - 1);<br>
-+ freemem_size = freemem_size & ~ (alignof (size_t) - 1);<br>
-+<br>
-+ __libc_lock_unlock (lock);<br>
-+ }<br>
-+<br>
-+ /* Now domain->conv_tab[act] contains the translation of all<br>
-+ the plural variants. */<br>
-+ result = domain->conv_tab[act] + sizeof (size_t);<br>
-+ resultlen = *(size_t *) domain->conv_tab[act];<br>
-+ }<br>
-+<br>
-+ converted:<br>
-+ /* The result string is converted. */<br>
-+<br>
-+#endif /* _LIBC || HAVE_ICONV */<br>
-+<br>
-+ *lengthp = resultlen;<br>
-+ return result;<br>
-+}<br>
-+<br>
-+<br>
-+/* Look up a plural variant. */<br>
-+static char *<br>
-+internal_function<br>
-+plural_lookup (struct loaded_l10nfile *domain, unsigned long int n,<br>
-+ const char *translation, size_t translation_len)<br>
-+{<br>
-+ struct loaded_domain *domaindata = (struct loaded_domain *) domain->data;<br>
-+ unsigned long int index;<br>
-+ const char *p;<br>
-+<br>
-+ index = plural_eval (domaindata->plural, n);<br>
-+ if (index >= domaindata->nplurals)<br>
-+ /* This should never happen. It means the plural expression and the<br>
-+ given maximum value do not match. */<br>
-+ index = 0;<br>
-+<br>
-+ /* Skip INDEX strings at TRANSLATION. */<br>
-+ p = translation;<br>
-+ while (index-- > 0)<br>
-+ {<br>
-+#ifdef _LIBC<br>
-+ p = __rawmemchr (p, '\0');<br>
-+#else<br>
-+ p = strchr (p, '\0');<br>
-+#endif<br>
-+ /* And skip over the NUL byte. */<br>
-+ p++;<br>
-+<br>
-+ if (p >= translation + translation_len)<br>
-+ /* This should never happen. It means the plural expression<br>
-+ evaluated to a value larger than the number of variants<br>
-+ available for MSGID1. */<br>
-+ return (char *) translation;<br>
-+ }<br>
-+ return (char *) p;<br>
-+}<br>
-+<br>
-+#ifndef _LIBC<br>
-+/* Return string representation of locale CATEGORY. */<br>
-+static const char *<br>
-+internal_function<br>
-+category_to_name (int category)<br>
-+{<br>
-+ const char *retval;<br>
-+<br>
-+ switch (category)<br>
-+ {<br>
-+#ifdef LC_COLLATE<br>
-+ case LC_COLLATE:<br>
-+ retval = "LC_COLLATE";<br>
-+ break;<br>
-+#endif<br>
-+#ifdef LC_CTYPE<br>
-+ case LC_CTYPE:<br>
-+ retval = "LC_CTYPE";<br>
-+ break;<br>
-+#endif<br>
-+#ifdef LC_MONETARY<br>
-+ case LC_MONETARY:<br>
-+ retval = "LC_MONETARY";<br>
-+ break;<br>
-+#endif<br>
-+#ifdef LC_NUMERIC<br>
-+ case LC_NUMERIC:<br>
-+ retval = "LC_NUMERIC";<br>
-+ break;<br>
-+#endif<br>
-+#ifdef LC_TIME<br>
-+ case LC_TIME:<br>
-+ retval = "LC_TIME";<br>
-+ break;<br>
-+#endif<br>
-+#ifdef LC_MESSAGES<br>
-+ case LC_MESSAGES:<br>
-+ retval = "LC_MESSAGES";<br>
-+ break;<br>
-+#endif<br>
-+#ifdef LC_RESPONSE<br>
-+ case LC_RESPONSE:<br>
-+ retval = "LC_RESPONSE";<br>
-+ break;<br>
-+#endif<br>
-+#ifdef LC_ALL<br>
-+ case LC_ALL:<br>
-+ /* This might not make sense but is perhaps better than any other<br>
-+ value. */<br>
-+ retval = "LC_ALL";<br>
-+ break;<br>
-+#endif<br>
-+ default:<br>
-+ /* If you have a better idea for a default value let me know. */<br>
-+ retval = "LC_XXX";<br>
-+ }<br>
-+<br>
-+ return retval;<br>
-+}<br>
-+#endif<br>
-+<br>
-+/* Guess value of current locale from value of the environment variables. */<br>
-+static const char *<br>
-+internal_function<br>
-+guess_category_value (int category, const char *categoryname)<br>
-+{<br>
-+ const char *language;<br>
-+ const char *retval;<br>
-+<br>
-+ /* The highest priority value is the `LANGUAGE' environment<br>
-+ variable. But we don't use the value if the currently selected<br>
-+ locale is the C locale. This is a GNU extension. */<br>
-+ language = getenv ("LANGUAGE");<br>
-+ if (language != NULL && language[0] == '\0')<br>
-+ language = NULL;<br>
-+<br>
-+ /* We have to proceed with the POSIX methods of looking to `LC_ALL',<br>
-+ `LC_xxx', and `LANG'. On some systems this can be done by the<br>
-+ `setlocale' function itself. */<br>
-+#ifdef _LIBC<br>
-+ retval = __current_locale_name (category);<br>
-+#else<br>
-+ retval = _nl_locale_name (category, categoryname);<br>
-+#endif<br>
-+<br>
-+ /* Ignore LANGUAGE if the locale is set to "C" because<br>
-+ 1. "C" locale usually uses the ASCII encoding, and most international<br>
-+ messages use non-ASCII characters. These characters get displayed<br>
-+ as question marks (if using glibc's iconv()) or as invalid 8-bit<br>
-+ characters (because other iconv()s refuse to convert most non-ASCII<br>
-+ characters to ASCII). In any case, the output is ugly.<br>
-+ 2. The precise output of some programs in the "C" locale is specified<br>
-+ by POSIX and should not depend on environment variables like<br>
-+ "LANGUAGE". We allow such programs to use gettext(). */<br>
-+ return language != NULL && strcmp (retval, "C") != 0 ? language : retval;<br>
-+}<br>
-+<br>
-+/* @@ begin of epilog @@ */<br>
-+<br>
-+/* We don't want libintl.a to depend on any other library. So we<br>
-+ avoid the non-standard function stpcpy. In GNU C Library this<br>
-+ function is available, though. Also allow the symbol HAVE_STPCPY<br>
-+ to be defined. */<br>
-+#if !_LIBC && !HAVE_STPCPY<br>
-+static char *<br>
-+stpcpy (char *dest, const char *src)<br>
-+{<br>
-+ while ((*dest++ = *src++) != '\0')<br>
-+ /* Do nothing. */ ;<br>
-+ return dest - 1;<br>
-+}<br>
-+#endif<br>
-+<br>
-+#if !_LIBC && !HAVE_MEMPCPY<br>
-+static void *<br>
-+mempcpy (void *dest, const void *src, size_t n)<br>
-+{<br>
-+ return (void *) ((char *) memcpy (dest, src, n) + n);<br>
-+}<br>
-+#endif<br>
-+<br>
-+<br>
-+#ifdef _LIBC<br>
-+/* If we want to free all resources we have to do some work at<br>
-+ program's end. */<br>
-+libc_freeres_fn (free_mem)<br>
-+{<br>
-+ void *old;<br>
-+<br>
-+ while (_nl_domain_bindings != NULL)<br>
-+ {<br>
-+ struct binding *oldp = _nl_domain_bindings;<br>
-+ _nl_domain_bindings = _nl_domain_bindings->next;<br>
-+ if (oldp->dirname != INTUSE(_nl_default_dirname))<br>
-+ /* Yes, this is a pointer comparison. */<br>
-+ free (oldp->dirname);<br>
-+ free (oldp->codeset);<br>
-+ free (oldp);<br>
-+ }<br>
-+<br>
-+ if (_nl_current_default_domain != _nl_default_default_domain)<br>
-+ /* Yes, again a pointer comparison. */<br>
-+ free ((char *) _nl_current_default_domain);<br>
-+<br>
-+ /* Remove the search tree with the known translations. */<br>
-+ __tdestroy (root, free);<br>
-+ root = NULL;<br>
-+<br>
-+ while (transmem_list != NULL)<br>
-+ {<br>
-+ old = transmem_list;<br>
-+ transmem_list = transmem_list->next;<br>
-+ free (old);<br>
-+ }<br>
-+}<br>
-+#endif<br>
---- lrzsz-0.12.20.safe/intl/dcngettext.c 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/intl/dcngettext.c 2004-09-12 14:40:34.375745048 -0400<br>
-@@ -0,0 +1,57 @@<br>
-+/* Implementation of the dcngettext(3) function.<br>
-+ Copyright (C) 1995-1999, 2000-2003 Free Software Foundation, Inc.<br>
-+<br>
-+ This program is free software; you can redistribute it and/or modify it<br>
-+ under the terms of the GNU Library General Public License as published<br>
-+ by the Free Software Foundation; either version 2, or (at your option)<br>
-+ any later version.<br>
-+<br>
-+ This program is distributed in the hope that it will be useful,<br>
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-+ Library General Public License for more details.<br>
-+<br>
-+ You should have received a copy of the GNU Library General Public<br>
-+ License along with this program; if not, write to the Free Software<br>
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,<br>
-+ USA. */<br>
-+<br>
-+#ifdef HAVE_CONFIG_H<br>
-+# include <config.h><br>
-+#endif<br>
-+<br>
-+#include "gettextP.h"<br>
-+#ifdef _LIBC<br>
-+# include <libintl.h><br>
-+#else<br>
-+# include "libgnuintl.h"<br>
-+#endif<br>
-+<br>
-+/* @@ end of prolog @@ */<br>
-+<br>
-+/* Names for the libintl functions are a problem. They must not clash<br>
-+ with existing names and they should follow ANSI C. But this source<br>
-+ code is also used in GNU C Library where the names have a __<br>
-+ prefix. So we have to make a difference here. */<br>
-+#ifdef _LIBC<br>
-+# define DCNGETTEXT __dcngettext<br>
-+# define DCIGETTEXT __dcigettext<br>
-+#else<br>
-+# define DCNGETTEXT libintl_dcngettext<br>
-+# define DCIGETTEXT libintl_dcigettext<br>
-+#endif<br>
-+<br>
-+/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY<br>
-+ locale. */<br>
-+char *<br>
-+DCNGETTEXT (const char *domainname,<br>
-+ const char *msgid1, const char *msgid2, unsigned long int n,<br>
-+ int category)<br>
-+{<br>
-+ return DCIGETTEXT (domainname, msgid1, msgid2, 1, n, category);<br>
-+}<br>
-+<br>
-+#ifdef _LIBC<br>
-+/* Alias for function name in GNU C Library. */<br>
-+weak_alias (__dcngettext, dcngettext);<br>
-+#endif<br>
---- lrzsz-0.12.20.safe/intl/dgettext.c 1998-04-26 09:20:52.000000000 -0400<br>
-+++ lrzsz-0.12.20/intl/dgettext.c 2004-09-12 14:40:34.380744288 -0400<br>
-@@ -1,32 +1,33 @@<br>
--/* dgettext.c -- implementation of the dgettext(3) function<br>
-- Copyright (C) 1995 Software Foundation, Inc.<br>
-+/* Implementation of the dgettext(3) function.<br>
-+ Copyright (C) 1995-1997, 2000-2003 Free Software Foundation, Inc.<br>
- <br>
--This program is free software; you can redistribute it and/or modify<br>
--it under the terms of the GNU General Public License as published by<br>
--the Free Software Foundation; either version 2, or (at your option)<br>
--any later version.<br>
-+ This program is free software; you can redistribute it and/or modify it<br>
-+ under the terms of the GNU Library General Public License as published<br>
-+ by the Free Software Foundation; either version 2, or (at your option)<br>
-+ any later version.<br>
- <br>
--This program is distributed in the hope that it will be useful,<br>
--but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
--MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the<br>
--GNU General Public License for more details.<br>
-+ This program is distributed in the hope that it will be useful,<br>
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-+ Library General Public License for more details.<br>
- <br>
--You should have received a copy of the GNU General Public License<br>
--along with this program; if not, write to the Free Software<br>
--Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */<br>
-+ You should have received a copy of the GNU Library General Public<br>
-+ License along with this program; if not, write to the Free Software<br>
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,<br>
-+ USA. */<br>
- <br>
- #ifdef HAVE_CONFIG_H<br>
- # include <config.h><br>
- #endif<br>
- <br>
--#if defined HAVE_LOCALE_H || defined _LIBC<br>
--# include <locale.h><br>
--#endif<br>
-+#include "gettextP.h"<br>
-+<br>
-+#include <locale.h><br>
- <br>
- #ifdef _LIBC<br>
- # include <libintl.h><br>
- #else<br>
--# include "libgettext.h"<br>
-+# include "libgnuintl.h"<br>
- #endif<br>
- <br>
- /* @@ end of prolog @@ */<br>
-@@ -37,18 +38,16 @@<br>
- prefix. So we have to make a difference here. */<br>
- #ifdef _LIBC<br>
- # define DGETTEXT __dgettext<br>
--# define DCGETTEXT __dcgettext<br>
-+# define DCGETTEXT INTUSE(__dcgettext)<br>
- #else<br>
--# define DGETTEXT dgettext__<br>
--# define DCGETTEXT dcgettext__<br>
-+# define DGETTEXT libintl_dgettext<br>
-+# define DCGETTEXT libintl_dcgettext<br>
- #endif<br>
- <br>
- /* Look up MSGID in the DOMAINNAME message catalog of the current<br>
- LC_MESSAGES locale. */<br>
- char *<br>
--DGETTEXT (domainname, msgid)<br>
-- const char *domainname;<br>
-- const char *msgid;<br>
-+DGETTEXT (const char *domainname, const char *msgid)<br>
- {<br>
- return DCGETTEXT (domainname, msgid, LC_MESSAGES);<br>
- }<br>
---- lrzsz-0.12.20.safe/intl/dngettext.c 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/intl/dngettext.c 2004-09-12 14:40:34.385743528 -0400<br>
-@@ -0,0 +1,59 @@<br>
-+/* Implementation of the dngettext(3) function.<br>
-+ Copyright (C) 1995-1997, 2000-2003 Free Software Foundation, Inc.<br>
-+<br>
-+ This program is free software; you can redistribute it and/or modify it<br>
-+ under the terms of the GNU Library General Public License as published<br>
-+ by the Free Software Foundation; either version 2, or (at your option)<br>
-+ any later version.<br>
-+<br>
-+ This program is distributed in the hope that it will be useful,<br>
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-+ Library General Public License for more details.<br>
-+<br>
-+ You should have received a copy of the GNU Library General Public<br>
-+ License along with this program; if not, write to the Free Software<br>
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,<br>
-+ USA. */<br>
-+<br>
-+#ifdef HAVE_CONFIG_H<br>
-+# include <config.h><br>
-+#endif<br>
-+<br>
-+#include "gettextP.h"<br>
-+<br>
-+#include <locale.h><br>
-+<br>
-+#ifdef _LIBC<br>
-+# include <libintl.h><br>
-+#else<br>
-+# include "libgnuintl.h"<br>
-+#endif<br>
-+<br>
-+/* @@ end of prolog @@ */<br>
-+<br>
-+/* Names for the libintl functions are a problem. They must not clash<br>
-+ with existing names and they should follow ANSI C. But this source<br>
-+ code is also used in GNU C Library where the names have a __<br>
-+ prefix. So we have to make a difference here. */<br>
-+#ifdef _LIBC<br>
-+# define DNGETTEXT __dngettext<br>
-+# define DCNGETTEXT __dcngettext<br>
-+#else<br>
-+# define DNGETTEXT libintl_dngettext<br>
-+# define DCNGETTEXT libintl_dcngettext<br>
-+#endif<br>
-+<br>
-+/* Look up MSGID in the DOMAINNAME message catalog of the current<br>
-+ LC_MESSAGES locale and skip message according to the plural form. */<br>
-+char *<br>
-+DNGETTEXT (const char *domainname,<br>
-+ const char *msgid1, const char *msgid2, unsigned long int n)<br>
-+{<br>
-+ return DCNGETTEXT (domainname, msgid1, msgid2, n, LC_MESSAGES);<br>
-+}<br>
-+<br>
-+#ifdef _LIBC<br>
-+/* Alias for function name in GNU C Library. */<br>
-+weak_alias (__dngettext, dngettext);<br>
-+#endif<br>
---- lrzsz-0.12.20.safe/intl/eval-plural.h 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/intl/eval-plural.h 2004-09-12 14:40:34.390742768 -0400<br>
-@@ -0,0 +1,108 @@<br>
-+/* Plural expression evaluation.<br>
-+ Copyright (C) 2000-2003 Free Software Foundation, Inc.<br>
-+<br>
-+ This program is free software; you can redistribute it and/or modify it<br>
-+ under the terms of the GNU Library General Public License as published<br>
-+ by the Free Software Foundation; either version 2, or (at your option)<br>
-+ any later version.<br>
-+<br>
-+ This program is distributed in the hope that it will be useful,<br>
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-+ Library General Public License for more details.<br>
-+<br>
-+ You should have received a copy of the GNU Library General Public<br>
-+ License along with this program; if not, write to the Free Software<br>
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,<br>
-+ USA. */<br>
-+<br>
-+#ifndef STATIC<br>
-+#define STATIC static<br>
-+#endif<br>
-+<br>
-+/* Evaluate the plural expression and return an index value. */<br>
-+STATIC<br>
-+unsigned long int<br>
-+internal_function<br>
-+plural_eval (struct expression *pexp, unsigned long int n)<br>
-+{<br>
-+ switch (pexp->nargs)<br>
-+ {<br>
-+ case 0:<br>
-+ switch (pexp->operation)<br>
-+ {<br>
-+ case var:<br>
-+ return n;<br>
-+ case num:<br>
-+ return pexp->val.num;<br>
-+ default:<br>
-+ break;<br>
-+ }<br>
-+ /* NOTREACHED */<br>
-+ break;<br>
-+ case 1:<br>
-+ {<br>
-+ /* pexp->operation must be lnot. */<br>
-+ unsigned long int arg = plural_eval (pexp->val.args[0], n);<br>
-+ return ! arg;<br>
-+ }<br>
-+ case 2:<br>
-+ {<br>
-+ unsigned long int leftarg = plural_eval (pexp->val.args[0], n);<br>
-+ if (pexp->operation == lor)<br>
-+ return leftarg || plural_eval (pexp->val.args[1], n);<br>
-+ else if (pexp->operation == land)<br>
-+ return leftarg && plural_eval (pexp->val.args[1], n);<br>
-+ else<br>
-+ {<br>
-+ unsigned long int rightarg = plural_eval (pexp->val.args[1], n);<br>
-+<br>
-+ switch (pexp->operation)<br>
-+ {<br>
-+ case mult:<br>
-+ return leftarg * rightarg;<br>
-+ case divide:<br>
-+#if !INTDIV0_RAISES_SIGFPE<br>
-+ if (rightarg == 0)<br>
-+ raise (SIGFPE);<br>
-+#endif<br>
-+ return leftarg / rightarg;<br>
-+ case module:<br>
-+#if !INTDIV0_RAISES_SIGFPE<br>
-+ if (rightarg == 0)<br>
-+ raise (SIGFPE);<br>
-+#endif<br>
-+ return leftarg % rightarg;<br>
-+ case plus:<br>
-+ return leftarg + rightarg;<br>
-+ case minus:<br>
-+ return leftarg - rightarg;<br>
-+ case less_than:<br>
-+ return leftarg < rightarg;<br>
-+ case greater_than:<br>
-+ return leftarg > rightarg;<br>
-+ case less_or_equal:<br>
-+ return leftarg <= rightarg;<br>
-+ case greater_or_equal:<br>
-+ return leftarg >= rightarg;<br>
-+ case equal:<br>
-+ return leftarg == rightarg;<br>
-+ case not_equal:<br>
-+ return leftarg != rightarg;<br>
-+ default:<br>
-+ break;<br>
-+ }<br>
-+ }<br>
-+ /* NOTREACHED */<br>
-+ break;<br>
-+ }<br>
-+ case 3:<br>
-+ {<br>
-+ /* pexp->operation must be qmop. */<br>
-+ unsigned long int boolarg = plural_eval (pexp->val.args[0], n);<br>
-+ return plural_eval (pexp->val.args[boolarg ? 1 : 2], n);<br>
-+ }<br>
-+ }<br>
-+ /* NOTREACHED */<br>
-+ return 0;<br>
-+}<br>
---- lrzsz-0.12.20.safe/intl/explodename.c 1998-04-26 09:22:37.000000000 -0400<br>
-+++ lrzsz-0.12.20/intl/explodename.c 2004-09-12 14:40:34.395742008 -0400<br>
-@@ -1,19 +1,20 @@<br>
--/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.<br>
-+/* Copyright (C) 1995-1998, 2000-2001, 2003 Free Software Foundation, Inc.<br>
- Contributed by Ulrich Drepper <<a href="mailto:drepper@gnu.ai.mit.edu" target="_blank">drepper@gnu.ai.mit.edu</a>>, 1995.<br>
- <br>
-- This program is free software; you can redistribute it and/or modify<br>
-- it under the terms of the GNU General Public License as published by<br>
-- the Free Software Foundation; either version 2, or (at your option)<br>
-+ This program is free software; you can redistribute it and/or modify it<br>
-+ under the terms of the GNU Library General Public License as published<br>
-+ by the Free Software Foundation; either version 2, or (at your option)<br>
- any later version.<br>
- <br>
- This program is distributed in the hope that it will be useful,<br>
- but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the<br>
-- GNU General Public License for more details.<br>
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-+ Library General Public License for more details.<br>
- <br>
-- You should have received a copy of the GNU General Public License<br>
-- along with this program; if not, write to the Free Software Foundation,<br>
-- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */<br>
-+ You should have received a copy of the GNU Library General Public<br>
-+ License along with this program; if not, write to the Free Software<br>
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,<br>
-+ USA. */<br>
- <br>
- #ifdef HAVE_CONFIG_H<br>
- # include <config.h><br>
-@@ -36,18 +37,23 @@<br>
- <br>
- /* @@ end of prolog @@ */<br>
- <br>
-+char *<br>
-+_nl_find_language (const char *name)<br>
-+{<br>
-+ while (name[0] != '\0' && name[0] != '_' && name[0] != '@'<br>
-+ && name[0] != '+' && name[0] != ',')<br>
-+ ++name;<br>
-+<br>
-+ return (char *) name;<br>
-+}<br>
-+<br>
-+<br>
- int<br>
--_nl_explode_name (name, language, modifier, territory, codeset,<br>
-- normalized_codeset, special, sponsor, revision)<br>
-- char *name;<br>
-- const char **language;<br>
-- const char **modifier;<br>
-- const char **territory;<br>
-- const char **codeset;<br>
-- const char **normalized_codeset;<br>
-- const char **special;<br>
-- const char **sponsor;<br>
-- const char **revision;<br>
-+_nl_explode_name (char *name,<br>
-+ const char **language, const char **modifier,<br>
-+ const char **territory, const char **codeset,<br>
-+ const char **normalized_codeset, const char **special,<br>
-+ const char **sponsor, const char **revision)<br>
- {<br>
- enum { undecided, xpg, cen } syntax;<br>
- char *cp;<br>
-@@ -67,9 +73,7 @@<br>
- mask = 0;<br>
- syntax = undecided;<br>
- *language = cp = name;<br>
-- while (cp[0] != '\0' && cp[0] != '_' && cp[0] != '@'<br>
-- && cp[0] != '+' && cp[0] != ',')<br>
-- ++cp;<br>
-+ cp = _nl_find_language (*language);<br>
- <br>
- if (*language == cp)<br>
- /* This does not make sense: language has to be specified. Use<br>
---- lrzsz-0.12.20.safe/intl/finddomain.c 1998-04-26 09:22:36.000000000 -0400<br>
-+++ lrzsz-0.12.20/intl/finddomain.c 2004-09-12 14:40:34.415738968 -0400<br>
-@@ -1,64 +1,40 @@<br>
- /* Handle list of needed message catalogs<br>
-- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.<br>
-- Written by Ulrich Drepper <<a href="mailto:drepper@gnu.ai.mit.edu" target="_blank">drepper@gnu.ai.mit.edu</a>>, 1995.<br>
-+ Copyright (C) 1995-1999, 2000-2001, 2003 Free Software Foundation, Inc.<br>
-+ Written by Ulrich Drepper <<a href="mailto:drepper@gnu.org" target="_blank">drepper@gnu.org</a>>, 1995.<br>
- <br>
-- This program is free software; you can redistribute it and/or modify<br>
-- it under the terms of the GNU General Public License as published by<br>
-- the Free Software Foundation; either version 2, or (at your option)<br>
-+ This program is free software; you can redistribute it and/or modify it<br>
-+ under the terms of the GNU Library General Public License as published<br>
-+ by the Free Software Foundation; either version 2, or (at your option)<br>
- any later version.<br>
- <br>
- This program is distributed in the hope that it will be useful,<br>
- but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the<br>
-- GNU General Public License for more details.<br>
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-+ Library General Public License for more details.<br>
- <br>
-- You should have received a copy of the GNU General Public License<br>
-- along with this program; if not, write to the Free Software Foundation,<br>
-- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */<br>
-+ You should have received a copy of the GNU Library General Public<br>
-+ License along with this program; if not, write to the Free Software<br>
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,<br>
-+ USA. */<br>
- <br>
- #ifdef HAVE_CONFIG_H<br>
- # include <config.h><br>
- #endif<br>
- <br>
--#include <ctype.h><br>
--#include <errno.h><br>
- #include <stdio.h><br>
- #include <sys/types.h><br>
--<br>
--#if defined STDC_HEADERS || defined _LIBC<br>
--# include <stdlib.h><br>
--#else<br>
--# ifdef HAVE_MALLOC_H<br>
--# include <malloc.h><br>
--# else<br>
--void free ();<br>
--# endif<br>
--#endif<br>
--<br>
--#if defined HAVE_STRING_H || defined _LIBC<br>
--# include <string.h><br>
--#else<br>
--# include <strings.h><br>
--# ifndef memcpy<br>
--# define memcpy(Dst, Src, Num) bcopy (Src, Dst, Num)<br>
--# endif<br>
--#endif<br>
--#if !HAVE_STRCHR && !defined _LIBC<br>
--# ifndef strchr<br>
--# define strchr index<br>
--# endif<br>
--#endif<br>
-+#include <stdlib.h><br>
-+#include <string.h><br>
- <br>
- #if defined HAVE_UNISTD_H || defined _LIBC<br>
- # include <unistd.h><br>
- #endif<br>
- <br>
--#include "gettext.h"<br>
- #include "gettextP.h"<br>
- #ifdef _LIBC<br>
- # include <libintl.h><br>
- #else<br>
--# include "libgettext.h"<br>
-+# include "libgnuintl.h"<br>
- #endif<br>
- <br>
- /* @@ end of prolog @@ */<br>
-@@ -70,10 +46,9 @@<br>
- the DOMAINNAME and CATEGORY parameters with respect to the currently<br>
- established bindings. */<br>
- struct loaded_l10nfile *<br>
--_nl_find_domain (dirname, locale, domainname)<br>
-- const char *dirname;<br>
-- char *locale;<br>
-- const char *domainname;<br>
-+internal_function<br>
-+_nl_find_domain (const char *dirname, char *locale,<br>
-+ const char *domainname, struct binding *domainbinding)<br>
- {<br>
- struct loaded_l10nfile *retval;<br>
- const char *language;<br>
-@@ -95,9 +70,9 @@<br>
- <br>
- language[_territory][+audience][+special][,[sponsor][_revision]]<br>
- <br>
-- Beside the first all of them are allowed to be missing. If the<br>
-- full specified locale is not found, the less specific one are<br>
-- looked for. The various part will be stripped of according to<br>
-+ Beside the first part all of them are allowed to be missing. If<br>
-+ the full specified locale is not found, the less specific one are<br>
-+ looked for. The various parts will be stripped off according to<br>
- the following order:<br>
- (1) revision<br>
- (2) sponsor<br>
-@@ -119,7 +94,7 @@<br>
- int cnt;<br>
- <br>
- if (retval->decided == 0)<br>
-- _nl_load_domain (retval);<br>
-+ _nl_load_domain (retval, domainbinding);<br>
- <br>
- if (retval->data != NULL)<br>
- return retval;<br>
-@@ -127,7 +102,7 @@<br>
- for (cnt = 0; retval->successor[cnt] != NULL; ++cnt)<br>
- {<br>
- if (retval->successor[cnt]->decided == 0)<br>
-- _nl_load_domain (retval->successor[cnt]);<br>
-+ _nl_load_domain (retval->successor[cnt], domainbinding);<br>
- <br>
- if (retval->successor[cnt]->data != NULL)<br>
- break;<br>
-@@ -142,12 +117,18 @@<br>
- alias_value = _nl_expand_alias (locale);<br>
- if (alias_value != NULL)<br>
- {<br>
-+#if defined _LIBC || defined HAVE_STRDUP<br>
-+ locale = strdup (alias_value);<br>
-+ if (locale == NULL)<br>
-+ return NULL;<br>
-+#else<br>
- size_t len = strlen (alias_value) + 1;<br>
- locale = (char *) malloc (len);<br>
- if (locale == NULL)<br>
- return NULL;<br>
- <br>
- memcpy (locale, alias_value, len);<br>
-+#endif<br>
- }<br>
- <br>
- /* Now we determine the single parts of the locale name. First<br>
-@@ -168,14 +149,14 @@<br>
- return NULL;<br>
- <br>
- if (retval->decided == 0)<br>
-- _nl_load_domain (retval);<br>
-+ _nl_load_domain (retval, domainbinding);<br>
- if (retval->data == NULL)<br>
- {<br>
- int cnt;<br>
- for (cnt = 0; retval->successor[cnt] != NULL; ++cnt)<br>
- {<br>
- if (retval->successor[cnt]->decided == 0)<br>
-- _nl_load_domain (retval->successor[cnt]);<br>
-+ _nl_load_domain (retval->successor[cnt], domainbinding);<br>
- if (retval->successor[cnt]->data != NULL)<br>
- break;<br>
- }<br>
-@@ -185,5 +166,27 @@<br>
- if (alias_value != NULL)<br>
- free (locale);<br>
- <br>
-+ /* The space for normalized_codeset is dynamically allocated. Free it. */<br>
-+ if (mask & XPG_NORM_CODESET)<br>
-+ free ((void *) normalized_codeset);<br>
-+<br>
- return retval;<br>
- }<br>
-+<br>
-+<br>
-+#ifdef _LIBC<br>
-+libc_freeres_fn (free_mem)<br>
-+{<br>
-+ struct loaded_l10nfile *runp = _nl_loaded_domains;<br>
-+<br>
-+ while (runp != NULL)<br>
-+ {<br>
-+ struct loaded_l10nfile *here = runp;<br>
-+ if (runp->data != NULL)<br>
-+ _nl_unload_domain ((struct loaded_domain *) runp->data);<br>
-+ runp = runp->next;<br>
-+ free ((char *) here->filename);<br>
-+ free (here);<br>
-+ }<br>
-+}<br>
-+#endif<br>
---- lrzsz-0.12.20.safe/intl/gettext.c 1998-04-26 09:22:36.000000000 -0400<br>
-+++ lrzsz-0.12.20/intl/gettext.c 2004-09-12 14:40:34.420738208 -0400<br>
-@@ -1,19 +1,20 @@<br>
--/* Implementation of gettext(3) function<br>
-- Copyright (C) 1995, 1997 Free Software Foundation, Inc.<br>
-+/* Implementation of gettext(3) function.<br>
-+ Copyright (C) 1995, 1997, 2000-2003 Free Software Foundation, Inc.<br>
- <br>
-- This program is free software; you can redistribute it and/or modify<br>
-- it under the terms of the GNU General Public License as published by<br>
-- the Free Software Foundation; either version 2, or (at your option)<br>
-+ This program is free software; you can redistribute it and/or modify it<br>
-+ under the terms of the GNU Library General Public License as published<br>
-+ by the Free Software Foundation; either version 2, or (at your option)<br>
- any later version.<br>
- <br>
- This program is distributed in the hope that it will be useful,<br>
- but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the<br>
-- GNU General Public License for more details.<br>
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-+ Library General Public License for more details.<br>
- <br>
-- You should have received a copy of the GNU General Public License<br>
-- along with this program; if not, write to the Free Software Foundation,<br>
-- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */<br>
-+ You should have received a copy of the GNU Library General Public<br>
-+ License along with this program; if not, write to the Free Software<br>
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,<br>
-+ USA. */<br>
- <br>
- #ifdef HAVE_CONFIG_H<br>
- # include <config.h><br>
-@@ -23,21 +24,14 @@<br>
- # define __need_NULL<br>
- # include <stddef.h><br>
- #else<br>
--# ifdef STDC_HEADERS<br>
--# include <stdlib.h> /* Just for NULL. */<br>
--# else<br>
--# ifdef HAVE_STRING_H<br>
--# include <string.h><br>
--# else<br>
--# define NULL ((void *) 0)<br>
--# endif<br>
--# endif<br>
-+# include <stdlib.h> /* Just for NULL. */<br>
- #endif<br>
- <br>
-+#include "gettextP.h"<br>
- #ifdef _LIBC<br>
- # include <libintl.h><br>
- #else<br>
--# include "libgettext.h"<br>
-+# include "libgnuintl.h"<br>
- #endif<br>
- <br>
- /* @@ end of prolog @@ */<br>
-@@ -48,20 +42,19 @@<br>
- prefix. So we have to make a difference here. */<br>
- #ifdef _LIBC<br>
- # define GETTEXT __gettext<br>
--# define DGETTEXT __dgettext<br>
-+# define DCGETTEXT INTUSE(__dcgettext)<br>
- #else<br>
--# define GETTEXT gettext__<br>
--# define DGETTEXT dgettext__<br>
-+# define GETTEXT libintl_gettext<br>
-+# define DCGETTEXT libintl_dcgettext<br>
- #endif<br>
- <br>
- /* Look up MSGID in the current default message catalog for the current<br>
- LC_MESSAGES locale. If not found, returns MSGID itself (the default<br>
- text). */<br>
- char *<br>
--GETTEXT (msgid)<br>
-- const char *msgid;<br>
-+GETTEXT (const char *msgid)<br>
- {<br>
-- return DGETTEXT (NULL, msgid);<br>
-+ return DCGETTEXT (NULL, msgid, LC_MESSAGES);<br>
- }<br>
- <br>
- #ifdef _LIBC<br>
---- lrzsz-0.12.20.safe/intl/gettext.h 1998-04-26 09:22:35.000000000 -0400<br>
-+++ lrzsz-0.12.20/intl/gettext.h 1969-12-31 19:00:00.000000000 -0500<br>
-@@ -1,105 +0,0 @@<br>
--/* Internal header for GNU gettext internationalization functions<br>
-- Copyright (C) 1995, 1997 Free Software Foundation, Inc.<br>
--<br>
-- This program is free software; you can redistribute it and/or modify<br>
-- it under the terms of the GNU General Public License as published by<br>
-- the Free Software Foundation; either version 2, or (at your option)<br>
-- any later version.<br>
--<br>
-- This program is distributed in the hope that it will be useful,<br>
-- but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the<br>
-- GNU General Public License for more details.<br>
--<br>
-- You should have received a copy of the GNU Library General Public<br>
-- License along with the GNU C Library; see the file COPYING.LIB. If not,<br>
-- write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,<br>
-- Boston, MA 02111-1307, USA. */<br>
--<br>
--#ifndef _GETTEXT_H<br>
--#define _GETTEXT_H 1<br>
--<br>
--#include <stdio.h><br>
--<br>
--#if HAVE_LIMITS_H || _LIBC<br>
--# include <limits.h><br>
--#endif<br>
--<br>
--/* @@ end of prolog @@ */<br>
--<br>
--/* The magic number of the GNU message catalog format. */<br>
--#define _MAGIC 0x950412de<br>
--#define _MAGIC_SWAPPED 0xde120495<br>
--<br>
--/* Revision number of the currently used .mo (binary) file format. */<br>
--#define MO_REVISION_NUMBER 0<br>
--<br>
--/* The following contortions are an attempt to use the C preprocessor<br>
-- to determine an unsigned integral type that is 32 bits wide. An<br>
-- alternative approach is to use autoconf's AC_CHECK_SIZEOF macro, but<br>
-- doing that would require that the configure script compile and *run*<br>
-- the resulting executable. Locally running cross-compiled executables<br>
-- is usually not possible. */<br>
--<br>
--#if __STDC__<br>
--# define UINT_MAX_32_BITS 4294967295U<br>
--#else<br>
--# define UINT_MAX_32_BITS 0xFFFFFFFF<br>
--#endif<br>
--<br>
--/* If UINT_MAX isn't defined, assume it's a 32-bit type.<br>
-- This should be valid for all systems GNU cares about because<br>
-- that doesn't include 16-bit systems, and only modern systems<br>
-- (that certainly have <limits.h>) have 64+-bit integral types. */<br>
--<br>
--#ifndef UINT_MAX<br>
--# define UINT_MAX UINT_MAX_32_BITS<br>
--#endif<br>
--<br>
--#if UINT_MAX == UINT_MAX_32_BITS<br>
--typedef unsigned nls_uint32;<br>
--#else<br>
--# if USHRT_MAX == UINT_MAX_32_BITS<br>
--typedef unsigned short nls_uint32;<br>
--# else<br>
--# if ULONG_MAX == UINT_MAX_32_BITS<br>
--typedef unsigned long nls_uint32;<br>
--# else<br>
-- /* The following line is intended to throw an error. Using #error is<br>
-- not portable enough. */<br>
-- "Cannot determine unsigned 32-bit data type."<br>
--# endif<br>
--# endif<br>
--#endif<br>
--<br>
--<br>
--/* Header for binary .mo file format. */<br>
--struct mo_file_header<br>
--{<br>
-- /* The magic number. */<br>
-- nls_uint32 magic;<br>
-- /* The revision number of the file format. */<br>
-- nls_uint32 revision;<br>
-- /* The number of strings pairs. */<br>
-- nls_uint32 nstrings;<br>
-- /* Offset of table with start offsets of original strings. */<br>
-- nls_uint32 orig_tab_offset;<br>
-- /* Offset of table with start offsets of translation strings. */<br>
-- nls_uint32 trans_tab_offset;<br>
-- /* Size of hashing table. */<br>
-- nls_uint32 hash_tab_size;<br>
-- /* Offset of first hashing entry. */<br>
-- nls_uint32 hash_tab_offset;<br>
--};<br>
--<br>
--struct string_desc<br>
--{<br>
-- /* Length of addressed string. */<br>
-- nls_uint32 length;<br>
-- /* Offset of string in file. */<br>
-- nls_uint32 offset;<br>
--};<br>
--<br>
--/* @@ begin of epilog @@ */<br>
--<br>
--#endif /* gettext.h */<br>
---- lrzsz-0.12.20.safe/intl/gettextP.h 1998-04-26 09:22:35.000000000 -0400<br>
-+++ lrzsz-0.12.20/intl/gettextP.h 2004-09-12 14:40:34.426737296 -0400<br>
-@@ -1,33 +1,53 @@<br>
--/* Header describing internals of gettext library<br>
-- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.<br>
-+/* Header describing internals of libintl library.<br>
-+ Copyright (C) 1995-1999, 2000-2003 Free Software Foundation, Inc.<br>
-+ Written by Ulrich Drepper <<a href="mailto:drepper@cygnus.com" target="_blank">drepper@cygnus.com</a>>, 1995.<br>
- <br>
-- This program is free software; you can redistribute it and/or modify<br>
-- it under the terms of the GNU General Public License as published by<br>
-- the Free Software Foundation; either version 2, or (at your option)<br>
-+ This program is free software; you can redistribute it and/or modify it<br>
-+ under the terms of the GNU Library General Public License as published<br>
-+ by the Free Software Foundation; either version 2, or (at your option)<br>
- any later version.<br>
- <br>
- This program is distributed in the hope that it will be useful,<br>
- but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the<br>
-- GNU General Public License for more details.<br>
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-+ Library General Public License for more details.<br>
- <br>
-- You should have received a copy of the GNU General Public License<br>
-- along with this program; if not, write to the Free Software Foundation,<br>
-- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */<br>
-+ You should have received a copy of the GNU Library General Public<br>
-+ License along with this program; if not, write to the Free Software<br>
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,<br>
-+ USA. */<br>
- <br>
- #ifndef _GETTEXTP_H<br>
- #define _GETTEXTP_H<br>
- <br>
-+#include <stddef.h> /* Get size_t. */<br>
-+<br>
-+#ifdef _LIBC<br>
-+# include "../iconv/gconv_int.h"<br>
-+#else<br>
-+# if HAVE_ICONV<br>
-+# include <iconv.h><br>
-+# endif<br>
-+#endif<br>
-+<br>
- #include "loadinfo.h"<br>
- <br>
-+#include "gmo.h" /* Get nls_uint32. */<br>
-+<br>
- /* @@ end of prolog @@ */<br>
- <br>
--#ifndef PARAMS<br>
--# if __STDC__<br>
--# define PARAMS(args) args<br>
--# else<br>
--# define PARAMS(args) ()<br>
--# endif<br>
-+#ifndef internal_function<br>
-+# define internal_function<br>
-+#endif<br>
-+<br>
-+#ifndef attribute_hidden<br>
-+# define attribute_hidden<br>
-+#endif<br>
-+<br>
-+/* Tell the compiler when a conditional or integer expression is<br>
-+ almost always true or almost always false. */<br>
-+#ifndef HAVE_BUILTIN_EXPECT<br>
-+# define __builtin_expect(expr, val) (expr)<br>
- #endif<br>
- <br>
- #ifndef W<br>
-@@ -35,38 +55,160 @@<br>
- #endif<br>
- <br>
- <br>
--static nls_uint32 SWAP PARAMS ((nls_uint32 i));<br>
--<br>
-+#ifdef _LIBC<br>
-+# include <byteswap.h><br>
-+# define SWAP(i) bswap_32 (i)<br>
-+#else<br>
- static inline nls_uint32<br>
- SWAP (i)<br>
- nls_uint32 i;<br>
- {<br>
- return (i << 24) | ((i & 0xff00) << 8) | ((i >> 8) & 0xff00) | (i >> 24);<br>
- }<br>
-+#endif<br>
-+<br>
- <br>
-+/* In-memory representation of system dependent string. */<br>
-+struct sysdep_string_desc<br>
-+{<br>
-+ /* Length of addressed string, including the trailing NUL. */<br>
-+ size_t length;<br>
-+ /* Pointer to addressed string. */<br>
-+ const char *pointer;<br>
-+};<br>
- <br>
-+/* The representation of an opened message catalog. */<br>
- struct loaded_domain<br>
- {<br>
-+ /* Pointer to memory containing the .mo file. */<br>
- const char *data;<br>
-+ /* 1 if the memory is mmap()ed, 0 if the memory is malloc()ed. */<br>
-+ int use_mmap;<br>
-+ /* Size of mmap()ed memory. */<br>
-+ size_t mmap_size;<br>
-+ /* 1 if the .mo file uses a different endianness than this machine. */<br>
- int must_swap;<br>
-+ /* Pointer to additional malloc()ed memory. */<br>
-+ void *malloced;<br>
-+<br>
-+ /* Number of static strings pairs. */<br>
- nls_uint32 nstrings;<br>
-- struct string_desc *orig_tab;<br>
-- struct string_desc *trans_tab;<br>
-+ /* Pointer to descriptors of original strings in the file. */<br>
-+ const struct string_desc *orig_tab;<br>
-+ /* Pointer to descriptors of translated strings in the file. */<br>
-+ const struct string_desc *trans_tab;<br>
-+<br>
-+ /* Number of system dependent strings pairs. */<br>
-+ nls_uint32 n_sysdep_strings;<br>
-+ /* Pointer to descriptors of original sysdep strings. */<br>
-+ const struct sysdep_string_desc *orig_sysdep_tab;<br>
-+ /* Pointer to descriptors of translated sysdep strings. */<br>
-+ const struct sysdep_string_desc *trans_sysdep_tab;<br>
-+<br>
-+ /* Size of hash table. */<br>
- nls_uint32 hash_size;<br>
-- nls_uint32 *hash_tab;<br>
-+ /* Pointer to hash table. */<br>
-+ const nls_uint32 *hash_tab;<br>
-+ /* 1 if the hash table uses a different endianness than this machine. */<br>
-+ int must_swap_hash_tab;<br>
-+<br>
-+ int codeset_cntr;<br>
-+#ifdef _LIBC<br>
-+ __gconv_t conv;<br>
-+#else<br>
-+# if HAVE_ICONV<br>
-+ iconv_t conv;<br>
-+# endif<br>
-+#endif<br>
-+ char **conv_tab;<br>
-+<br>
-+ struct expression *plural;<br>
-+ unsigned long int nplurals;<br>
- };<br>
- <br>
-+/* We want to allocate a string at the end of the struct. But ISO C<br>
-+ doesn't allow zero sized arrays. */<br>
-+#ifdef __GNUC__<br>
-+# define ZERO 0<br>
-+#else<br>
-+# define ZERO 1<br>
-+#endif<br>
-+<br>
-+/* A set of settings bound to a message domain. Used to store settings<br>
-+ from bindtextdomain() and bind_textdomain_codeset(). */<br>
- struct binding<br>
- {<br>
- struct binding *next;<br>
-- char *domainname;<br>
- char *dirname;<br>
-+ int codeset_cntr; /* Incremented each time codeset changes. */<br>
-+ char *codeset;<br>
-+ char domainname[ZERO];<br>
- };<br>
- <br>
--struct loaded_l10nfile *_nl_find_domain PARAMS ((const char *__dirname,<br>
-- char *__locale,<br>
-- const char *__domainname));<br>
--void _nl_load_domain PARAMS ((struct loaded_l10nfile *__domain));<br>
-+/* A counter which is incremented each time some previous translations<br>
-+ become invalid.<br>
-+ This variable is part of the external ABI of the GNU libintl. */<br>
-+extern int _nl_msg_cat_cntr;<br>
-+<br>
-+#ifndef _LIBC<br>
-+const char *_nl_locale_name (int category, const char *categoryname);<br>
-+#endif<br>
-+<br>
-+struct loaded_l10nfile *_nl_find_domain (const char *__dirname, char *__locale,<br>
-+ const char *__domainname,<br>
-+ struct binding *__domainbinding)<br>
-+ internal_function;<br>
-+void _nl_load_domain (struct loaded_l10nfile *__domain,<br>
-+ struct binding *__domainbinding)<br>
-+ internal_function;<br>
-+void _nl_unload_domain (struct loaded_domain *__domain)<br>
-+ internal_function;<br>
-+const char *_nl_init_domain_conv (struct loaded_l10nfile *__domain_file,<br>
-+ struct loaded_domain *__domain,<br>
-+ struct binding *__domainbinding)<br>
-+ internal_function;<br>
-+void _nl_free_domain_conv (struct loaded_domain *__domain)<br>
-+ internal_function;<br>
-+<br>
-+char *_nl_find_msg (struct loaded_l10nfile *domain_file,<br>
-+ struct binding *domainbinding, const char *msgid,<br>
-+ size_t *lengthp)<br>
-+ internal_function;<br>
-+<br>
-+#ifdef _LIBC<br>
-+extern char *__gettext (const char *__msgid);<br>
-+extern char *__dgettext (const char *__domainname, const char *__msgid);<br>
-+extern char *__dcgettext (const char *__domainname, const char *__msgid,<br>
-+ int __category);<br>
-+extern char *__ngettext (const char *__msgid1, const char *__msgid2,<br>
-+ unsigned long int __n);<br>
-+extern char *__dngettext (const char *__domainname,<br>
-+ const char *__msgid1, const char *__msgid2,<br>
-+ unsigned long int n);<br>
-+extern char *__dcngettext (const char *__domainname,<br>
-+ const char *__msgid1, const char *__msgid2,<br>
-+ unsigned long int __n, int __category);<br>
-+extern char *__dcigettext (const char *__domainname,<br>
-+ const char *__msgid1, const char *__msgid2,<br>
-+ int __plural, unsigned long int __n,<br>
-+ int __category);<br>
-+extern char *__textdomain (const char *__domainname);<br>
-+extern char *__bindtextdomain (const char *__domainname,<br>
-+ const char *__dirname);<br>
-+extern char *__bind_textdomain_codeset (const char *__domainname,<br>
-+ const char *__codeset);<br>
-+#else<br>
-+/* Declare the exported libintl_* functions, in a way that allows us to<br>
-+ call them under their real name. */<br>
-+# undef _INTL_REDIRECT_INLINE<br>
-+# undef _INTL_REDIRECT_MACROS<br>
-+# define _INTL_REDIRECT_MACROS<br>
-+# include "libgnuintl.h"<br>
-+extern char *libintl_dcigettext (const char *__domainname,<br>
-+ const char *__msgid1, const char *__msgid2,<br>
-+ int __plural, unsigned long int __n,<br>
-+ int __category);<br>
-+#endif<br>
- <br>
- /* @@ begin of epilog @@ */<br>
- <br>
---- lrzsz-0.12.20.safe/intl/gmo.h 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/intl/gmo.h 2004-09-12 14:40:34.431736536 -0400<br>
-@@ -0,0 +1,149 @@<br>
-+/* Description of GNU message catalog format: general file layout.<br>
-+ Copyright (C) 1995, 1997, 2000-2002, 2004 Free Software Foundation, Inc.<br>
-+<br>
-+ This program is free software; you can redistribute it and/or modify it<br>
-+ under the terms of the GNU Library General Public License as published<br>
-+ by the Free Software Foundation; either version 2, or (at your option)<br>
-+ any later version.<br>
-+<br>
-+ This program is distributed in the hope that it will be useful,<br>
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-+ Library General Public License for more details.<br>
-+<br>
-+ You should have received a copy of the GNU Library General Public<br>
-+ License along with this program; if not, write to the Free Software<br>
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,<br>
-+ USA. */<br>
-+<br>
-+#ifndef _GETTEXT_H<br>
-+#define _GETTEXT_H 1<br>
-+<br>
-+#include <limits.h><br>
-+<br>
-+/* @@ end of prolog @@ */<br>
-+<br>
-+/* The magic number of the GNU message catalog format. */<br>
-+#define _MAGIC 0x950412de<br>
-+#define _MAGIC_SWAPPED 0xde120495<br>
-+<br>
-+/* Revision number of the currently used .mo (binary) file format. */<br>
-+#define MO_REVISION_NUMBER 0<br>
-+#define MO_REVISION_NUMBER_WITH_SYSDEP_I 1<br>
-+<br>
-+/* The following contortions are an attempt to use the C preprocessor<br>
-+ to determine an unsigned integral type that is 32 bits wide. An<br>
-+ alternative approach is to use autoconf's AC_CHECK_SIZEOF macro, but<br>
-+ as of version autoconf-2.13, the AC_CHECK_SIZEOF macro doesn't work<br>
-+ when cross-compiling. */<br>
-+<br>
-+#if __STDC__<br>
-+# define UINT_MAX_32_BITS 4294967295U<br>
-+#else<br>
-+# define UINT_MAX_32_BITS 0xFFFFFFFF<br>
-+#endif<br>
-+<br>
-+/* If UINT_MAX isn't defined, assume it's a 32-bit type.<br>
-+ This should be valid for all systems GNU cares about because<br>
-+ that doesn't include 16-bit systems, and only modern systems<br>
-+ (that certainly have <limits.h>) have 64+-bit integral types. */<br>
-+<br>
-+#ifndef UINT_MAX<br>
-+# define UINT_MAX UINT_MAX_32_BITS<br>
-+#endif<br>
-+<br>
-+#if UINT_MAX == UINT_MAX_32_BITS<br>
-+typedef unsigned nls_uint32;<br>
-+#else<br>
-+# if USHRT_MAX == UINT_MAX_32_BITS<br>
-+typedef unsigned short nls_uint32;<br>
-+# else<br>
-+# if ULONG_MAX == UINT_MAX_32_BITS<br>
-+typedef unsigned long nls_uint32;<br>
-+# else<br>
-+ /* The following line is intended to throw an error. Using #error is<br>
-+ not portable enough. */<br>
-+ "Cannot determine unsigned 32-bit data type."<br>
-+# endif<br>
-+# endif<br>
-+#endif<br>
-+<br>
-+<br>
-+/* Header for binary .mo file format. */<br>
-+struct mo_file_header<br>
-+{<br>
-+ /* The magic number. */<br>
-+ nls_uint32 magic;<br>
-+ /* The revision number of the file format. */<br>
-+ nls_uint32 revision;<br>
-+<br>
-+ /* The following are only used in .mo files with major revision 0 or 1. */<br>
-+<br>
-+ /* The number of strings pairs. */<br>
-+ nls_uint32 nstrings;<br>
-+ /* Offset of table with start offsets of original strings. */<br>
-+ nls_uint32 orig_tab_offset;<br>
-+ /* Offset of table with start offsets of translated strings. */<br>
-+ nls_uint32 trans_tab_offset;<br>
-+ /* Size of hash table. */<br>
-+ nls_uint32 hash_tab_size;<br>
-+ /* Offset of first hash table entry. */<br>
-+ nls_uint32 hash_tab_offset;<br>
-+<br>
-+ /* The following are only used in .mo files with minor revision >= 1. */<br>
-+<br>
-+ /* The number of system dependent segments. */<br>
-+ nls_uint32 n_sysdep_segments;<br>
-+ /* Offset of table describing system dependent segments. */<br>
-+ nls_uint32 sysdep_segments_offset;<br>
-+ /* The number of system dependent strings pairs. */<br>
-+ nls_uint32 n_sysdep_strings;<br>
-+ /* Offset of table with start offsets of original sysdep strings. */<br>
-+ nls_uint32 orig_sysdep_tab_offset;<br>
-+ /* Offset of table with start offsets of translated sysdep strings. */<br>
-+ nls_uint32 trans_sysdep_tab_offset;<br>
-+};<br>
-+<br>
-+/* Descriptor for static string contained in the binary .mo file. */<br>
-+struct string_desc<br>
-+{<br>
-+ /* Length of addressed string, not including the trailing NUL. */<br>
-+ nls_uint32 length;<br>
-+ /* Offset of string in file. */<br>
-+ nls_uint32 offset;<br>
-+};<br>
-+<br>
-+/* The following are only used in .mo files with minor revision >= 1. */<br>
-+<br>
-+/* Descriptor for system dependent string segment. */<br>
-+struct sysdep_segment<br>
-+{<br>
-+ /* Length of addressed string, including the trailing NUL. */<br>
-+ nls_uint32 length;<br>
-+ /* Offset of string in file. */<br>
-+ nls_uint32 offset;<br>
-+};<br>
-+<br>
-+/* Descriptor for system dependent string. */<br>
-+struct sysdep_string<br>
-+{<br>
-+ /* Offset of static string segments in file. */<br>
-+ nls_uint32 offset;<br>
-+ /* Alternating sequence of static and system dependent segments.<br>
-+ The last segment is a static segment, including the trailing NUL. */<br>
-+ struct segment_pair<br>
-+ {<br>
-+ /* Size of static segment. */<br>
-+ nls_uint32 segsize;<br>
-+ /* Reference to system dependent string segment, or ~0 at the end. */<br>
-+ nls_uint32 sysdepref;<br>
-+ } segments[1];<br>
-+};<br>
-+<br>
-+/* Marker for the end of the segments[] array. This has the value 0xFFFFFFFF,<br>
-+ regardless whether 'int' is 16 bit, 32 bit, or 64 bit. */<br>
-+#define SEGMENTS_END ((nls_uint32) ~0)<br>
-+<br>
-+/* @@ begin of epilog @@ */<br>
-+<br>
-+#endif /* gettext.h */<br>
---- lrzsz-0.12.20.safe/intl/hash-string.h 1998-04-26 09:22:36.000000000 -0400<br>
-+++ lrzsz-0.12.20/intl/hash-string.h 2004-09-12 14:40:34.436735776 -0400<br>
-@@ -1,35 +1,23 @@<br>
--/* Implements a string hashing function.<br>
-- Copyright (C) 1995, 1997 Free Software Foundation, Inc.<br>
-+/* Description of GNU message catalog format: string hashing function.<br>
-+ Copyright (C) 1995, 1997-1998, 2000-2003 Free Software Foundation, Inc.<br>
- <br>
-- This program is free software; you can redistribute it and/or modify<br>
-- it under the terms of the GNU General Public License as published by<br>
-- the Free Software Foundation; either version 2, or (at your option)<br>
-+ This program is free software; you can redistribute it and/or modify it<br>
-+ under the terms of the GNU Library General Public License as published<br>
-+ by the Free Software Foundation; either version 2, or (at your option)<br>
- any later version.<br>
- <br>
- This program is distributed in the hope that it will be useful,<br>
- but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the<br>
-- GNU General Public License for more details.<br>
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-+ Library General Public License for more details.<br>
- <br>
- You should have received a copy of the GNU Library General Public<br>
-- License along with the GNU C Library; see the file COPYING.LIB. If not,<br>
-- write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,<br>
-- Boston, MA 02111-1307, USA. */<br>
--<br>
--#ifdef HAVE_VALUES_H<br>
--# include <values.h><br>
--#endif<br>
-+ License along with this program; if not, write to the Free Software<br>
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,<br>
-+ USA. */<br>
- <br>
- /* @@ end of prolog @@ */<br>
- <br>
--#ifndef PARAMS<br>
--# if __STDC__<br>
--# define PARAMS(Args) Args<br>
--# else<br>
--# define PARAMS(Args) ()<br>
--# endif<br>
--#endif<br>
--<br>
- /* We assume to have `unsigned long int' value with at least 32 bits. */<br>
- #define HASHWORDBITS 32<br>
- <br>
-@@ -37,11 +25,8 @@<br>
- /* Defines the so called `hashpjw' function by P.J. Weinberger<br>
- [see Aho/Sethi/Ullman, COMPILERS: Principles, Techniques and Tools,<br>
- 1986, 1987 Bell Telephone Laboratories, Inc.] */<br>
--static unsigned long hash_string PARAMS ((const char *__str_param));<br>
--<br>
--static inline unsigned long<br>
--hash_string (str_param)<br>
-- const char *str_param;<br>
-+static inline unsigned long int<br>
-+hash_string (const char *str_param)<br>
- {<br>
- unsigned long int hval, g;<br>
- const char *str = str_param;<br>
-@@ -51,8 +36,8 @@<br>
- while (*str != '\0')<br>
- {<br>
- hval <<= 4;<br>
-- hval += (unsigned long) *str++;<br>
-- g = hval & ((unsigned long) 0xf << (HASHWORDBITS - 4));<br>
-+ hval += (unsigned char) *str++;<br>
-+ g = hval & ((unsigned long int) 0xf << (HASHWORDBITS - 4));<br>
- if (g != 0)<br>
- {<br>
- hval ^= g >> (HASHWORDBITS - 8);<br>
---- lrzsz-0.12.20.safe/intl/intl-compat.c 1998-04-26 09:20:52.000000000 -0400<br>
-+++ lrzsz-0.12.20/intl/intl-compat.c 2004-09-12 14:40:34.441735016 -0400<br>
-@@ -1,76 +1,131 @@<br>
- /* intl-compat.c - Stub functions to call gettext functions from GNU gettext<br>
- Library.<br>
-- Copyright (C) 1995 Software Foundation, Inc.<br>
-+ Copyright (C) 1995, 2000-2003 Software Foundation, Inc.<br>
- <br>
--This program is free software; you can redistribute it and/or modify<br>
--it under the terms of the GNU General Public License as published by<br>
--the Free Software Foundation; either version 2, or (at your option)<br>
--any later version.<br>
-+ This program is free software; you can redistribute it and/or modify it<br>
-+ under the terms of the GNU Library General Public License as published<br>
-+ by the Free Software Foundation; either version 2, or (at your option)<br>
-+ any later version.<br>
- <br>
--This program is distributed in the hope that it will be useful,<br>
--but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
--MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the<br>
--GNU General Public License for more details.<br>
-+ This program is distributed in the hope that it will be useful,<br>
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-+ Library General Public License for more details.<br>
- <br>
--You should have received a copy of the GNU General Public License<br>
--along with this program; if not, write to the Free Software<br>
--Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */<br>
-+ You should have received a copy of the GNU Library General Public<br>
-+ License along with this program; if not, write to the Free Software<br>
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,<br>
-+ USA. */<br>
- <br>
- #ifdef HAVE_CONFIG_H<br>
- # include <config.h><br>
- #endif<br>
- <br>
--#include "libgettext.h"<br>
-+#include "gettextP.h"<br>
- <br>
- /* @@ end of prolog @@ */<br>
- <br>
-+/* This file redirects the gettext functions (without prefix) to those<br>
-+ defined in the included GNU libintl library (with "libintl_" prefix).<br>
-+ It is compiled into libintl in order to make the AM_GNU_GETTEXT test<br>
-+ of gettext <= 0.11.2 work with the libintl library >= 0.11.3 which<br>
-+ has the redirections primarily in the <libintl.h> include file.<br>
-+ It is also compiled into libgnuintl so that libgnuintl.so can be used<br>
-+ as LD_PRELOADable library on glibc systems, to provide the extra<br>
-+ features that the functions in the libc don't have (namely, logging). */<br>
-+<br>
- <br>
- #undef gettext<br>
- #undef dgettext<br>
- #undef dcgettext<br>
-+#undef ngettext<br>
-+#undef dngettext<br>
-+#undef dcngettext<br>
- #undef textdomain<br>
- #undef bindtextdomain<br>
-+#undef bind_textdomain_codeset<br>
-+<br>
-+<br>
-+/* When building a DLL, we must export some functions. Note that because<br>
-+ the functions are only defined for binary backward compatibility, we<br>
-+ don't need to use __declspec(dllimport) in any case. */<br>
-+#if defined _MSC_VER && BUILDING_DLL<br>
-+# define DLL_EXPORTED __declspec(dllexport)<br>
-+#else<br>
-+# define DLL_EXPORTED<br>
-+#endif<br>
- <br>
- <br>
-+DLL_EXPORTED<br>
- char *<br>
--bindtextdomain (domainname, dirname)<br>
-- const char *domainname;<br>
-- const char *dirname;<br>
-+gettext (const char *msgid)<br>
- {<br>
-- return bindtextdomain__ (domainname, dirname);<br>
-+ return libintl_gettext (msgid);<br>
- }<br>
- <br>
- <br>
-+DLL_EXPORTED<br>
- char *<br>
--dcgettext (domainname, msgid, category)<br>
-- const char *domainname;<br>
-- const char *msgid;<br>
-- int category;<br>
-+dgettext (const char *domainname, const char *msgid)<br>
- {<br>
-- return dcgettext__ (domainname, msgid, category);<br>
-+ return libintl_dgettext (domainname, msgid);<br>
- }<br>
- <br>
- <br>
-+DLL_EXPORTED<br>
- char *<br>
--dgettext (domainname, msgid)<br>
-- const char *domainname;<br>
-- const char *msgid;<br>
-+dcgettext (const char *domainname, const char *msgid, int category)<br>
- {<br>
-- return dgettext__ (domainname, msgid);<br>
-+ return libintl_dcgettext (domainname, msgid, category);<br>
- }<br>
- <br>
- <br>
-+DLL_EXPORTED<br>
- char *<br>
--gettext (msgid)<br>
-- const char *msgid;<br>
-+ngettext (const char *msgid1, const char *msgid2, unsigned long int n)<br>
- {<br>
-- return gettext__ (msgid);<br>
-+ return libintl_ngettext (msgid1, msgid2, n);<br>
- }<br>
- <br>
- <br>
-+DLL_EXPORTED<br>
- char *<br>
--textdomain (domainname)<br>
-- const char *domainname;<br>
-+dngettext (const char *domainname,<br>
-+ const char *msgid1, const char *msgid2, unsigned long int n)<br>
- {<br>
-- return textdomain__ (domainname);<br>
-+ return libintl_dngettext (domainname, msgid1, msgid2, n);<br>
-+}<br>
-+<br>
-+<br>
-+DLL_EXPORTED<br>
-+char *<br>
-+dcngettext (const char *domainname,<br>
-+ const char *msgid1, const char *msgid2, unsigned long int n,<br>
-+ int category)<br>
-+{<br>
-+ return libintl_dcngettext (domainname, msgid1, msgid2, n, category);<br>
-+}<br>
-+<br>
-+<br>
-+DLL_EXPORTED<br>
-+char *<br>
-+textdomain (const char *domainname)<br>
-+{<br>
-+ return libintl_textdomain (domainname);<br>
-+}<br>
-+<br>
-+<br>
-+DLL_EXPORTED<br>
-+char *<br>
-+bindtextdomain (const char *domainname, const char *dirname)<br>
-+{<br>
-+ return libintl_bindtextdomain (domainname, dirname);<br>
-+}<br>
-+<br>
-+<br>
-+DLL_EXPORTED<br>
-+char *<br>
-+bind_textdomain_codeset (const char *domainname, const char *codeset)<br>
-+{<br>
-+ return libintl_bind_textdomain_codeset (domainname, codeset);<br>
- }<br>
---- lrzsz-0.12.20.safe/intl/l10nflist.c 1998-04-26 09:22:37.000000000 -0400<br>
-+++ lrzsz-0.12.20/intl/l10nflist.c 2004-09-12 14:40:34.457732584 -0400<br>
-@@ -1,52 +1,40 @@<br>
--/* Handle list of needed message catalogs<br>
-- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.<br>
-- Written by Ulrich Drepper <<a href="mailto:drepper@gnu.ai.mit.edu" target="_blank">drepper@gnu.ai.mit.edu</a>>, 1995.<br>
-+/* Copyright (C) 1995-1999, 2000-2003 Free Software Foundation, Inc.<br>
-+ Contributed by Ulrich Drepper <<a href="mailto:drepper@gnu.ai.mit.edu" target="_blank">drepper@gnu.ai.mit.edu</a>>, 1995.<br>
- <br>
-- This program is free software; you can redistribute it and/or modify<br>
-- it under the terms of the GNU General Public License as published by<br>
-- the Free Software Foundation; either version 2, or (at your option)<br>
-+ This program is free software; you can redistribute it and/or modify it<br>
-+ under the terms of the GNU Library General Public License as published<br>
-+ by the Free Software Foundation; either version 2, or (at your option)<br>
- any later version.<br>
- <br>
- This program is distributed in the hope that it will be useful,<br>
- but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the<br>
-- GNU General Public License for more details.<br>
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-+ Library General Public License for more details.<br>
- <br>
-- You should have received a copy of the GNU General Public License<br>
-- along with this program; if not, write to the Free Software Foundation,<br>
-- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */<br>
-+ You should have received a copy of the GNU Library General Public<br>
-+ License along with this program; if not, write to the Free Software<br>
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,<br>
-+ USA. */<br>
-+<br>
-+/* Tell glibc's <string.h> to provide a prototype for stpcpy().<br>
-+ This must come before <config.h> because <config.h> may include<br>
-+ <features.h>, and once <features.h> has been included, it's too late. */<br>
-+#ifndef _GNU_SOURCE<br>
-+# define _GNU_SOURCE 1<br>
-+#endif<br>
- <br>
- #ifdef HAVE_CONFIG_H<br>
- # include <config.h><br>
- #endif<br>
- <br>
--<br>
--#if defined HAVE_STRING_H || defined _LIBC<br>
--# ifndef _GNU_SOURCE<br>
--# define _GNU_SOURCE 1<br>
--# endif<br>
--# include <string.h><br>
--#else<br>
--# include <strings.h><br>
--# ifndef memcpy<br>
--# define memcpy(Dst, Src, Num) bcopy (Src, Dst, Num)<br>
--# endif<br>
--#endif<br>
--#if !HAVE_STRCHR && !defined _LIBC<br>
--# ifndef strchr<br>
--# define strchr index<br>
--# endif<br>
--#endif<br>
-+#include <string.h><br>
- <br>
- #if defined _LIBC || defined HAVE_ARGZ_H<br>
- # include <argz.h><br>
- #endif<br>
- #include <ctype.h><br>
- #include <sys/types.h><br>
--<br>
--#if defined STDC_HEADERS || defined _LIBC<br>
--# include <stdlib.h><br>
--#endif<br>
-+#include <stdlib.h><br>
- <br>
- #include "loadinfo.h"<br>
- <br>
-@@ -65,23 +53,39 @@<br>
- /* Rename the non ANSI C functions. This is required by the standard<br>
- because some ANSI C functions will require linking with this object<br>
- file and the name space must not be polluted. */<br>
--# define stpcpy(dest, src) __stpcpy(dest, src)<br>
-+# ifndef stpcpy<br>
-+# define stpcpy(dest, src) __stpcpy(dest, src)<br>
-+# endif<br>
- #else<br>
- # ifndef HAVE_STPCPY<br>
--static char *stpcpy PARAMS ((char *dest, const char *src));<br>
-+static char *stpcpy (char *dest, const char *src);<br>
- # endif<br>
- #endif<br>
- <br>
-+/* Pathname support.<br>
-+ ISSLASH(C) tests whether C is a directory separator character.<br>
-+ IS_ABSOLUTE_PATH(P) tests whether P is an absolute path. If it is not,<br>
-+ it may be concatenated to a directory pathname.<br>
-+ */<br>
-+#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__<br>
-+ /* Win32, OS/2, DOS */<br>
-+# define ISSLASH(C) ((C) == '/' || (C) == '\\')<br>
-+# define HAS_DEVICE(P) \<br>
-+ ((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \<br>
-+ && (P)[1] == ':')<br>
-+# define IS_ABSOLUTE_PATH(P) (ISSLASH ((P)[0]) || HAS_DEVICE (P))<br>
-+#else<br>
-+ /* Unix */<br>
-+# define ISSLASH(C) ((C) == '/')<br>
-+# define IS_ABSOLUTE_PATH(P) ISSLASH ((P)[0])<br>
-+#endif<br>
-+<br>
- /* Define function which are usually not available. */<br>
- <br>
- #if !defined _LIBC && !defined HAVE___ARGZ_COUNT<br>
- /* Returns the number of strings in ARGZ. */<br>
--static size_t argz_count__ PARAMS ((const char *argz, size_t len));<br>
--<br>
- static size_t<br>
--argz_count__ (argz, len)<br>
-- const char *argz;<br>
-- size_t len;<br>
-+argz_count__ (const char *argz, size_t len)<br>
- {<br>
- size_t count = 0;<br>
- while (len > 0)<br>
-@@ -95,18 +99,17 @@<br>
- }<br>
- # undef __argz_count<br>
- # define __argz_count(argz, len) argz_count__ (argz, len)<br>
-+#else<br>
-+# ifdef _LIBC<br>
-+# define __argz_count(argz, len) INTUSE(__argz_count) (argz, len)<br>
-+# endif<br>
- #endif /* !_LIBC && !HAVE___ARGZ_COUNT */<br>
- <br>
- #if !defined _LIBC && !defined HAVE___ARGZ_STRINGIFY<br>
- /* Make '\0' separated arg vector ARGZ printable by converting all the '\0's<br>
- except the last into the character SEP. */<br>
--static void argz_stringify__ PARAMS ((char *argz, size_t len, int sep));<br>
--<br>
- static void<br>
--argz_stringify__ (argz, len, sep)<br>
-- char *argz;<br>
-- size_t len;<br>
-- int sep;<br>
-+argz_stringify__ (char *argz, size_t len, int sep)<br>
- {<br>
- while (len > 0)<br>
- {<br>
-@@ -119,17 +122,16 @@<br>
- }<br>
- # undef __argz_stringify<br>
- # define __argz_stringify(argz, len, sep) argz_stringify__ (argz, len, sep)<br>
-+#else<br>
-+# ifdef _LIBC<br>
-+# define __argz_stringify(argz, len, sep) \<br>
-+ INTUSE(__argz_stringify) (argz, len, sep)<br>
-+# endif<br>
- #endif /* !_LIBC && !HAVE___ARGZ_STRINGIFY */<br>
- <br>
- #if !defined _LIBC && !defined HAVE___ARGZ_NEXT<br>
--static char *argz_next__ PARAMS ((char *argz, size_t argz_len,<br>
-- const char *entry));<br>
--<br>
- static char *<br>
--argz_next__ (argz, argz_len, entry)<br>
-- char *argz;<br>
-- size_t argz_len;<br>
-- const char *entry;<br>
-+argz_next__ (char *argz, size_t argz_len, const char *entry)<br>
- {<br>
- if (entry)<br>
- {<br>
-@@ -150,11 +152,8 @@<br>
- <br>
- <br>
- /* Return number of bits set in X. */<br>
--static int pop PARAMS ((int x));<br>
--<br>
- static inline int<br>
--pop (x)<br>
-- int x;<br>
-+pop (int x)<br>
- {<br>
- /* We assume that no more than 16 bits are used. */<br>
- x = ((x & ~0x5555) >> 1) + (x & 0x5555);<br>
-@@ -167,31 +166,27 @@<br>
- <br>
- <br>
- struct loaded_l10nfile *<br>
--_nl_make_l10nflist (l10nfile_list, dirlist, dirlist_len, mask, language,<br>
-- territory, codeset, normalized_codeset, modifier, special,<br>
-- sponsor, revision, filename, do_allocate)<br>
-- struct loaded_l10nfile **l10nfile_list;<br>
-- const char *dirlist;<br>
-- size_t dirlist_len;<br>
-- int mask;<br>
-- const char *language;<br>
-- const char *territory;<br>
-- const char *codeset;<br>
-- const char *normalized_codeset;<br>
-- const char *modifier;<br>
-- const char *special;<br>
-- const char *sponsor;<br>
-- const char *revision;<br>
-- const char *filename;<br>
-- int do_allocate;<br>
-+_nl_make_l10nflist (struct loaded_l10nfile **l10nfile_list,<br>
-+ const char *dirlist, size_t dirlist_len,<br>
-+ int mask, const char *language, const char *territory,<br>
-+ const char *codeset, const char *normalized_codeset,<br>
-+ const char *modifier, const char *special,<br>
-+ const char *sponsor, const char *revision,<br>
-+ const char *filename, int do_allocate)<br>
- {<br>
- char *abs_filename;<br>
-- struct loaded_l10nfile *last = NULL;<br>
-+ struct loaded_l10nfile **lastp;<br>
- struct loaded_l10nfile *retval;<br>
- char *cp;<br>
-+ size_t dirlist_count;<br>
- size_t entries;<br>
- int cnt;<br>
- <br>
-+ /* If LANGUAGE contains an absolute directory specification, we ignore<br>
-+ DIRLIST. */<br>
-+ if (IS_ABSOLUTE_PATH (language))<br>
-+ dirlist_len = 0;<br>
-+<br>
- /* Allocate room for the full file name. */<br>
- abs_filename = (char *) malloc (dirlist_len<br>
- + strlen (language)<br>
-@@ -209,7 +204,7 @@<br>
- + (((mask & CEN_SPONSOR) != 0<br>
- || (mask & CEN_REVISION) != 0)<br>
- ? (1 + ((mask & CEN_SPONSOR) != 0<br>
-- ? strlen (sponsor) + 1 : 0)<br>
-+ ? strlen (sponsor) : 0)<br>
- + ((mask & CEN_REVISION) != 0<br>
- ? strlen (revision) + 1 : 0)) : 0)<br>
- + 1 + strlen (filename) + 1);<br>
-@@ -217,14 +212,16 @@<br>
- if (abs_filename == NULL)<br>
- return NULL;<br>
- <br>
-- retval = NULL;<br>
-- last = NULL;<br>
--<br>
- /* Construct file name. */<br>
-- memcpy (abs_filename, dirlist, dirlist_len);<br>
-- __argz_stringify (abs_filename, dirlist_len, ':');<br>
-- cp = abs_filename + (dirlist_len - 1);<br>
-- *cp++ = '/';<br>
-+ cp = abs_filename;<br>
-+ if (dirlist_len > 0)<br>
-+ {<br>
-+ memcpy (cp, dirlist, dirlist_len);<br>
-+ __argz_stringify (cp, dirlist_len, PATH_SEPARATOR);<br>
-+ cp += dirlist_len;<br>
-+ cp[-1] = '/';<br>
-+ }<br>
-+<br>
- cp = stpcpy (cp, language);<br>
- <br>
- if ((mask & TERRITORY) != 0)<br>
-@@ -271,7 +268,7 @@<br>
- <br>
- /* Look in list of already loaded domains whether it is already<br>
- available. */<br>
-- last = NULL;<br>
-+ lastp = l10nfile_list;<br>
- for (retval = *l10nfile_list; retval != NULL; retval = retval->next)<br>
- if (retval->filename != NULL)<br>
- {<br>
-@@ -286,7 +283,7 @@<br>
- break;<br>
- }<br>
- <br>
-- last = retval;<br>
-+ lastp = &retval->next;<br>
- }<br>
- <br>
- if (retval != NULL || do_allocate == 0)<br>
-@@ -295,48 +292,66 @@<br>
- return retval;<br>
- }<br>
- <br>
-- retval = (struct loaded_l10nfile *)<br>
-- malloc (sizeof (*retval) + (__argz_count (dirlist, dirlist_len)<br>
-- * (1 << pop (mask))<br>
-- * sizeof (struct loaded_l10nfile *)));<br>
-+ dirlist_count = (dirlist_len > 0 ? __argz_count (dirlist, dirlist_len) : 1);<br>
-+<br>
-+ /* Allocate a new loaded_l10nfile. */<br>
-+ retval =<br>
-+ (struct loaded_l10nfile *)<br>
-+ malloc (sizeof (*retval)<br>
-+ + (((dirlist_count << pop (mask)) + (dirlist_count > 1 ? 1 : 0))<br>
-+ * sizeof (struct loaded_l10nfile *)));<br>
- if (retval == NULL)<br>
- return NULL;<br>
- <br>
- retval->filename = abs_filename;<br>
-- retval->decided = (__argz_count (dirlist, dirlist_len) != 1<br>
-+<br>
-+ /* We set retval->data to NULL here; it is filled in later.<br>
-+ Setting retval->decided to 1 here means that retval does not<br>
-+ correspond to a real file (dirlist_count > 1) or is not worth<br>
-+ looking up (if an unnormalized codeset was specified). */<br>
-+ retval->decided = (dirlist_count > 1<br>
- || ((mask & XPG_CODESET) != 0<br>
- && (mask & XPG_NORM_CODESET) != 0));<br>
- retval->data = NULL;<br>
- <br>
-- if (last == NULL)<br>
-- {<br>
-- retval->next = *l10nfile_list;<br>
-- *l10nfile_list = retval;<br>
-- }<br>
-- else<br>
-- {<br>
-- retval->next = last->next;<br>
-- last->next = retval;<br>
-- }<br>
-+ retval->next = *lastp;<br>
-+ *lastp = retval;<br>
- <br>
- entries = 0;<br>
-- /* If the DIRLIST is a real list the RETVAL entry corresponds not to<br>
-- a real file. So we have to use the DIRLIST separation mechanism<br>
-- of the inner loop. */<br>
-- cnt = __argz_count (dirlist, dirlist_len) == 1 ? mask - 1 : mask;<br>
-- for (; cnt >= 0; --cnt)<br>
-+ /* Recurse to fill the inheritance list of RETVAL.<br>
-+ If the DIRLIST is a real list (i.e. DIRLIST_COUNT > 1), the RETVAL<br>
-+ entry does not correspond to a real file; retval->filename contains<br>
-+ colons. In this case we loop across all elements of DIRLIST and<br>
-+ across all bit patterns dominated by MASK.<br>
-+ If the DIRLIST is a single directory or entirely redundant (i.e.<br>
-+ DIRLIST_COUNT == 1), we loop across all bit patterns dominated by<br>
-+ MASK, excluding MASK itself.<br>
-+ In either case, we loop down from MASK to 0. This has the effect<br>
-+ that the extra bits in the locale name are dropped in this order:<br>
-+ first the modifier, then the territory, then the codeset, then the<br>
-+ normalized_codeset. */<br>
-+ for (cnt = dirlist_count > 1 ? mask : mask - 1; cnt >= 0; --cnt)<br>
- if ((cnt & ~mask) == 0<br>
- && ((cnt & CEN_SPECIFIC) == 0 || (cnt & XPG_SPECIFIC) == 0)<br>
- && ((cnt & XPG_CODESET) == 0 || (cnt & XPG_NORM_CODESET) == 0))<br>
- {<br>
-- /* Iterate over all elements of the DIRLIST. */<br>
-- char *dir = NULL;<br>
-+ if (dirlist_count > 1)<br>
-+ {<br>
-+ /* Iterate over all elements of the DIRLIST. */<br>
-+ char *dir = NULL;<br>
- <br>
-- while ((dir = __argz_next ((char *) dirlist, dirlist_len, dir))<br>
-- != NULL)<br>
-+ while ((dir = __argz_next ((char *) dirlist, dirlist_len, dir))<br>
-+ != NULL)<br>
-+ retval->successor[entries++]<br>
-+ = _nl_make_l10nflist (l10nfile_list, dir, strlen (dir) + 1,<br>
-+ cnt, language, territory, codeset,<br>
-+ normalized_codeset, modifier, special,<br>
-+ sponsor, revision, filename, 1);<br>
-+ }<br>
-+ else<br>
- retval->successor[entries++]<br>
-- = _nl_make_l10nflist (l10nfile_list, dir, strlen (dir) + 1, cnt,<br>
-- language, territory, codeset,<br>
-+ = _nl_make_l10nflist (l10nfile_list, dirlist, dirlist_len,<br>
-+ cnt, language, territory, codeset,<br>
- normalized_codeset, modifier, special,<br>
- sponsor, revision, filename, 1);<br>
- }<br>
-@@ -347,11 +362,10 @@<br>
- <br>
- /* Normalize codeset name. There is no standard for the codeset<br>
- names. Normalization allows the user to use any of the common<br>
-- names. */<br>
-+ names. The return value is dynamically allocated and has to be<br>
-+ freed by the caller. */<br>
- const char *<br>
--_nl_normalize_codeset (codeset, name_len)<br>
-- const char *codeset;<br>
-- size_t name_len;<br>
-+_nl_normalize_codeset (const char *codeset, size_t name_len)<br>
- {<br>
- int len = 0;<br>
- int only_digit = 1;<br>
-@@ -360,11 +374,11 @@<br>
- size_t cnt;<br>
- <br>
- for (cnt = 0; cnt < name_len; ++cnt)<br>
-- if (isalnum (codeset[cnt]))<br>
-+ if (isalnum ((unsigned char) codeset[cnt]))<br>
- {<br>
- ++len;<br>
- <br>
-- if (isalpha (codeset[cnt]))<br>
-+ if (isalpha ((unsigned char) codeset[cnt]))<br>
- only_digit = 0;<br>
- }<br>
- <br>
-@@ -378,9 +392,9 @@<br>
- wp = retval;<br>
- <br>
- for (cnt = 0; cnt < name_len; ++cnt)<br>
-- if (isalpha (codeset[cnt]))<br>
-- *wp++ = tolower (codeset[cnt]);<br>
-- else if (isdigit (codeset[cnt]))<br>
-+ if (isalpha ((unsigned char) codeset[cnt]))<br>
-+ *wp++ = tolower ((unsigned char) codeset[cnt]);<br>
-+ else if (isdigit ((unsigned char) codeset[cnt]))<br>
- *wp++ = codeset[cnt];<br>
- <br>
- *wp = '\0';<br>
-@@ -398,9 +412,7 @@<br>
- to be defined. */<br>
- #if !_LIBC && !HAVE_STPCPY<br>
- static char *<br>
--stpcpy (dest, src)<br>
-- char *dest;<br>
-- const char *src;<br>
-+stpcpy (char *dest, const char *src)<br>
- {<br>
- while ((*dest++ = *src++) != '\0')<br>
- /* Do nothing. */ ;<br>
---- lrzsz-0.12.20.safe/intl/libgettext.h 1998-04-26 09:22:36.000000000 -0400<br>
-+++ lrzsz-0.12.20/intl/libgettext.h 1969-12-31 19:00:00.000000000 -0500<br>
-@@ -1,182 +0,0 @@<br>
--/* Message catalogs for internationalization.<br>
-- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.<br>
--<br>
-- This program is free software; you can redistribute it and/or modify<br>
-- it under the terms of the GNU General Public License as published by<br>
-- the Free Software Foundation; either version 2, or (at your option)<br>
-- any later version.<br>
--<br>
-- This program is distributed in the hope that it will be useful,<br>
-- but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the<br>
-- GNU General Public License for more details.<br>
--<br>
-- You should have received a copy of the GNU General Public License<br>
-- along with this program; if not, write to the Free Software Foundation,<br>
-- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */<br>
--<br>
--/* Because on some systems (e.g. Solaris) we sometimes have to include<br>
-- the systems libintl.h as well as this file we have more complex<br>
-- include protection above. But the systems header might perhaps also<br>
-- define _LIBINTL_H and therefore we have to protect the definition here. */<br>
--<br>
--#if !defined (_LIBINTL_H) || !defined (_LIBGETTEXT_H)<br>
--#if !defined (_LIBINTL_H)<br>
--# define _LIBINTL_H 1<br>
--#endif<br>
--#define _LIBGETTEXT_H 1<br>
--<br>
--/* We define an additional symbol to signal that we use the GNU<br>
-- implementation of gettext. */<br>
--#define __USE_GNU_GETTEXT 1<br>
--<br>
--#include <sys/types.h><br>
--<br>
--#if HAVE_LOCALE_H<br>
--# include <locale.h><br>
--#endif<br>
--<br>
--<br>
--#ifdef __cplusplus<br>
--extern "C" {<br>
--#endif<br>
--<br>
--/* @@ end of prolog @@ */<br>
--<br>
--#ifndef PARAMS<br>
--# if __STDC__<br>
--# define PARAMS(args) args<br>
--# else<br>
--# define PARAMS(args) ()<br>
--# endif<br>
--#endif<br>
--<br>
--#ifndef NULL<br>
--# if !defined __cplusplus || defined __GNUC__<br>
--# define NULL ((void *) 0)<br>
--# else<br>
--# define NULL (0)<br>
--# endif<br>
--#endif<br>
--<br>
--#if !HAVE_LC_MESSAGES<br>
--/* This value determines the behaviour of the gettext() and dgettext()<br>
-- function. But some system does not have this defined. Define it<br>
-- to a default value. */<br>
--# define LC_MESSAGES (-1)<br>
--#endif<br>
--<br>
--<br>
--/* Declarations for gettext-using-catgets interface. Derived from<br>
-- Jim Meyering's libintl.h. */<br>
--struct _msg_ent<br>
--{<br>
-- const char *_msg;<br>
-- int _msg_number;<br>
--};<br>
--<br>
--<br>
--#if HAVE_CATGETS<br>
--/* These two variables are defined in the automatically by po-to-tbl.sed<br>
-- generated file `cat-id-tbl.c'. */<br>
--extern const struct _msg_ent _msg_tbl[];<br>
--extern int _msg_tbl_length;<br>
--#endif<br>
--<br>
--<br>
--/* For automatical extraction of messages sometimes no real<br>
-- translation is needed. Instead the string itself is the result. */<br>
--#define gettext_noop(Str) (Str)<br>
--<br>
--/* Look up MSGID in the current default message catalog for the current<br>
-- LC_MESSAGES locale. If not found, returns MSGID itself (the default<br>
-- text). */<br>
--extern char *gettext PARAMS ((const char *__msgid));<br>
--extern char *gettext__ PARAMS ((const char *__msgid));<br>
--<br>
--/* Look up MSGID in the DOMAINNAME message catalog for the current<br>
-- LC_MESSAGES locale. */<br>
--extern char *dgettext PARAMS ((const char *__domainname, const char *__msgid));<br>
--extern char *dgettext__ PARAMS ((const char *__domainname,<br>
-- const char *__msgid));<br>
--<br>
--/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY<br>
-- locale. */<br>
--extern char *dcgettext PARAMS ((const char *__domainname, const char *__msgid,<br>
-- int __category));<br>
--extern char *dcgettext__ PARAMS ((const char *__domainname,<br>
-- const char *__msgid, int __category));<br>
--<br>
--<br>
--/* Set the current default message catalog to DOMAINNAME.<br>
-- If DOMAINNAME is null, return the current default.<br>
-- If DOMAINNAME is "", reset to the default of "messages". */<br>
--extern char *textdomain PARAMS ((const char *__domainname));<br>
--extern char *textdomain__ PARAMS ((const char *__domainname));<br>
--<br>
--/* Specify that the DOMAINNAME message catalog will be found<br>
-- in DIRNAME rather than in the system locale data base. */<br>
--extern char *bindtextdomain PARAMS ((const char *__domainname,<br>
-- const char *__dirname));<br>
--extern char *bindtextdomain__ PARAMS ((const char *__domainname,<br>
-- const char *__dirname));<br>
--<br>
--#if ENABLE_NLS<br>
--<br>
--/* Solaris 2.3 has the gettext function but dcgettext is missing.<br>
-- So we omit this optimization for Solaris 2.3. BTW, Solaris 2.4<br>
-- has dcgettext. */<br>
--# if !HAVE_CATGETS && (!HAVE_GETTEXT || HAVE_DCGETTEXT)<br>
--<br>
--# define gettext(Msgid) \<br>
-- dgettext (NULL, Msgid)<br>
--<br>
--# define dgettext(Domainname, Msgid) \<br>
-- dcgettext (Domainname, Msgid, LC_MESSAGES)<br>
--<br>
--# if defined __GNUC__ && __GNUC__ == 2 && __GNUC_MINOR__ >= 7<br>
--/* This global variable is defined in loadmsgcat.c. We need a sign,<br>
-- whether a new catalog was loaded, which can be associated with all<br>
-- translations. */<br>
--extern int _nl_msg_cat_cntr;<br>
--<br>
--# define dcgettext(Domainname, Msgid, Category) \<br>
-- (__extension__ \<br>
-- ({ \<br>
-- char *__result; \<br>
-- if (__builtin_constant_p (Msgid)) \<br>
-- { \<br>
-- static char *__translation__; \<br>
-- static int __catalog_counter__; \<br>
-- if (! __translation__ || __catalog_counter__ != _nl_msg_cat_cntr) \<br>
-- { \<br>
-- __translation__ = \<br>
-- dcgettext__ (Domainname, Msgid, Category); \<br>
-- __catalog_counter__ = _nl_msg_cat_cntr; \<br>
-- } \<br>
-- __result = __translation__; \<br>
-- } \<br>
-- else \<br>
-- __result = dcgettext__ (Domainname, Msgid, Category); \<br>
-- __result; \<br>
-- }))<br>
--# endif<br>
--# endif<br>
--<br>
--#else<br>
--<br>
--# define gettext(Msgid) (Msgid)<br>
--# define dgettext(Domainname, Msgid) (Msgid)<br>
--# define dcgettext(Domainname, Msgid, Category) (Msgid)<br>
--# define textdomain(Domainname) while (0) /* nothing */<br>
--# define bindtextdomain(Domainname, Dirname) while (0) /* nothing */<br>
--<br>
--#endif<br>
--<br>
--/* @@ begin of epilog @@ */<br>
--<br>
--#ifdef __cplusplus<br>
--}<br>
--#endif<br>
--<br>
--#endif<br>
---- lrzsz-0.12.20.safe/intl/<a href="http://libgnuintl.h.in" rel="noreferrer" target="_blank">libgnuintl.h.in</a> 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/intl/<a href="http://libgnuintl.h.in" rel="noreferrer" target="_blank">libgnuintl.h.in</a> 2004-09-12 14:40:34.462731824 -0400<br>
-@@ -0,0 +1,383 @@<br>
-+/* Message catalogs for internationalization.<br>
-+ Copyright (C) 1995-1997, 2000-2003 Free Software Foundation, Inc.<br>
-+<br>
-+ This program is free software; you can redistribute it and/or modify it<br>
-+ under the terms of the GNU Library General Public License as published<br>
-+ by the Free Software Foundation; either version 2, or (at your option)<br>
-+ any later version.<br>
-+<br>
-+ This program is distributed in the hope that it will be useful,<br>
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-+ Library General Public License for more details.<br>
-+<br>
-+ You should have received a copy of the GNU Library General Public<br>
-+ License along with this program; if not, write to the Free Software<br>
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,<br>
-+ USA. */<br>
-+<br>
-+#ifndef _LIBINTL_H<br>
-+#define _LIBINTL_H 1<br>
-+<br>
-+#include <locale.h><br>
-+<br>
-+/* The LC_MESSAGES locale category is the category used by the functions<br>
-+ gettext() and dgettext(). It is specified in POSIX, but not in ANSI C.<br>
-+ On systems that don't define it, use an arbitrary value instead.<br>
-+ On Solaris, <locale.h> defines __LOCALE_H (or _LOCALE_H in Solaris 2.5)<br>
-+ then includes <libintl.h> (i.e. this file!) and then only defines<br>
-+ LC_MESSAGES. To avoid a redefinition warning, don't define LC_MESSAGES<br>
-+ in this case. */<br>
-+#if !defined LC_MESSAGES && !(defined __LOCALE_H || (defined _LOCALE_H && defined __sun))<br>
-+# define LC_MESSAGES 1729<br>
-+#endif<br>
-+<br>
-+/* We define an additional symbol to signal that we use the GNU<br>
-+ implementation of gettext. */<br>
-+#define __USE_GNU_GETTEXT 1<br>
-+<br>
-+/* Provide information about the supported file formats. Returns the<br>
-+ maximum minor revision number supported for a given major revision. */<br>
-+#define __GNU_GETTEXT_SUPPORTED_REVISION(major) \<br>
-+ ((major) == 0 ? 1 : -1)<br>
-+<br>
-+/* Resolve a platform specific conflict on DJGPP. GNU gettext takes<br>
-+ precedence over _conio_gettext. */<br>
-+#ifdef __DJGPP__<br>
-+# undef gettext<br>
-+#endif<br>
-+<br>
-+#ifdef __cplusplus<br>
-+extern "C" {<br>
-+#endif<br>
-+<br>
-+<br>
-+/* We redirect the functions to those prefixed with "libintl_". This is<br>
-+ necessary, because some systems define gettext/textdomain/... in the C<br>
-+ library (namely, Solaris 2.4 and newer, and GNU libc 2.0 and newer).<br>
-+ If we used the unprefixed names, there would be cases where the<br>
-+ definition in the C library would override the one in the libintl.so<br>
-+ shared library. Recall that on ELF systems, the symbols are looked<br>
-+ up in the following order:<br>
-+ 1. in the executable,<br>
-+ 2. in the shared libraries specified on the link command line, in order,<br>
-+ 3. in the dependencies of the shared libraries specified on the link<br>
-+ command line,<br>
-+ 4. in the dlopen()ed shared libraries, in the order in which they were<br>
-+ dlopen()ed.<br>
-+ The definition in the C library would override the one in libintl.so if<br>
-+ either<br>
-+ * -lc is given on the link command line and -lintl isn't, or<br>
-+ * -lc is given on the link command line before -lintl, or<br>
-+ * libintl.so is a dependency of a dlopen()ed shared library but not<br>
-+ linked to the executable at link time.<br>
-+ Since Solaris gettext() behaves differently than GNU gettext(), this<br>
-+ would be unacceptable.<br>
-+<br>
-+ The redirection happens by default through macros in C, so that &gettext<br>
-+ is independent of the compilation unit, but through inline functions in<br>
-+ C++, in order not to interfere with the name mangling of class fields or<br>
-+ class methods called 'gettext'. */<br>
-+<br>
-+/* The user can define _INTL_REDIRECT_INLINE or _INTL_REDIRECT_MACROS.<br>
-+ If he doesn't, we choose the method. A third possible method is<br>
-+ _INTL_REDIRECT_ASM, supported only by GCC. */<br>
-+#if !(defined _INTL_REDIRECT_INLINE || defined _INTL_REDIRECT_MACROS)<br>
-+# if __GNUC__ >= 2 && !defined __APPLE_CC__ && !defined __MINGW32__ && !(__GNUC__ == 2 && defined _AIX) && (defined __STDC__ || defined __cplusplus)<br>
-+# define _INTL_REDIRECT_ASM<br>
-+# else<br>
-+# ifdef __cplusplus<br>
-+# define _INTL_REDIRECT_INLINE<br>
-+# else<br>
-+# define _INTL_REDIRECT_MACROS<br>
-+# endif<br>
-+# endif<br>
-+#endif<br>
-+/* Auxiliary macros. */<br>
-+#ifdef _INTL_REDIRECT_ASM<br>
-+# define _INTL_ASM(cname) __asm__ (_INTL_ASMNAME (__USER_LABEL_PREFIX__, #cname))<br>
-+# define _INTL_ASMNAME(prefix,cnamestring) _INTL_STRINGIFY (prefix) cnamestring<br>
-+# define _INTL_STRINGIFY(prefix) #prefix<br>
-+#else<br>
-+# define _INTL_ASM(cname)<br>
-+#endif<br>
-+<br>
-+/* Look up MSGID in the current default message catalog for the current<br>
-+ LC_MESSAGES locale. If not found, returns MSGID itself (the default<br>
-+ text). */<br>
-+#ifdef _INTL_REDIRECT_INLINE<br>
-+extern char *libintl_gettext (const char *__msgid);<br>
-+static inline char *gettext (const char *__msgid)<br>
-+{<br>
-+ return libintl_gettext (__msgid);<br>
-+}<br>
-+#else<br>
-+#ifdef _INTL_REDIRECT_MACROS<br>
-+# define gettext libintl_gettext<br>
-+#endif<br>
-+extern char *gettext (const char *__msgid)<br>
-+ _INTL_ASM (libintl_gettext);<br>
-+#endif<br>
-+<br>
-+/* Look up MSGID in the DOMAINNAME message catalog for the current<br>
-+ LC_MESSAGES locale. */<br>
-+#ifdef _INTL_REDIRECT_INLINE<br>
-+extern char *libintl_dgettext (const char *__domainname, const char *__msgid);<br>
-+static inline char *dgettext (const char *__domainname, const char *__msgid)<br>
-+{<br>
-+ return libintl_dgettext (__domainname, __msgid);<br>
-+}<br>
-+#else<br>
-+#ifdef _INTL_REDIRECT_MACROS<br>
-+# define dgettext libintl_dgettext<br>
-+#endif<br>
-+extern char *dgettext (const char *__domainname, const char *__msgid)<br>
-+ _INTL_ASM (libintl_dgettext);<br>
-+#endif<br>
-+<br>
-+/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY<br>
-+ locale. */<br>
-+#ifdef _INTL_REDIRECT_INLINE<br>
-+extern char *libintl_dcgettext (const char *__domainname, const char *__msgid,<br>
-+ int __category);<br>
-+static inline char *dcgettext (const char *__domainname, const char *__msgid,<br>
-+ int __category)<br>
-+{<br>
-+ return libintl_dcgettext (__domainname, __msgid, __category);<br>
-+}<br>
-+#else<br>
-+#ifdef _INTL_REDIRECT_MACROS<br>
-+# define dcgettext libintl_dcgettext<br>
-+#endif<br>
-+extern char *dcgettext (const char *__domainname, const char *__msgid,<br>
-+ int __category)<br>
-+ _INTL_ASM (libintl_dcgettext);<br>
-+#endif<br>
-+<br>
-+<br>
-+/* Similar to `gettext' but select the plural form corresponding to the<br>
-+ number N. */<br>
-+#ifdef _INTL_REDIRECT_INLINE<br>
-+extern char *libintl_ngettext (const char *__msgid1, const char *__msgid2,<br>
-+ unsigned long int __n);<br>
-+static inline char *ngettext (const char *__msgid1, const char *__msgid2,<br>
-+ unsigned long int __n)<br>
-+{<br>
-+ return libintl_ngettext (__msgid1, __msgid2, __n);<br>
-+}<br>
-+#else<br>
-+#ifdef _INTL_REDIRECT_MACROS<br>
-+# define ngettext libintl_ngettext<br>
-+#endif<br>
-+extern char *ngettext (const char *__msgid1, const char *__msgid2,<br>
-+ unsigned long int __n)<br>
-+ _INTL_ASM (libintl_ngettext);<br>
-+#endif<br>
-+<br>
-+/* Similar to `dgettext' but select the plural form corresponding to the<br>
-+ number N. */<br>
-+#ifdef _INTL_REDIRECT_INLINE<br>
-+extern char *libintl_dngettext (const char *__domainname, const char *__msgid1,<br>
-+ const char *__msgid2, unsigned long int __n);<br>
-+static inline char *dngettext (const char *__domainname, const char *__msgid1,<br>
-+ const char *__msgid2, unsigned long int __n)<br>
-+{<br>
-+ return libintl_dngettext (__domainname, __msgid1, __msgid2, __n);<br>
-+}<br>
-+#else<br>
-+#ifdef _INTL_REDIRECT_MACROS<br>
-+# define dngettext libintl_dngettext<br>
-+#endif<br>
-+extern char *dngettext (const char *__domainname,<br>
-+ const char *__msgid1, const char *__msgid2,<br>
-+ unsigned long int __n)<br>
-+ _INTL_ASM (libintl_dngettext);<br>
-+#endif<br>
-+<br>
-+/* Similar to `dcgettext' but select the plural form corresponding to the<br>
-+ number N. */<br>
-+#ifdef _INTL_REDIRECT_INLINE<br>
-+extern char *libintl_dcngettext (const char *__domainname,<br>
-+ const char *__msgid1, const char *__msgid2,<br>
-+ unsigned long int __n, int __category);<br>
-+static inline char *dcngettext (const char *__domainname,<br>
-+ const char *__msgid1, const char *__msgid2,<br>
-+ unsigned long int __n, int __category)<br>
-+{<br>
-+ return libintl_dcngettext (__domainname, __msgid1, __msgid2, __n, __category);<br>
-+}<br>
-+#else<br>
-+#ifdef _INTL_REDIRECT_MACROS<br>
-+# define dcngettext libintl_dcngettext<br>
-+#endif<br>
-+extern char *dcngettext (const char *__domainname,<br>
-+ const char *__msgid1, const char *__msgid2,<br>
-+ unsigned long int __n, int __category)<br>
-+ _INTL_ASM (libintl_dcngettext);<br>
-+#endif<br>
-+<br>
-+<br>
-+/* Set the current default message catalog to DOMAINNAME.<br>
-+ If DOMAINNAME is null, return the current default.<br>
-+ If DOMAINNAME is "", reset to the default of "messages". */<br>
-+#ifdef _INTL_REDIRECT_INLINE<br>
-+extern char *libintl_textdomain (const char *__domainname);<br>
-+static inline char *textdomain (const char *__domainname)<br>
-+{<br>
-+ return libintl_textdomain (__domainname);<br>
-+}<br>
-+#else<br>
-+#ifdef _INTL_REDIRECT_MACROS<br>
-+# define textdomain libintl_textdomain<br>
-+#endif<br>
-+extern char *textdomain (const char *__domainname)<br>
-+ _INTL_ASM (libintl_textdomain);<br>
-+#endif<br>
-+<br>
-+/* Specify that the DOMAINNAME message catalog will be found<br>
-+ in DIRNAME rather than in the system locale data base. */<br>
-+#ifdef _INTL_REDIRECT_INLINE<br>
-+extern char *libintl_bindtextdomain (const char *__domainname,<br>
-+ const char *__dirname);<br>
-+static inline char *bindtextdomain (const char *__domainname,<br>
-+ const char *__dirname)<br>
-+{<br>
-+ return libintl_bindtextdomain (__domainname, __dirname);<br>
-+}<br>
-+#else<br>
-+#ifdef _INTL_REDIRECT_MACROS<br>
-+# define bindtextdomain libintl_bindtextdomain<br>
-+#endif<br>
-+extern char *bindtextdomain (const char *__domainname, const char *__dirname)<br>
-+ _INTL_ASM (libintl_bindtextdomain);<br>
-+#endif<br>
-+<br>
-+/* Specify the character encoding in which the messages from the<br>
-+ DOMAINNAME message catalog will be returned. */<br>
-+#ifdef _INTL_REDIRECT_INLINE<br>
-+extern char *libintl_bind_textdomain_codeset (const char *__domainname,<br>
-+ const char *__codeset);<br>
-+static inline char *bind_textdomain_codeset (const char *__domainname,<br>
-+ const char *__codeset)<br>
-+{<br>
-+ return libintl_bind_textdomain_codeset (__domainname, __codeset);<br>
-+}<br>
-+#else<br>
-+#ifdef _INTL_REDIRECT_MACROS<br>
-+# define bind_textdomain_codeset libintl_bind_textdomain_codeset<br>
-+#endif<br>
-+extern char *bind_textdomain_codeset (const char *__domainname,<br>
-+ const char *__codeset)<br>
-+ _INTL_ASM (libintl_bind_textdomain_codeset);<br>
-+#endif<br>
-+<br>
-+<br>
-+/* Support for format strings with positions in *printf(), following the<br>
-+ POSIX/XSI specification.<br>
-+ Note: These replacements for the *printf() functions are visible only<br>
-+ in source files that #include <libintl.h> or #include "gettext.h".<br>
-+ Packages that use *printf() in source files that don't refer to _()<br>
-+ or gettext() but for which the format string could be the return value<br>
-+ of _() or gettext() need to add this #include. Oh well. */<br>
-+<br>
-+#if !@HAVE_POSIX_PRINTF@<br>
-+<br>
-+#include <stdio.h><br>
-+#include <stddef.h><br>
-+<br>
-+/* Get va_list. */<br>
-+#if __STDC__ || defined __cplusplus || defined _MSC_VER<br>
-+# include <stdarg.h><br>
-+#else<br>
-+# include <varargs.h><br>
-+#endif<br>
-+<br>
-+#undef fprintf<br>
-+#define fprintf libintl_fprintf<br>
-+extern int fprintf (FILE *, const char *, ...);<br>
-+#undef vfprintf<br>
-+#define vfprintf libintl_vfprintf<br>
-+extern int vfprintf (FILE *, const char *, va_list);<br>
-+<br>
-+#undef printf<br>
-+#define printf libintl_printf<br>
-+extern int printf (const char *, ...);<br>
-+#undef vprintf<br>
-+#define vprintf libintl_vprintf<br>
-+extern int vprintf (const char *, va_list);<br>
-+<br>
-+#undef sprintf<br>
-+#define sprintf libintl_sprintf<br>
-+extern int sprintf (char *, const char *, ...);<br>
-+#undef vsprintf<br>
-+#define vsprintf libintl_vsprintf<br>
-+extern int vsprintf (char *, const char *, va_list);<br>
-+<br>
-+#if @HAVE_SNPRINTF@<br>
-+<br>
-+#undef snprintf<br>
-+#define snprintf libintl_snprintf<br>
-+extern int snprintf (char *, size_t, const char *, ...);<br>
-+#undef vsnprintf<br>
-+#define vsnprintf libintl_vsnprintf<br>
-+extern int vsnprintf (char *, size_t, const char *, va_list);<br>
-+<br>
-+#endif<br>
-+<br>
-+#if @HAVE_ASPRINTF@<br>
-+<br>
-+#undef asprintf<br>
-+#define asprintf libintl_asprintf<br>
-+extern int asprintf (char **, const char *, ...);<br>
-+#undef vasprintf<br>
-+#define vasprintf libintl_vasprintf<br>
-+extern int vasprintf (char **, const char *, va_list);<br>
-+<br>
-+#endif<br>
-+<br>
-+#if @HAVE_WPRINTF@<br>
-+<br>
-+#undef fwprintf<br>
-+#define fwprintf libintl_fwprintf<br>
-+extern int fwprintf (FILE *, const wchar_t *, ...);<br>
-+#undef vfwprintf<br>
-+#define vfwprintf libintl_vfwprintf<br>
-+extern int vfwprintf (FILE *, const wchar_t *, va_list);<br>
-+<br>
-+#undef wprintf<br>
-+#define wprintf libintl_wprintf<br>
-+extern int wprintf (const wchar_t *, ...);<br>
-+#undef vwprintf<br>
-+#define vwprintf libintl_vwprintf<br>
-+extern int vwprintf (const wchar_t *, va_list);<br>
-+<br>
-+#undef swprintf<br>
-+#define swprintf libintl_swprintf<br>
-+extern int swprintf (wchar_t *, size_t, const wchar_t *, ...);<br>
-+#undef vswprintf<br>
-+#define vswprintf libintl_vswprintf<br>
-+extern int vswprintf (wchar_t *, size_t, const wchar_t *, va_list);<br>
-+<br>
-+#endif<br>
-+<br>
-+#endif<br>
-+<br>
-+<br>
-+/* Support for relocatable packages. */<br>
-+<br>
-+/* Sets the original and the current installation prefix of the package.<br>
-+ Relocation simply replaces a pathname starting with the original prefix<br>
-+ by the corresponding pathname with the current prefix instead. Both<br>
-+ prefixes should be directory names without trailing slash (i.e. use ""<br>
-+ instead of "/"). */<br>
-+#define libintl_set_relocation_prefix libintl_set_relocation_prefix<br>
-+extern void<br>
-+ libintl_set_relocation_prefix (const char *orig_prefix,<br>
-+ const char *curr_prefix);<br>
-+<br>
-+<br>
-+#ifdef __cplusplus<br>
-+}<br>
-+#endif<br>
-+<br>
-+#endif /* libintl.h */<br>
---- lrzsz-0.12.20.safe/intl/linux-msg.sed 1998-04-26 09:20:52.000000000 -0400<br>
-+++ lrzsz-0.12.20/intl/linux-msg.sed 1969-12-31 19:00:00.000000000 -0500<br>
-@@ -1,100 +0,0 @@<br>
--# po2msg.sed - Convert Uniforum style .po file to Linux style .msg file<br>
--# Copyright (C) 1995 Free Software Foundation, Inc.<br>
--# Ulrich Drepper <<a href="mailto:drepper@gnu.ai.mit.edu" target="_blank">drepper@gnu.ai.mit.edu</a>>, 1995.<br>
--#<br>
--# This program is free software; you can redistribute it and/or modify<br>
--# it under the terms of the GNU General Public License as published by<br>
--# the Free Software Foundation; either version 2, or (at your option)<br>
--# any later version.<br>
--#<br>
--# This program is distributed in the hope that it will be useful,<br>
--# but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
--# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the<br>
--# GNU General Public License for more details.<br>
--#<br>
--# You should have received a copy of the GNU General Public License<br>
--# along with this program; if not, write to the Free Software<br>
--# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.<br>
--#<br>
--#<br>
--# The first directive in the .msg should be the definition of the<br>
--# message set number. We use always set number 1.<br>
--#<br>
--1 {<br>
-- i\<br>
--$set 1 # Automatically created by po2msg.sed<br>
-- h<br>
-- s/.*/0/<br>
-- x<br>
--}<br>
--#<br>
--# Mitch's old catalog format does not allow comments.<br>
--#<br>
--# We copy the original message as a comment into the .msg file.<br>
--#<br>
--/^msgid/ {<br>
-- s/msgid[ ]*"//<br>
--#<br>
--# This does not work now with the new format.<br>
--# /"$/! {<br>
--# s/\\$//<br>
--# s/$/ ... (more lines following)"/<br>
--# }<br>
-- x<br>
--# The following nice solution is by<br>
--# Bruno <<a href="mailto:Haible@ma2s2.mathematik.uni-karlsruhe.de" target="_blank">Haible@ma2s2.mathematik.uni-karlsruhe.de</a>><br>
-- td<br>
--# Increment a decimal number in pattern space.<br>
--# First hide trailing `9' digits.<br>
-- :d<br>
-- s/9\(_*\)$/_\1/<br>
-- td<br>
--# Assure at least one digit is available.<br>
-- s/^\(_*\)$/0\1/<br>
--# Increment the last digit.<br>
-- s/8\(_*\)$/9\1/<br>
-- s/7\(_*\)$/8\1/<br>
-- s/6\(_*\)$/7\1/<br>
-- s/5\(_*\)$/6\1/<br>
-- s/4\(_*\)$/5\1/<br>
-- s/3\(_*\)$/4\1/<br>
-- s/2\(_*\)$/3\1/<br>
-- s/1\(_*\)$/2\1/<br>
-- s/0\(_*\)$/1\1/<br>
--# Convert the hidden `9' digits to `0's.<br>
-- s/_/0/g<br>
-- x<br>
-- G<br>
-- s/\(.*\)"\n\([0-9]*\)/$ #\2 Original Message:(\1)/p<br>
--}<br>
--#<br>
--# The .msg file contains, other then the .po file, only the translations<br>
--# but each given a unique ID. Starting from 1 and incrementing by 1 for<br>
--# each message we assign them to the messages.<br>
--# It is important that the .po file used to generate the cat-id-tbl.c file<br>
--# (with po-to-tbl) is the same as the one used here. (At least the order<br>
--# of declarations must not be changed.)<br>
--#<br>
--/^msgstr/ {<br>
-- s/msgstr[ ]*"\(.*\)"/# \1/<br>
--# Clear substitution flag.<br>
-- tb<br>
--# Append the next line.<br>
-- :b<br>
-- N<br>
--# Look whether second part is continuation line.<br>
-- s/\(.*\n\)"\(.*\)"/\1\2/<br>
--# Yes, then branch.<br>
-- ta<br>
-- P<br>
-- D<br>
--# Note that D includes a jump to the start!!<br>
--# We found a continuation line. But before printing insert '\'.<br>
-- :a<br>
-- s/\(.*\)\(\n.*\)/\1\\\2/<br>
-- P<br>
--# We cannot use D here.<br>
-- s/.*\n\(.*\)/\1/<br>
-- tb<br>
--}<br>
--d<br>
---- lrzsz-0.12.20.safe/intl/loadinfo.h 1998-04-26 09:20:52.000000000 -0400<br>
-+++ lrzsz-0.12.20/intl/loadinfo.h 2004-09-12 14:40:34.468730912 -0400<br>
-@@ -1,9 +1,54 @@<br>
--#ifndef PARAMS<br>
--# if __STDC__<br>
--# define PARAMS(args) args<br>
--# else<br>
--# define PARAMS(args) ()<br>
--# endif<br>
-+/* Copyright (C) 1996-1999, 2000-2003 Free Software Foundation, Inc.<br>
-+ This file is part of the GNU C Library.<br>
-+ Contributed by Ulrich Drepper <<a href="mailto:drepper@cygnus.com" target="_blank">drepper@cygnus.com</a>>, 1996.<br>
-+<br>
-+ This program is free software; you can redistribute it and/or modify it<br>
-+ under the terms of the GNU Library General Public License as published<br>
-+ by the Free Software Foundation; either version 2, or (at your option)<br>
-+ any later version.<br>
-+<br>
-+ This program is distributed in the hope that it will be useful,<br>
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-+ Library General Public License for more details.<br>
-+<br>
-+ You should have received a copy of the GNU Library General Public<br>
-+ License along with this program; if not, write to the Free Software<br>
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,<br>
-+ USA. */<br>
-+<br>
-+#ifndef _LOADINFO_H<br>
-+#define _LOADINFO_H 1<br>
-+<br>
-+/* Declarations of locale dependent catalog lookup functions.<br>
-+ Implemented in<br>
-+<br>
-+ localealias.c Possibly replace a locale name by another.<br>
-+ explodename.c Split a locale name into its various fields.<br>
-+ l10nflist.c Generate a list of filenames of possible message catalogs.<br>
-+ finddomain.c Find and open the relevant message catalogs.<br>
-+<br>
-+ The main function _nl_find_domain() in finddomain.c is declared<br>
-+ in gettextP.h.<br>
-+ */<br>
-+<br>
-+#ifndef internal_function<br>
-+# define internal_function<br>
-+#endif<br>
-+<br>
-+/* Tell the compiler when a conditional or integer expression is<br>
-+ almost always true or almost always false. */<br>
-+#ifndef HAVE_BUILTIN_EXPECT<br>
-+# define __builtin_expect(expr, val) (expr)<br>
-+#endif<br>
-+<br>
-+/* Separator in PATH like lists of pathnames. */<br>
-+#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__<br>
-+ /* Win32, OS/2, DOS */<br>
-+# define PATH_SEPARATOR ';'<br>
-+#else<br>
-+ /* Unix */<br>
-+# define PATH_SEPARATOR ':'<br>
- #endif<br>
- <br>
- /* Encoding of locale name parts. */<br>
-@@ -32,27 +77,69 @@<br>
- };<br>
- <br>
- <br>
--extern const char *_nl_normalize_codeset PARAMS ((const char *codeset,<br>
-- size_t name_len));<br>
-+/* Normalize codeset name. There is no standard for the codeset<br>
-+ names. Normalization allows the user to use any of the common<br>
-+ names. The return value is dynamically allocated and has to be<br>
-+ freed by the caller. */<br>
-+extern const char *_nl_normalize_codeset (const char *codeset,<br>
-+ size_t name_len);<br>
- <br>
-+/* Lookup a locale dependent file.<br>
-+ *L10NFILE_LIST denotes a pool of lookup results of locale dependent<br>
-+ files of the same kind, sorted in decreasing order of ->filename.<br>
-+ DIRLIST and DIRLIST_LEN are an argz list of directories in which to<br>
-+ look, containing at least one directory (i.e. DIRLIST_LEN > 0).<br>
-+ MASK, LANGUAGE, TERRITORY, CODESET, NORMALIZED_CODESET, MODIFIER,<br>
-+ SPECIAL, SPONSOR, REVISION are the pieces of the locale name, as<br>
-+ produced by _nl_explode_name(). FILENAME is the filename suffix.<br>
-+ The return value is the lookup result, either found in *L10NFILE_LIST,<br>
-+ or - if DO_ALLOCATE is nonzero - freshly allocated, or possibly NULL.<br>
-+ If the return value is non-NULL, it is added to *L10NFILE_LIST, and<br>
-+ its ->next field denotes the chaining inside *L10NFILE_LIST, and<br>
-+ furthermore its ->successor[] field contains a list of other lookup<br>
-+ results from which this lookup result inherits. */<br>
- extern struct loaded_l10nfile *<br>
--_nl_make_l10nflist PARAMS ((struct loaded_l10nfile **l10nfile_list,<br>
-- const char *dirlist, size_t dirlist_len, int mask,<br>
-- const char *language, const char *territory,<br>
-- const char *codeset,<br>
-- const char *normalized_codeset,<br>
-- const char *modifier, const char *special,<br>
-- const char *sponsor, const char *revision,<br>
-- const char *filename, int do_allocate));<br>
-+_nl_make_l10nflist (struct loaded_l10nfile **l10nfile_list,<br>
-+ const char *dirlist, size_t dirlist_len, int mask,<br>
-+ const char *language, const char *territory,<br>
-+ const char *codeset, const char *normalized_codeset,<br>
-+ const char *modifier, const char *special,<br>
-+ const char *sponsor, const char *revision,<br>
-+ const char *filename, int do_allocate);<br>
- <br>
-+/* Lookup the real locale name for a locale alias NAME, or NULL if<br>
-+ NAME is not a locale alias (but possibly a real locale name).<br>
-+ The return value is statically allocated and must not be freed. */<br>
-+extern const char *_nl_expand_alias (const char *name);<br>
- <br>
--extern const char *_nl_expand_alias PARAMS ((const char *name));<br>
-+/* Split a locale name NAME into its pieces: language, modifier,<br>
-+ territory, codeset, special, sponsor, revision.<br>
-+ NAME gets destructively modified: NUL bytes are inserted here and<br>
-+ there. *LANGUAGE gets assigned NAME. Each of *MODIFIER, *TERRITORY,<br>
-+ *CODESET, *SPECIAL, *SPONSOR, *REVISION gets assigned either a<br>
-+ pointer into the old NAME string, or NULL. *NORMALIZED_CODESET<br>
-+ gets assigned the expanded *CODESET, if it is different from *CODESET;<br>
-+ this one is dynamically allocated and has to be freed by the caller.<br>
-+ The return value is a bitmask, where each bit corresponds to one<br>
-+ filled-in value:<br>
-+ XPG_MODIFIER, CEN_AUDIENCE for *MODIFIER,<br>
-+ TERRITORY for *TERRITORY,<br>
-+ XPG_CODESET for *CODESET,<br>
-+ XPG_NORM_CODESET for *NORMALIZED_CODESET,<br>
-+ CEN_SPECIAL for *SPECIAL,<br>
-+ CEN_SPONSOR for *SPONSOR,<br>
-+ CEN_REVISION for *REVISION.<br>
-+ */<br>
-+extern int _nl_explode_name (char *name, const char **language,<br>
-+ const char **modifier, const char **territory,<br>
-+ const char **codeset,<br>
-+ const char **normalized_codeset,<br>
-+ const char **special, const char **sponsor,<br>
-+ const char **revision);<br>
- <br>
--extern int _nl_explode_name PARAMS ((char *name, const char **language,<br>
-- const char **modifier,<br>
-- const char **territory,<br>
-- const char **codeset,<br>
-- const char **normalized_codeset,<br>
-- const char **special,<br>
-- const char **sponsor,<br>
-- const char **revision));<br>
-+/* Split a locale name NAME into a leading language part and all the<br>
-+ rest. Return a pointer to the first character after the language,<br>
-+ i.e. to the first byte of the rest. */<br>
-+extern char *_nl_find_language (const char *name);<br>
-+<br>
-+#endif /* loadinfo.h */<br>
---- lrzsz-0.12.20.safe/intl/loadmsgcat.c 1998-04-26 09:22:37.000000000 -0400<br>
-+++ lrzsz-0.12.20/intl/loadmsgcat.c 2004-09-12 14:40:34.473730152 -0400<br>
-@@ -1,42 +1,455 @@<br>
--/* Load needed message catalogs<br>
-- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.<br>
-+/* Load needed message catalogs.<br>
-+ Copyright (C) 1995-1999, 2000-2004 Free Software Foundation, Inc.<br>
- <br>
-- This program is free software; you can redistribute it and/or modify<br>
-- it under the terms of the GNU General Public License as published by<br>
-- the Free Software Foundation; either version 2, or (at your option)<br>
-+ This program is free software; you can redistribute it and/or modify it<br>
-+ under the terms of the GNU Library General Public License as published<br>
-+ by the Free Software Foundation; either version 2, or (at your option)<br>
- any later version.<br>
- <br>
- This program is distributed in the hope that it will be useful,<br>
- but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the<br>
-- GNU General Public License for more details.<br>
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-+ Library General Public License for more details.<br>
- <br>
-- You should have received a copy of the GNU General Public License<br>
-- along with this program; if not, write to the Free Software Foundation,<br>
-- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */<br>
-+ You should have received a copy of the GNU Library General Public<br>
-+ License along with this program; if not, write to the Free Software<br>
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,<br>
-+ USA. */<br>
-+<br>
-+/* Tell glibc's <string.h> to provide a prototype for mempcpy().<br>
-+ This must come before <config.h> because <config.h> may include<br>
-+ <features.h>, and once <features.h> has been included, it's too late. */<br>
-+#ifndef _GNU_SOURCE<br>
-+# define _GNU_SOURCE 1<br>
-+#endif<br>
- <br>
- #ifdef HAVE_CONFIG_H<br>
- # include <config.h><br>
- #endif<br>
- <br>
-+#include <ctype.h><br>
-+#include <errno.h><br>
- #include <fcntl.h><br>
- #include <sys/types.h><br>
- #include <sys/stat.h><br>
- <br>
--#if defined STDC_HEADERS || defined _LIBC<br>
--# include <stdlib.h><br>
-+#ifdef __GNUC__<br>
-+# undef alloca<br>
-+# define alloca __builtin_alloca<br>
-+# define HAVE_ALLOCA 1<br>
-+#else<br>
-+# ifdef _MSC_VER<br>
-+# include <malloc.h><br>
-+# define alloca _alloca<br>
-+# else<br>
-+# if defined HAVE_ALLOCA_H || defined _LIBC<br>
-+# include <alloca.h><br>
-+# else<br>
-+# ifdef _AIX<br>
-+ #pragma alloca<br>
-+# else<br>
-+# ifndef alloca<br>
-+char *alloca ();<br>
-+# endif<br>
-+# endif<br>
-+# endif<br>
-+# endif<br>
- #endif<br>
- <br>
-+#include <stdlib.h><br>
-+#include <string.h><br>
-+<br>
- #if defined HAVE_UNISTD_H || defined _LIBC<br>
- # include <unistd.h><br>
- #endif<br>
- <br>
--#if (defined HAVE_MMAP && defined HAVE_MUNMAP) || defined _LIBC<br>
-+#ifdef _LIBC<br>
-+# include <langinfo.h><br>
-+# include <locale.h><br>
-+#endif<br>
-+<br>
-+#if (defined HAVE_MMAP && defined HAVE_MUNMAP && !defined DISALLOW_MMAP) \<br>
-+ || (defined _LIBC && defined _POSIX_MAPPED_FILES)<br>
- # include <sys/mman.h><br>
-+# undef HAVE_MMAP<br>
-+# define HAVE_MMAP 1<br>
-+#else<br>
-+# undef HAVE_MMAP<br>
- #endif<br>
- <br>
--#include "gettext.h"<br>
-+#if defined HAVE_STDINT_H_WITH_UINTMAX || defined _LIBC<br>
-+# include <stdint.h><br>
-+#endif<br>
-+#if defined HAVE_INTTYPES_H || defined _LIBC<br>
-+# include <inttypes.h><br>
-+#endif<br>
-+<br>
-+#include "gmo.h"<br>
- #include "gettextP.h"<br>
-+#include "hash-string.h"<br>
-+#include "plural-exp.h"<br>
-+<br>
-+#ifdef _LIBC<br>
-+# include "../locale/localeinfo.h"<br>
-+#endif<br>
-+<br>
-+/* Provide fallback values for macros that ought to be defined in <inttypes.h>.<br>
-+ Note that our fallback values need not be literal strings, because we don't<br>
-+ use them with preprocessor string concatenation. */<br>
-+#if !defined PRId8 || PRI_MACROS_BROKEN<br>
-+# undef PRId8<br>
-+# define PRId8 "d"<br>
-+#endif<br>
-+#if !defined PRIi8 || PRI_MACROS_BROKEN<br>
-+# undef PRIi8<br>
-+# define PRIi8 "i"<br>
-+#endif<br>
-+#if !defined PRIo8 || PRI_MACROS_BROKEN<br>
-+# undef PRIo8<br>
-+# define PRIo8 "o"<br>
-+#endif<br>
-+#if !defined PRIu8 || PRI_MACROS_BROKEN<br>
-+# undef PRIu8<br>
-+# define PRIu8 "u"<br>
-+#endif<br>
-+#if !defined PRIx8 || PRI_MACROS_BROKEN<br>
-+# undef PRIx8<br>
-+# define PRIx8 "x"<br>
-+#endif<br>
-+#if !defined PRIX8 || PRI_MACROS_BROKEN<br>
-+# undef PRIX8<br>
-+# define PRIX8 "X"<br>
-+#endif<br>
-+#if !defined PRId16 || PRI_MACROS_BROKEN<br>
-+# undef PRId16<br>
-+# define PRId16 "d"<br>
-+#endif<br>
-+#if !defined PRIi16 || PRI_MACROS_BROKEN<br>
-+# undef PRIi16<br>
-+# define PRIi16 "i"<br>
-+#endif<br>
-+#if !defined PRIo16 || PRI_MACROS_BROKEN<br>
-+# undef PRIo16<br>
-+# define PRIo16 "o"<br>
-+#endif<br>
-+#if !defined PRIu16 || PRI_MACROS_BROKEN<br>
-+# undef PRIu16<br>
-+# define PRIu16 "u"<br>
-+#endif<br>
-+#if !defined PRIx16 || PRI_MACROS_BROKEN<br>
-+# undef PRIx16<br>
-+# define PRIx16 "x"<br>
-+#endif<br>
-+#if !defined PRIX16 || PRI_MACROS_BROKEN<br>
-+# undef PRIX16<br>
-+# define PRIX16 "X"<br>
-+#endif<br>
-+#if !defined PRId32 || PRI_MACROS_BROKEN<br>
-+# undef PRId32<br>
-+# define PRId32 "d"<br>
-+#endif<br>
-+#if !defined PRIi32 || PRI_MACROS_BROKEN<br>
-+# undef PRIi32<br>
-+# define PRIi32 "i"<br>
-+#endif<br>
-+#if !defined PRIo32 || PRI_MACROS_BROKEN<br>
-+# undef PRIo32<br>
-+# define PRIo32 "o"<br>
-+#endif<br>
-+#if !defined PRIu32 || PRI_MACROS_BROKEN<br>
-+# undef PRIu32<br>
-+# define PRIu32 "u"<br>
-+#endif<br>
-+#if !defined PRIx32 || PRI_MACROS_BROKEN<br>
-+# undef PRIx32<br>
-+# define PRIx32 "x"<br>
-+#endif<br>
-+#if !defined PRIX32 || PRI_MACROS_BROKEN<br>
-+# undef PRIX32<br>
-+# define PRIX32 "X"<br>
-+#endif<br>
-+#if !defined PRId64 || PRI_MACROS_BROKEN<br>
-+# undef PRId64<br>
-+# define PRId64 (sizeof (long) == 8 ? "ld" : "lld")<br>
-+#endif<br>
-+#if !defined PRIi64 || PRI_MACROS_BROKEN<br>
-+# undef PRIi64<br>
-+# define PRIi64 (sizeof (long) == 8 ? "li" : "lli")<br>
-+#endif<br>
-+#if !defined PRIo64 || PRI_MACROS_BROKEN<br>
-+# undef PRIo64<br>
-+# define PRIo64 (sizeof (long) == 8 ? "lo" : "llo")<br>
-+#endif<br>
-+#if !defined PRIu64 || PRI_MACROS_BROKEN<br>
-+# undef PRIu64<br>
-+# define PRIu64 (sizeof (long) == 8 ? "lu" : "llu")<br>
-+#endif<br>
-+#if !defined PRIx64 || PRI_MACROS_BROKEN<br>
-+# undef PRIx64<br>
-+# define PRIx64 (sizeof (long) == 8 ? "lx" : "llx")<br>
-+#endif<br>
-+#if !defined PRIX64 || PRI_MACROS_BROKEN<br>
-+# undef PRIX64<br>
-+# define PRIX64 (sizeof (long) == 8 ? "lX" : "llX")<br>
-+#endif<br>
-+#if !defined PRIdLEAST8 || PRI_MACROS_BROKEN<br>
-+# undef PRIdLEAST8<br>
-+# define PRIdLEAST8 "d"<br>
-+#endif<br>
-+#if !defined PRIiLEAST8 || PRI_MACROS_BROKEN<br>
-+# undef PRIiLEAST8<br>
-+# define PRIiLEAST8 "i"<br>
-+#endif<br>
-+#if !defined PRIoLEAST8 || PRI_MACROS_BROKEN<br>
-+# undef PRIoLEAST8<br>
-+# define PRIoLEAST8 "o"<br>
-+#endif<br>
-+#if !defined PRIuLEAST8 || PRI_MACROS_BROKEN<br>
-+# undef PRIuLEAST8<br>
-+# define PRIuLEAST8 "u"<br>
-+#endif<br>
-+#if !defined PRIxLEAST8 || PRI_MACROS_BROKEN<br>
-+# undef PRIxLEAST8<br>
-+# define PRIxLEAST8 "x"<br>
-+#endif<br>
-+#if !defined PRIXLEAST8 || PRI_MACROS_BROKEN<br>
-+# undef PRIXLEAST8<br>
-+# define PRIXLEAST8 "X"<br>
-+#endif<br>
-+#if !defined PRIdLEAST16 || PRI_MACROS_BROKEN<br>
-+# undef PRIdLEAST16<br>
-+# define PRIdLEAST16 "d"<br>
-+#endif<br>
-+#if !defined PRIiLEAST16 || PRI_MACROS_BROKEN<br>
-+# undef PRIiLEAST16<br>
-+# define PRIiLEAST16 "i"<br>
-+#endif<br>
-+#if !defined PRIoLEAST16 || PRI_MACROS_BROKEN<br>
-+# undef PRIoLEAST16<br>
-+# define PRIoLEAST16 "o"<br>
-+#endif<br>
-+#if !defined PRIuLEAST16 || PRI_MACROS_BROKEN<br>
-+# undef PRIuLEAST16<br>
-+# define PRIuLEAST16 "u"<br>
-+#endif<br>
-+#if !defined PRIxLEAST16 || PRI_MACROS_BROKEN<br>
-+# undef PRIxLEAST16<br>
-+# define PRIxLEAST16 "x"<br>
-+#endif<br>
-+#if !defined PRIXLEAST16 || PRI_MACROS_BROKEN<br>
-+# undef PRIXLEAST16<br>
-+# define PRIXLEAST16 "X"<br>
-+#endif<br>
-+#if !defined PRIdLEAST32 || PRI_MACROS_BROKEN<br>
-+# undef PRIdLEAST32<br>
-+# define PRIdLEAST32 "d"<br>
-+#endif<br>
-+#if !defined PRIiLEAST32 || PRI_MACROS_BROKEN<br>
-+# undef PRIiLEAST32<br>
-+# define PRIiLEAST32 "i"<br>
-+#endif<br>
-+#if !defined PRIoLEAST32 || PRI_MACROS_BROKEN<br>
-+# undef PRIoLEAST32<br>
-+# define PRIoLEAST32 "o"<br>
-+#endif<br>
-+#if !defined PRIuLEAST32 || PRI_MACROS_BROKEN<br>
-+# undef PRIuLEAST32<br>
-+# define PRIuLEAST32 "u"<br>
-+#endif<br>
-+#if !defined PRIxLEAST32 || PRI_MACROS_BROKEN<br>
-+# undef PRIxLEAST32<br>
-+# define PRIxLEAST32 "x"<br>
-+#endif<br>
-+#if !defined PRIXLEAST32 || PRI_MACROS_BROKEN<br>
-+# undef PRIXLEAST32<br>
-+# define PRIXLEAST32 "X"<br>
-+#endif<br>
-+#if !defined PRIdLEAST64 || PRI_MACROS_BROKEN<br>
-+# undef PRIdLEAST64<br>
-+# define PRIdLEAST64 PRId64<br>
-+#endif<br>
-+#if !defined PRIiLEAST64 || PRI_MACROS_BROKEN<br>
-+# undef PRIiLEAST64<br>
-+# define PRIiLEAST64 PRIi64<br>
-+#endif<br>
-+#if !defined PRIoLEAST64 || PRI_MACROS_BROKEN<br>
-+# undef PRIoLEAST64<br>
-+# define PRIoLEAST64 PRIo64<br>
-+#endif<br>
-+#if !defined PRIuLEAST64 || PRI_MACROS_BROKEN<br>
-+# undef PRIuLEAST64<br>
-+# define PRIuLEAST64 PRIu64<br>
-+#endif<br>
-+#if !defined PRIxLEAST64 || PRI_MACROS_BROKEN<br>
-+# undef PRIxLEAST64<br>
-+# define PRIxLEAST64 PRIx64<br>
-+#endif<br>
-+#if !defined PRIXLEAST64 || PRI_MACROS_BROKEN<br>
-+# undef PRIXLEAST64<br>
-+# define PRIXLEAST64 PRIX64<br>
-+#endif<br>
-+#if !defined PRIdFAST8 || PRI_MACROS_BROKEN<br>
-+# undef PRIdFAST8<br>
-+# define PRIdFAST8 "d"<br>
-+#endif<br>
-+#if !defined PRIiFAST8 || PRI_MACROS_BROKEN<br>
-+# undef PRIiFAST8<br>
-+# define PRIiFAST8 "i"<br>
-+#endif<br>
-+#if !defined PRIoFAST8 || PRI_MACROS_BROKEN<br>
-+# undef PRIoFAST8<br>
-+# define PRIoFAST8 "o"<br>
-+#endif<br>
-+#if !defined PRIuFAST8 || PRI_MACROS_BROKEN<br>
-+# undef PRIuFAST8<br>
-+# define PRIuFAST8 "u"<br>
-+#endif<br>
-+#if !defined PRIxFAST8 || PRI_MACROS_BROKEN<br>
-+# undef PRIxFAST8<br>
-+# define PRIxFAST8 "x"<br>
-+#endif<br>
-+#if !defined PRIXFAST8 || PRI_MACROS_BROKEN<br>
-+# undef PRIXFAST8<br>
-+# define PRIXFAST8 "X"<br>
-+#endif<br>
-+#if !defined PRIdFAST16 || PRI_MACROS_BROKEN<br>
-+# undef PRIdFAST16<br>
-+# define PRIdFAST16 "d"<br>
-+#endif<br>
-+#if !defined PRIiFAST16 || PRI_MACROS_BROKEN<br>
-+# undef PRIiFAST16<br>
-+# define PRIiFAST16 "i"<br>
-+#endif<br>
-+#if !defined PRIoFAST16 || PRI_MACROS_BROKEN<br>
-+# undef PRIoFAST16<br>
-+# define PRIoFAST16 "o"<br>
-+#endif<br>
-+#if !defined PRIuFAST16 || PRI_MACROS_BROKEN<br>
-+# undef PRIuFAST16<br>
-+# define PRIuFAST16 "u"<br>
-+#endif<br>
-+#if !defined PRIxFAST16 || PRI_MACROS_BROKEN<br>
-+# undef PRIxFAST16<br>
-+# define PRIxFAST16 "x"<br>
-+#endif<br>
-+#if !defined PRIXFAST16 || PRI_MACROS_BROKEN<br>
-+# undef PRIXFAST16<br>
-+# define PRIXFAST16 "X"<br>
-+#endif<br>
-+#if !defined PRIdFAST32 || PRI_MACROS_BROKEN<br>
-+# undef PRIdFAST32<br>
-+# define PRIdFAST32 "d"<br>
-+#endif<br>
-+#if !defined PRIiFAST32 || PRI_MACROS_BROKEN<br>
-+# undef PRIiFAST32<br>
-+# define PRIiFAST32 "i"<br>
-+#endif<br>
-+#if !defined PRIoFAST32 || PRI_MACROS_BROKEN<br>
-+# undef PRIoFAST32<br>
-+# define PRIoFAST32 "o"<br>
-+#endif<br>
-+#if !defined PRIuFAST32 || PRI_MACROS_BROKEN<br>
-+# undef PRIuFAST32<br>
-+# define PRIuFAST32 "u"<br>
-+#endif<br>
-+#if !defined PRIxFAST32 || PRI_MACROS_BROKEN<br>
-+# undef PRIxFAST32<br>
-+# define PRIxFAST32 "x"<br>
-+#endif<br>
-+#if !defined PRIXFAST32 || PRI_MACROS_BROKEN<br>
-+# undef PRIXFAST32<br>
-+# define PRIXFAST32 "X"<br>
-+#endif<br>
-+#if !defined PRIdFAST64 || PRI_MACROS_BROKEN<br>
-+# undef PRIdFAST64<br>
-+# define PRIdFAST64 PRId64<br>
-+#endif<br>
-+#if !defined PRIiFAST64 || PRI_MACROS_BROKEN<br>
-+# undef PRIiFAST64<br>
-+# define PRIiFAST64 PRIi64<br>
-+#endif<br>
-+#if !defined PRIoFAST64 || PRI_MACROS_BROKEN<br>
-+# undef PRIoFAST64<br>
-+# define PRIoFAST64 PRIo64<br>
-+#endif<br>
-+#if !defined PRIuFAST64 || PRI_MACROS_BROKEN<br>
-+# undef PRIuFAST64<br>
-+# define PRIuFAST64 PRIu64<br>
-+#endif<br>
-+#if !defined PRIxFAST64 || PRI_MACROS_BROKEN<br>
-+# undef PRIxFAST64<br>
-+# define PRIxFAST64 PRIx64<br>
-+#endif<br>
-+#if !defined PRIXFAST64 || PRI_MACROS_BROKEN<br>
-+# undef PRIXFAST64<br>
-+# define PRIXFAST64 PRIX64<br>
-+#endif<br>
-+#if !defined PRIdMAX || PRI_MACROS_BROKEN<br>
-+# undef PRIdMAX<br>
-+# define PRIdMAX (sizeof (uintmax_t) == sizeof (long) ? "ld" : "lld")<br>
-+#endif<br>
-+#if !defined PRIiMAX || PRI_MACROS_BROKEN<br>
-+# undef PRIiMAX<br>
-+# define PRIiMAX (sizeof (uintmax_t) == sizeof (long) ? "li" : "lli")<br>
-+#endif<br>
-+#if !defined PRIoMAX || PRI_MACROS_BROKEN<br>
-+# undef PRIoMAX<br>
-+# define PRIoMAX (sizeof (uintmax_t) == sizeof (long) ? "lo" : "llo")<br>
-+#endif<br>
-+#if !defined PRIuMAX || PRI_MACROS_BROKEN<br>
-+# undef PRIuMAX<br>
-+# define PRIuMAX (sizeof (uintmax_t) == sizeof (long) ? "lu" : "llu")<br>
-+#endif<br>
-+#if !defined PRIxMAX || PRI_MACROS_BROKEN<br>
-+# undef PRIxMAX<br>
-+# define PRIxMAX (sizeof (uintmax_t) == sizeof (long) ? "lx" : "llx")<br>
-+#endif<br>
-+#if !defined PRIXMAX || PRI_MACROS_BROKEN<br>
-+# undef PRIXMAX<br>
-+# define PRIXMAX (sizeof (uintmax_t) == sizeof (long) ? "lX" : "llX")<br>
-+#endif<br>
-+#if !defined PRIdPTR || PRI_MACROS_BROKEN<br>
-+# undef PRIdPTR<br>
-+# define PRIdPTR \<br>
-+ (sizeof (void *) == sizeof (long) ? "ld" : \<br>
-+ sizeof (void *) == sizeof (int) ? "d" : \<br>
-+ "lld")<br>
-+#endif<br>
-+#if !defined PRIiPTR || PRI_MACROS_BROKEN<br>
-+# undef PRIiPTR<br>
-+# define PRIiPTR \<br>
-+ (sizeof (void *) == sizeof (long) ? "li" : \<br>
-+ sizeof (void *) == sizeof (int) ? "i" : \<br>
-+ "lli")<br>
-+#endif<br>
-+#if !defined PRIoPTR || PRI_MACROS_BROKEN<br>
-+# undef PRIoPTR<br>
-+# define PRIoPTR \<br>
-+ (sizeof (void *) == sizeof (long) ? "lo" : \<br>
-+ sizeof (void *) == sizeof (int) ? "o" : \<br>
-+ "llo")<br>
-+#endif<br>
-+#if !defined PRIuPTR || PRI_MACROS_BROKEN<br>
-+# undef PRIuPTR<br>
-+# define PRIuPTR \<br>
-+ (sizeof (void *) == sizeof (long) ? "lu" : \<br>
-+ sizeof (void *) == sizeof (int) ? "u" : \<br>
-+ "llu")<br>
-+#endif<br>
-+#if !defined PRIxPTR || PRI_MACROS_BROKEN<br>
-+# undef PRIxPTR<br>
-+# define PRIxPTR \<br>
-+ (sizeof (void *) == sizeof (long) ? "lx" : \<br>
-+ sizeof (void *) == sizeof (int) ? "x" : \<br>
-+ "llx")<br>
-+#endif<br>
-+#if !defined PRIXPTR || PRI_MACROS_BROKEN<br>
-+# undef PRIXPTR<br>
-+# define PRIXPTR \<br>
-+ (sizeof (void *) == sizeof (long) ? "lX" : \<br>
-+ sizeof (void *) == sizeof (int) ? "X" : \<br>
-+ "llX")<br>
-+#endif<br>
- <br>
- /* @@ end of prolog @@ */<br>
- <br>
-@@ -44,7 +457,6 @@<br>
- /* Rename the non ISO C functions. This is required by the standard<br>
- because some ISO C functions will require linking with this object<br>
- file and the name space must not be polluted. */<br>
--# define fstat __fstat<br>
- # define open __open<br>
- # define close __close<br>
- # define read __read<br>
-@@ -52,30 +464,471 @@<br>
- # define munmap __munmap<br>
- #endif<br>
- <br>
-+/* For those losing systems which don't have `alloca' we have to add<br>
-+ some additional code emulating it. */<br>
-+#ifdef HAVE_ALLOCA<br>
-+# define freea(p) /* nothing */<br>
-+#else<br>
-+# define alloca(n) malloc (n)<br>
-+# define freea(p) free (p)<br>
-+#endif<br>
-+<br>
-+/* For systems that distinguish between text and binary I/O.<br>
-+ O_BINARY is usually declared in <fcntl.h>. */<br>
-+#if !defined O_BINARY && defined _O_BINARY<br>
-+ /* For MSC-compatible compilers. */<br>
-+# define O_BINARY _O_BINARY<br>
-+# define O_TEXT _O_TEXT<br>
-+#endif<br>
-+#ifdef __BEOS__<br>
-+ /* BeOS 5 has O_BINARY and O_TEXT, but they have no effect. */<br>
-+# undef O_BINARY<br>
-+# undef O_TEXT<br>
-+#endif<br>
-+/* On reasonable systems, binary I/O is the default. */<br>
-+#ifndef O_BINARY<br>
-+# define O_BINARY 0<br>
-+#endif<br>
-+<br>
-+<br>
- /* We need a sign, whether a new catalog was loaded, which can be associated<br>
- with all translations. This is important if the translations are<br>
- cached by one of GCC's features. */<br>
--int _nl_msg_cat_cntr = 0;<br>
-+int _nl_msg_cat_cntr;<br>
- <br>
- <br>
-+/* Expand a system dependent string segment. Return NULL if unsupported. */<br>
-+static const char *<br>
-+get_sysdep_segment_value (const char *name)<br>
-+{<br>
-+ /* Test for an ISO C 99 section 7.8.1 format string directive.<br>
-+ Syntax:<br>
-+ P R I { d | i | o | u | x | X }<br>
-+ { { | LEAST | FAST } { 8 | 16 | 32 | 64 } | MAX | PTR } */<br>
-+ /* We don't use a table of 14 times 6 'const char *' strings here, because<br>
-+ data relocations cost startup time. */<br>
-+ if (name[0] == 'P' && name[1] == 'R' && name[2] == 'I')<br>
-+ {<br>
-+ if (name[3] == 'd' || name[3] == 'i' || name[3] == 'o' || name[3] == 'u'<br>
-+ || name[3] == 'x' || name[3] == 'X')<br>
-+ {<br>
-+ if (name[4] == '8' && name[5] == '\0')<br>
-+ {<br>
-+ if (name[3] == 'd')<br>
-+ return PRId8;<br>
-+ if (name[3] == 'i')<br>
-+ return PRIi8;<br>
-+ if (name[3] == 'o')<br>
-+ return PRIo8;<br>
-+ if (name[3] == 'u')<br>
-+ return PRIu8;<br>
-+ if (name[3] == 'x')<br>
-+ return PRIx8;<br>
-+ if (name[3] == 'X')<br>
-+ return PRIX8;<br>
-+ abort ();<br>
-+ }<br>
-+ if (name[4] == '1' && name[5] == '6' && name[6] == '\0')<br>
-+ {<br>
-+ if (name[3] == 'd')<br>
-+ return PRId16;<br>
-+ if (name[3] == 'i')<br>
-+ return PRIi16;<br>
-+ if (name[3] == 'o')<br>
-+ return PRIo16;<br>
-+ if (name[3] == 'u')<br>
-+ return PRIu16;<br>
-+ if (name[3] == 'x')<br>
-+ return PRIx16;<br>
-+ if (name[3] == 'X')<br>
-+ return PRIX16;<br>
-+ abort ();<br>
-+ }<br>
-+ if (name[4] == '3' && name[5] == '2' && name[6] == '\0')<br>
-+ {<br>
-+ if (name[3] == 'd')<br>
-+ return PRId32;<br>
-+ if (name[3] == 'i')<br>
-+ return PRIi32;<br>
-+ if (name[3] == 'o')<br>
-+ return PRIo32;<br>
-+ if (name[3] == 'u')<br>
-+ return PRIu32;<br>
-+ if (name[3] == 'x')<br>
-+ return PRIx32;<br>
-+ if (name[3] == 'X')<br>
-+ return PRIX32;<br>
-+ abort ();<br>
-+ }<br>
-+ if (name[4] == '6' && name[5] == '4' && name[6] == '\0')<br>
-+ {<br>
-+ if (name[3] == 'd')<br>
-+ return PRId64;<br>
-+ if (name[3] == 'i')<br>
-+ return PRIi64;<br>
-+ if (name[3] == 'o')<br>
-+ return PRIo64;<br>
-+ if (name[3] == 'u')<br>
-+ return PRIu64;<br>
-+ if (name[3] == 'x')<br>
-+ return PRIx64;<br>
-+ if (name[3] == 'X')<br>
-+ return PRIX64;<br>
-+ abort ();<br>
-+ }<br>
-+ if (name[4] == 'L' && name[5] == 'E' && name[6] == 'A'<br>
-+ && name[7] == 'S' && name[8] == 'T')<br>
-+ {<br>
-+ if (name[9] == '8' && name[10] == '\0')<br>
-+ {<br>
-+ if (name[3] == 'd')<br>
-+ return PRIdLEAST8;<br>
-+ if (name[3] == 'i')<br>
-+ return PRIiLEAST8;<br>
-+ if (name[3] == 'o')<br>
-+ return PRIoLEAST8;<br>
-+ if (name[3] == 'u')<br>
-+ return PRIuLEAST8;<br>
-+ if (name[3] == 'x')<br>
-+ return PRIxLEAST8;<br>
-+ if (name[3] == 'X')<br>
-+ return PRIXLEAST8;<br>
-+ abort ();<br>
-+ }<br>
-+ if (name[9] == '1' && name[10] == '6' && name[11] == '\0')<br>
-+ {<br>
-+ if (name[3] == 'd')<br>
-+ return PRIdLEAST16;<br>
-+ if (name[3] == 'i')<br>
-+ return PRIiLEAST16;<br>
-+ if (name[3] == 'o')<br>
-+ return PRIoLEAST16;<br>
-+ if (name[3] == 'u')<br>
-+ return PRIuLEAST16;<br>
-+ if (name[3] == 'x')<br>
-+ return PRIxLEAST16;<br>
-+ if (name[3] == 'X')<br>
-+ return PRIXLEAST16;<br>
-+ abort ();<br>
-+ }<br>
-+ if (name[9] == '3' && name[10] == '2' && name[11] == '\0')<br>
-+ {<br>
-+ if (name[3] == 'd')<br>
-+ return PRIdLEAST32;<br>
-+ if (name[3] == 'i')<br>
-+ return PRIiLEAST32;<br>
-+ if (name[3] == 'o')<br>
-+ return PRIoLEAST32;<br>
-+ if (name[3] == 'u')<br>
-+ return PRIuLEAST32;<br>
-+ if (name[3] == 'x')<br>
-+ return PRIxLEAST32;<br>
-+ if (name[3] == 'X')<br>
-+ return PRIXLEAST32;<br>
-+ abort ();<br>
-+ }<br>
-+ if (name[9] == '6' && name[10] == '4' && name[11] == '\0')<br>
-+ {<br>
-+ if (name[3] == 'd')<br>
-+ return PRIdLEAST64;<br>
-+ if (name[3] == 'i')<br>
-+ return PRIiLEAST64;<br>
-+ if (name[3] == 'o')<br>
-+ return PRIoLEAST64;<br>
-+ if (name[3] == 'u')<br>
-+ return PRIuLEAST64;<br>
-+ if (name[3] == 'x')<br>
-+ return PRIxLEAST64;<br>
-+ if (name[3] == 'X')<br>
-+ return PRIXLEAST64;<br>
-+ abort ();<br>
-+ }<br>
-+ }<br>
-+ if (name[4] == 'F' && name[5] == 'A' && name[6] == 'S'<br>
-+ && name[7] == 'T')<br>
-+ {<br>
-+ if (name[8] == '8' && name[9] == '\0')<br>
-+ {<br>
-+ if (name[3] == 'd')<br>
-+ return PRIdFAST8;<br>
-+ if (name[3] == 'i')<br>
-+ return PRIiFAST8;<br>
-+ if (name[3] == 'o')<br>
-+ return PRIoFAST8;<br>
-+ if (name[3] == 'u')<br>
-+ return PRIuFAST8;<br>
-+ if (name[3] == 'x')<br>
-+ return PRIxFAST8;<br>
-+ if (name[3] == 'X')<br>
-+ return PRIXFAST8;<br>
-+ abort ();<br>
-+ }<br>
-+ if (name[8] == '1' && name[9] == '6' && name[10] == '\0')<br>
-+ {<br>
-+ if (name[3] == 'd')<br>
-+ return PRIdFAST16;<br>
-+ if (name[3] == 'i')<br>
-+ return PRIiFAST16;<br>
-+ if (name[3] == 'o')<br>
-+ return PRIoFAST16;<br>
-+ if (name[3] == 'u')<br>
-+ return PRIuFAST16;<br>
-+ if (name[3] == 'x')<br>
-+ return PRIxFAST16;<br>
-+ if (name[3] == 'X')<br>
-+ return PRIXFAST16;<br>
-+ abort ();<br>
-+ }<br>
-+ if (name[8] == '3' && name[9] == '2' && name[10] == '\0')<br>
-+ {<br>
-+ if (name[3] == 'd')<br>
-+ return PRIdFAST32;<br>
-+ if (name[3] == 'i')<br>
-+ return PRIiFAST32;<br>
-+ if (name[3] == 'o')<br>
-+ return PRIoFAST32;<br>
-+ if (name[3] == 'u')<br>
-+ return PRIuFAST32;<br>
-+ if (name[3] == 'x')<br>
-+ return PRIxFAST32;<br>
-+ if (name[3] == 'X')<br>
-+ return PRIXFAST32;<br>
-+ abort ();<br>
-+ }<br>
-+ if (name[8] == '6' && name[9] == '4' && name[10] == '\0')<br>
-+ {<br>
-+ if (name[3] == 'd')<br>
-+ return PRIdFAST64;<br>
-+ if (name[3] == 'i')<br>
-+ return PRIiFAST64;<br>
-+ if (name[3] == 'o')<br>
-+ return PRIoFAST64;<br>
-+ if (name[3] == 'u')<br>
-+ return PRIuFAST64;<br>
-+ if (name[3] == 'x')<br>
-+ return PRIxFAST64;<br>
-+ if (name[3] == 'X')<br>
-+ return PRIXFAST64;<br>
-+ abort ();<br>
-+ }<br>
-+ }<br>
-+ if (name[4] == 'M' && name[5] == 'A' && name[6] == 'X'<br>
-+ && name[7] == '\0')<br>
-+ {<br>
-+ if (name[3] == 'd')<br>
-+ return PRIdMAX;<br>
-+ if (name[3] == 'i')<br>
-+ return PRIiMAX;<br>
-+ if (name[3] == 'o')<br>
-+ return PRIoMAX;<br>
-+ if (name[3] == 'u')<br>
-+ return PRIuMAX;<br>
-+ if (name[3] == 'x')<br>
-+ return PRIxMAX;<br>
-+ if (name[3] == 'X')<br>
-+ return PRIXMAX;<br>
-+ abort ();<br>
-+ }<br>
-+ if (name[4] == 'P' && name[5] == 'T' && name[6] == 'R'<br>
-+ && name[7] == '\0')<br>
-+ {<br>
-+ if (name[3] == 'd')<br>
-+ return PRIdPTR;<br>
-+ if (name[3] == 'i')<br>
-+ return PRIiPTR;<br>
-+ if (name[3] == 'o')<br>
-+ return PRIoPTR;<br>
-+ if (name[3] == 'u')<br>
-+ return PRIuPTR;<br>
-+ if (name[3] == 'x')<br>
-+ return PRIxPTR;<br>
-+ if (name[3] == 'X')<br>
-+ return PRIXPTR;<br>
-+ abort ();<br>
-+ }<br>
-+ }<br>
-+ }<br>
-+ /* Test for a glibc specific printf() format directive flag. */<br>
-+ if (name[0] == 'I' && name[1] == '\0')<br>
-+ {<br>
-+#if defined _LIBC || __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2)<br>
-+ /* The 'I' flag, in numeric format directives, replaces ASCII digits<br>
-+ with the 'outdigits' defined in the LC_CTYPE locale facet. This is<br>
-+ used for Farsi (Persian) and maybe Arabic. */<br>
-+ return "I";<br>
-+#else<br>
-+ return "";<br>
-+#endif<br>
-+ }<br>
-+ /* Other system dependent strings are not valid. */<br>
-+ return NULL;<br>
-+}<br>
-+<br>
-+/* Initialize the codeset dependent parts of an opened message catalog.<br>
-+ Return the header entry. */<br>
-+const char *<br>
-+internal_function<br>
-+_nl_init_domain_conv (struct loaded_l10nfile *domain_file,<br>
-+ struct loaded_domain *domain,<br>
-+ struct binding *domainbinding)<br>
-+{<br>
-+ /* Find out about the character set the file is encoded with.<br>
-+ This can be found (in textual form) in the entry "". If this<br>
-+ entry does not exist or if this does not contain the `charset='<br>
-+ information, we will assume the charset matches the one the<br>
-+ current locale and we don't have to perform any conversion. */<br>
-+ char *nullentry;<br>
-+ size_t nullentrylen;<br>
-+<br>
-+ /* Preinitialize fields, to avoid recursion during _nl_find_msg. */<br>
-+ domain->codeset_cntr =<br>
-+ (domainbinding != NULL ? domainbinding->codeset_cntr : 0);<br>
-+#ifdef _LIBC<br>
-+ domain->conv = (__gconv_t) -1;<br>
-+#else<br>
-+# if HAVE_ICONV<br>
-+ domain->conv = (iconv_t) -1;<br>
-+# endif<br>
-+#endif<br>
-+ domain->conv_tab = NULL;<br>
-+<br>
-+ /* Get the header entry. */<br>
-+ nullentry = _nl_find_msg (domain_file, domainbinding, "", &nullentrylen);<br>
-+<br>
-+ if (nullentry != NULL)<br>
-+ {<br>
-+#if defined _LIBC || HAVE_ICONV<br>
-+ const char *charsetstr;<br>
-+<br>
-+ charsetstr = strstr (nullentry, "charset=");<br>
-+ if (charsetstr != NULL)<br>
-+ {<br>
-+ size_t len;<br>
-+ char *charset;<br>
-+ const char *outcharset;<br>
-+<br>
-+ charsetstr += strlen ("charset=");<br>
-+ len = strcspn (charsetstr, " \t\n");<br>
-+<br>
-+ charset = (char *) alloca (len + 1);<br>
-+# if defined _LIBC || HAVE_MEMPCPY<br>
-+ *((char *) mempcpy (charset, charsetstr, len)) = '\0';<br>
-+# else<br>
-+ memcpy (charset, charsetstr, len);<br>
-+ charset[len] = '\0';<br>
-+# endif<br>
-+<br>
-+ /* The output charset should normally be determined by the<br>
-+ locale. But sometimes the locale is not used or not correctly<br>
-+ set up, so we provide a possibility for the user to override<br>
-+ this. Moreover, the value specified through<br>
-+ bind_textdomain_codeset overrides both. */<br>
-+ if (domainbinding != NULL && domainbinding->codeset != NULL)<br>
-+ outcharset = domainbinding->codeset;<br>
-+ else<br>
-+ {<br>
-+ outcharset = getenv ("OUTPUT_CHARSET");<br>
-+ if (outcharset == NULL || outcharset[0] == '\0')<br>
-+ {<br>
-+# ifdef _LIBC<br>
-+ outcharset = _NL_CURRENT (LC_CTYPE, CODESET);<br>
-+# else<br>
-+# if HAVE_ICONV<br>
-+ extern const char *locale_charset (void);<br>
-+ outcharset = locale_charset ();<br>
-+# endif<br>
-+# endif<br>
-+ }<br>
-+ }<br>
-+<br>
-+# ifdef _LIBC<br>
-+ /* We always want to use transliteration. */<br>
-+ outcharset = norm_add_slashes (outcharset, "TRANSLIT");<br>
-+ charset = norm_add_slashes (charset, NULL);<br>
-+ if (__gconv_open (outcharset, charset, &domain->conv,<br>
-+ GCONV_AVOID_NOCONV)<br>
-+ != __GCONV_OK)<br>
-+ domain->conv = (__gconv_t) -1;<br>
-+# else<br>
-+# if HAVE_ICONV<br>
-+ /* When using GNU libc >= 2.2 or GNU libiconv >= 1.5,<br>
-+ we want to use transliteration. */<br>
-+# if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2) || __GLIBC__ > 2 \<br>
-+ || _LIBICONV_VERSION >= 0x0105<br>
-+ if (strchr (outcharset, '/') == NULL)<br>
-+ {<br>
-+ char *tmp;<br>
-+<br>
-+ len = strlen (outcharset);<br>
-+ tmp = (char *) alloca (len + 10 + 1);<br>
-+ memcpy (tmp, outcharset, len);<br>
-+ memcpy (tmp + len, "//TRANSLIT", 10 + 1);<br>
-+ outcharset = tmp;<br>
-+<br>
-+ domain->conv = iconv_open (outcharset, charset);<br>
-+<br>
-+ freea (outcharset);<br>
-+ }<br>
-+ else<br>
-+# endif<br>
-+ domain->conv = iconv_open (outcharset, charset);<br>
-+# endif<br>
-+# endif<br>
-+<br>
-+ freea (charset);<br>
-+ }<br>
-+#endif /* _LIBC || HAVE_ICONV */<br>
-+ }<br>
-+<br>
-+ return nullentry;<br>
-+}<br>
-+<br>
-+/* Frees the codeset dependent parts of an opened message catalog. */<br>
-+void<br>
-+internal_function<br>
-+_nl_free_domain_conv (struct loaded_domain *domain)<br>
-+{<br>
-+ if (domain->conv_tab != NULL && domain->conv_tab != (char **) -1)<br>
-+ free (domain->conv_tab);<br>
-+<br>
-+#ifdef _LIBC<br>
-+ if (domain->conv != (__gconv_t) -1)<br>
-+ __gconv_close (domain->conv);<br>
-+#else<br>
-+# if HAVE_ICONV<br>
-+ if (domain->conv != (iconv_t) -1)<br>
-+ iconv_close (domain->conv);<br>
-+# endif<br>
-+#endif<br>
-+}<br>
-+<br>
- /* Load the message catalogs specified by FILENAME. If it is no valid<br>
- message catalog do nothing. */<br>
- void<br>
--_nl_load_domain (domain_file)<br>
-- struct loaded_l10nfile *domain_file;<br>
-+internal_function<br>
-+_nl_load_domain (struct loaded_l10nfile *domain_file,<br>
-+ struct binding *domainbinding)<br>
- {<br>
- int fd;<br>
-+ size_t size;<br>
-+#ifdef _LIBC<br>
-+ struct stat64 st;<br>
-+#else<br>
- struct stat st;<br>
-+#endif<br>
- struct mo_file_header *data = (struct mo_file_header *) -1;<br>
--#if (defined HAVE_MMAP && defined HAVE_MUNMAP && !defined DISALLOW_MMAP) \<br>
-- || defined _LIBC<br>
- int use_mmap = 0;<br>
--#endif<br>
- struct loaded_domain *domain;<br>
-+ int revision;<br>
-+ const char *nullentry;<br>
- <br>
- domain_file->decided = 1;<br>
- domain_file->data = NULL;<br>
- <br>
-+ /* Note that it would be useless to store domainbinding in domain_file<br>
-+ because domainbinding might be == NULL now but != NULL later (after<br>
-+ a call to bind_textdomain_codeset). */<br>
-+<br>
- /* If the record does not represent a valid locale the FILENAME<br>
- might be NULL. This can happen when according to the given<br>
- specification the locale file name is different for XPG and CEN<br>
-@@ -84,27 +937,32 @@<br>
- return;<br>
- <br>
- /* Try to open the addressed file. */<br>
-- fd = open (domain_file->filename, O_RDONLY);<br>
-+ fd = open (domain_file->filename, O_RDONLY | O_BINARY);<br>
- if (fd == -1)<br>
- return;<br>
- <br>
- /* We must know about the size of the file. */<br>
-- if (fstat (fd, &st) != 0<br>
-- && st.st_size < (off_t) sizeof (struct mo_file_header))<br>
-+ if (<br>
-+#ifdef _LIBC<br>
-+ __builtin_expect (fstat64 (fd, &st) != 0, 0)<br>
-+#else<br>
-+ __builtin_expect (fstat (fd, &st) != 0, 0)<br>
-+#endif<br>
-+ || __builtin_expect ((size = (size_t) st.st_size) != st.st_size, 0)<br>
-+ || __builtin_expect (size < sizeof (struct mo_file_header), 0))<br>
- {<br>
- /* Something went wrong. */<br>
- close (fd);<br>
- return;<br>
- }<br>
- <br>
--#if (defined HAVE_MMAP && defined HAVE_MUNMAP && !defined DISALLOW_MMAP) \<br>
-- || defined _LIBC<br>
-+#ifdef HAVE_MMAP<br>
- /* Now we are ready to load the file. If mmap() is available we try<br>
- this first. If not available or it failed we try to load it. */<br>
-- data = (struct mo_file_header *) mmap (NULL, st.st_size, PROT_READ,<br>
-+ data = (struct mo_file_header *) mmap (NULL, size, PROT_READ,<br>
- MAP_PRIVATE, fd, 0);<br>
- <br>
-- if (data != (struct mo_file_header *) -1)<br>
-+ if (__builtin_expect (data != (struct mo_file_header *) -1, 1))<br>
- {<br>
- /* mmap() call was successful. */<br>
- close (fd);<br>
-@@ -116,24 +974,27 @@<br>
- it manually. */<br>
- if (data == (struct mo_file_header *) -1)<br>
- {<br>
-- off_t to_read;<br>
-+ size_t to_read;<br>
- char *read_ptr;<br>
- <br>
-- data = (struct mo_file_header *) malloc (st.st_size);<br>
-+ data = (struct mo_file_header *) malloc (size);<br>
- if (data == NULL)<br>
- return;<br>
- <br>
-- to_read = st.st_size;<br>
-+ to_read = size;<br>
- read_ptr = (char *) data;<br>
- do<br>
- {<br>
- long int nb = (long int) read (fd, read_ptr, to_read);<br>
-- if (nb == -1)<br>
-+ if (nb <= 0)<br>
- {<br>
-+#ifdef EINTR<br>
-+ if (nb == -1 && errno == EINTR)<br>
-+ continue;<br>
-+#endif<br>
- close (fd);<br>
- return;<br>
- }<br>
--<br>
- read_ptr += nb;<br>
- to_read -= nb;<br>
- }<br>
-@@ -144,47 +1005,378 @@<br>
- <br>
- /* Using the magic number we can test whether it really is a message<br>
- catalog file. */<br>
-- if (data->magic != _MAGIC && data->magic != _MAGIC_SWAPPED)<br>
-+ if (__builtin_expect (data->magic != _MAGIC && data->magic != _MAGIC_SWAPPED,<br>
-+ 0))<br>
- {<br>
- /* The magic number is wrong: not a message catalog file. */<br>
--#if (defined HAVE_MMAP && defined HAVE_MUNMAP && !defined DISALLOW_MMAP) \<br>
-- || defined _LIBC<br>
-+#ifdef HAVE_MMAP<br>
- if (use_mmap)<br>
-- munmap ((caddr_t) data, st.st_size);<br>
-+ munmap ((caddr_t) data, size);<br>
- else<br>
- #endif<br>
- free (data);<br>
- return;<br>
- }<br>
- <br>
-- domain_file->data<br>
-- = (struct loaded_domain *) malloc (sizeof (struct loaded_domain));<br>
-- if (domain_file->data == NULL)<br>
-+ domain = (struct loaded_domain *) malloc (sizeof (struct loaded_domain));<br>
-+ if (domain == NULL)<br>
- return;<br>
-+ domain_file->data = domain;<br>
- <br>
-- domain = (struct loaded_domain *) domain_file->data;<br>
- domain->data = (char *) data;<br>
-+ domain->use_mmap = use_mmap;<br>
-+ domain->mmap_size = size;<br>
- domain->must_swap = data->magic != _MAGIC;<br>
-+ domain->malloced = NULL;<br>
- <br>
- /* Fill in the information about the available tables. */<br>
-- switch (W (domain->must_swap, data->revision))<br>
-+ revision = W (domain->must_swap, data->revision);<br>
-+ /* We support only the major revisions 0 and 1. */<br>
-+ switch (revision >> 16)<br>
- {<br>
- case 0:<br>
-+ case 1:<br>
- domain->nstrings = W (domain->must_swap, data->nstrings);<br>
-- domain->orig_tab = (struct string_desc *)<br>
-+ domain->orig_tab = (const struct string_desc *)<br>
- ((char *) data + W (domain->must_swap, data->orig_tab_offset));<br>
-- domain->trans_tab = (struct string_desc *)<br>
-+ domain->trans_tab = (const struct string_desc *)<br>
- ((char *) data + W (domain->must_swap, data->trans_tab_offset));<br>
- domain->hash_size = W (domain->must_swap, data->hash_tab_size);<br>
-- domain->hash_tab = (nls_uint32 *)<br>
-- ((char *) data + W (domain->must_swap, data->hash_tab_offset));<br>
-+ domain->hash_tab =<br>
-+ (domain->hash_size > 2<br>
-+ ? (const nls_uint32 *)<br>
-+ ((char *) data + W (domain->must_swap, data->hash_tab_offset))<br>
-+ : NULL);<br>
-+ domain->must_swap_hash_tab = domain->must_swap;<br>
-+<br>
-+ /* Now dispatch on the minor revision. */<br>
-+ switch (revision & 0xffff)<br>
-+ {<br>
-+ case 0:<br>
-+ domain->n_sysdep_strings = 0;<br>
-+ domain->orig_sysdep_tab = NULL;<br>
-+ domain->trans_sysdep_tab = NULL;<br>
-+ break;<br>
-+ case 1:<br>
-+ default:<br>
-+ {<br>
-+ nls_uint32 n_sysdep_strings;<br>
-+<br>
-+ if (domain->hash_tab == NULL)<br>
-+ /* This is invalid. These minor revisions need a hash table. */<br>
-+ goto invalid;<br>
-+<br>
-+ n_sysdep_strings =<br>
-+ W (domain->must_swap, data->n_sysdep_strings);<br>
-+ if (n_sysdep_strings > 0)<br>
-+ {<br>
-+ nls_uint32 n_sysdep_segments;<br>
-+ const struct sysdep_segment *sysdep_segments;<br>
-+ const char **sysdep_segment_values;<br>
-+ const nls_uint32 *orig_sysdep_tab;<br>
-+ const nls_uint32 *trans_sysdep_tab;<br>
-+ nls_uint32 n_inmem_sysdep_strings;<br>
-+ size_t memneed;<br>
-+ char *mem;<br>
-+ struct sysdep_string_desc *inmem_orig_sysdep_tab;<br>
-+ struct sysdep_string_desc *inmem_trans_sysdep_tab;<br>
-+ nls_uint32 *inmem_hash_tab;<br>
-+ unsigned int i, j;<br>
-+<br>
-+ /* Get the values of the system dependent segments. */<br>
-+ n_sysdep_segments =<br>
-+ W (domain->must_swap, data->n_sysdep_segments);<br>
-+ sysdep_segments = (const struct sysdep_segment *)<br>
-+ ((char *) data<br>
-+ + W (domain->must_swap, data->sysdep_segments_offset));<br>
-+ sysdep_segment_values =<br>
-+ alloca (n_sysdep_segments * sizeof (const char *));<br>
-+ for (i = 0; i < n_sysdep_segments; i++)<br>
-+ {<br>
-+ const char *name =<br>
-+ (char *) data<br>
-+ + W (domain->must_swap, sysdep_segments[i].offset);<br>
-+ nls_uint32 namelen =<br>
-+ W (domain->must_swap, sysdep_segments[i].length);<br>
-+<br>
-+ if (!(namelen > 0 && name[namelen - 1] == '\0'))<br>
-+ {<br>
-+ freea (sysdep_segment_values);<br>
-+ goto invalid;<br>
-+ }<br>
-+<br>
-+ sysdep_segment_values[i] = get_sysdep_segment_value (name);<br>
-+ }<br>
-+<br>
-+ orig_sysdep_tab = (const nls_uint32 *)<br>
-+ ((char *) data<br>
-+ + W (domain->must_swap, data->orig_sysdep_tab_offset));<br>
-+ trans_sysdep_tab = (const nls_uint32 *)<br>
-+ ((char *) data<br>
-+ + W (domain->must_swap, data->trans_sysdep_tab_offset));<br>
-+<br>
-+ /* Compute the amount of additional memory needed for the<br>
-+ system dependent strings and the augmented hash table.<br>
-+ At the same time, also drop string pairs which refer to<br>
-+ an undefined system dependent segment. */<br>
-+ n_inmem_sysdep_strings = 0;<br>
-+ memneed = domain->hash_size * sizeof (nls_uint32);<br>
-+ for (i = 0; i < n_sysdep_strings; i++)<br>
-+ {<br>
-+ int valid = 1;<br>
-+ size_t needs[2];<br>
-+<br>
-+ for (j = 0; j < 2; j++)<br>
-+ {<br>
-+ const struct sysdep_string *sysdep_string =<br>
-+ (const struct sysdep_string *)<br>
-+ ((char *) data<br>
-+ + W (domain->must_swap,<br>
-+ j == 0<br>
-+ ? orig_sysdep_tab[i]<br>
-+ : trans_sysdep_tab[i]));<br>
-+ size_t need = 0;<br>
-+ const struct segment_pair *p = sysdep_string->segments;<br>
-+<br>
-+ if (W (domain->must_swap, p->sysdepref) != SEGMENTS_END)<br>
-+ for (p = sysdep_string->segments;; p++)<br>
-+ {<br>
-+ nls_uint32 sysdepref;<br>
-+<br>
-+ need += W (domain->must_swap, p->segsize);<br>
-+<br>
-+ sysdepref = W (domain->must_swap, p->sysdepref);<br>
-+ if (sysdepref == SEGMENTS_END)<br>
-+ break;<br>
-+<br>
-+ if (sysdepref >= n_sysdep_segments)<br>
-+ {<br>
-+ /* Invalid. */<br>
-+ freea (sysdep_segment_values);<br>
-+ goto invalid;<br>
-+ }<br>
-+<br>
-+ if (sysdep_segment_values[sysdepref] == NULL)<br>
-+ {<br>
-+ /* This particular string pair is invalid. */<br>
-+ valid = 0;<br>
-+ break;<br>
-+ }<br>
-+<br>
-+ need += strlen (sysdep_segment_values[sysdepref]);<br>
-+ }<br>
-+<br>
-+ needs[j] = need;<br>
-+ if (!valid)<br>
-+ break;<br>
-+ }<br>
-+<br>
-+ if (valid)<br>
-+ {<br>
-+ n_inmem_sysdep_strings++;<br>
-+ memneed += needs[0] + needs[1];<br>
-+ }<br>
-+ }<br>
-+ memneed += 2 * n_inmem_sysdep_strings<br>
-+ * sizeof (struct sysdep_string_desc);<br>
-+<br>
-+ if (n_inmem_sysdep_strings > 0)<br>
-+ {<br>
-+ unsigned int k;<br>
-+<br>
-+ /* Allocate additional memory. */<br>
-+ mem = (char *) malloc (memneed);<br>
-+ if (mem == NULL)<br>
-+ goto invalid;<br>
-+<br>
-+ domain->malloced = mem;<br>
-+ inmem_orig_sysdep_tab = (struct sysdep_string_desc *) mem;<br>
-+ mem += n_inmem_sysdep_strings<br>
-+ * sizeof (struct sysdep_string_desc);<br>
-+ inmem_trans_sysdep_tab = (struct sysdep_string_desc *) mem;<br>
-+ mem += n_inmem_sysdep_strings<br>
-+ * sizeof (struct sysdep_string_desc);<br>
-+ inmem_hash_tab = (nls_uint32 *) mem;<br>
-+ mem += domain->hash_size * sizeof (nls_uint32);<br>
-+<br>
-+ /* Compute the system dependent strings. */<br>
-+ k = 0;<br>
-+ for (i = 0; i < n_sysdep_strings; i++)<br>
-+ {<br>
-+ int valid = 1;<br>
-+<br>
-+ for (j = 0; j < 2; j++)<br>
-+ {<br>
-+ const struct sysdep_string *sysdep_string =<br>
-+ (const struct sysdep_string *)<br>
-+ ((char *) data<br>
-+ + W (domain->must_swap,<br>
-+ j == 0<br>
-+ ? orig_sysdep_tab[i]<br>
-+ : trans_sysdep_tab[i]));<br>
-+ const struct segment_pair *p =<br>
-+ sysdep_string->segments;<br>
-+<br>
-+ if (W (domain->must_swap, p->sysdepref)<br>
-+ != SEGMENTS_END)<br>
-+ for (p = sysdep_string->segments;; p++)<br>
-+ {<br>
-+ nls_uint32 sysdepref;<br>
-+<br>
-+ sysdepref =<br>
-+ W (domain->must_swap, p->sysdepref);<br>
-+ if (sysdepref == SEGMENTS_END)<br>
-+ break;<br>
-+<br>
-+ if (sysdep_segment_values[sysdepref] == NULL)<br>
-+ {<br>
-+ /* This particular string pair is<br>
-+ invalid. */<br>
-+ valid = 0;<br>
-+ break;<br>
-+ }<br>
-+ }<br>
-+<br>
-+ if (!valid)<br>
-+ break;<br>
-+ }<br>
-+<br>
-+ if (valid)<br>
-+ {<br>
-+ for (j = 0; j < 2; j++)<br>
-+ {<br>
-+ const struct sysdep_string *sysdep_string =<br>
-+ (const struct sysdep_string *)<br>
-+ ((char *) data<br>
-+ + W (domain->must_swap,<br>
-+ j == 0<br>
-+ ? orig_sysdep_tab[i]<br>
-+ : trans_sysdep_tab[i]));<br>
-+ const char *static_segments =<br>
-+ (char *) data<br>
-+ + W (domain->must_swap, sysdep_string->offset);<br>
-+ const struct segment_pair *p =<br>
-+ sysdep_string->segments;<br>
-+<br>
-+ /* Concatenate the segments, and fill<br>
-+ inmem_orig_sysdep_tab[k] (for j == 0) and<br>
-+ inmem_trans_sysdep_tab[k] (for j == 1). */<br>
-+<br>
-+ struct sysdep_string_desc *inmem_tab_entry =<br>
-+ (j == 0<br>
-+ ? inmem_orig_sysdep_tab<br>
-+ : inmem_trans_sysdep_tab)<br>
-+ + k;<br>
-+<br>
-+ if (W (domain->must_swap, p->sysdepref)<br>
-+ == SEGMENTS_END)<br>
-+ {<br>
-+ /* Only one static segment. */<br>
-+ inmem_tab_entry->length =<br>
-+ W (domain->must_swap, p->segsize);<br>
-+ inmem_tab_entry->pointer = static_segments;<br>
-+ }<br>
-+ else<br>
-+ {<br>
-+ inmem_tab_entry->pointer = mem;<br>
-+<br>
-+ for (p = sysdep_string->segments;; p++)<br>
-+ {<br>
-+ nls_uint32 segsize =<br>
-+ W (domain->must_swap, p->segsize);<br>
-+ nls_uint32 sysdepref =<br>
-+ W (domain->must_swap, p->sysdepref);<br>
-+ size_t n;<br>
-+<br>
-+ if (segsize > 0)<br>
-+ {<br>
-+ memcpy (mem, static_segments, segsize);<br>
-+ mem += segsize;<br>
-+ static_segments += segsize;<br>
-+ }<br>
-+<br>
-+ if (sysdepref == SEGMENTS_END)<br>
-+ break;<br>
-+<br>
-+ n = strlen (sysdep_segment_values[sysdepref]);<br>
-+ memcpy (mem, sysdep_segment_values[sysdepref], n);<br>
-+ mem += n;<br>
-+ }<br>
-+<br>
-+ inmem_tab_entry->length =<br>
-+ mem - inmem_tab_entry->pointer;<br>
-+ }<br>
-+ }<br>
-+<br>
-+ k++;<br>
-+ }<br>
-+ }<br>
-+ if (k != n_inmem_sysdep_strings)<br>
-+ abort ();<br>
-+<br>
-+ /* Compute the augmented hash table. */<br>
-+ for (i = 0; i < domain->hash_size; i++)<br>
-+ inmem_hash_tab[i] =<br>
-+ W (domain->must_swap_hash_tab, domain->hash_tab[i]);<br>
-+ for (i = 0; i < n_inmem_sysdep_strings; i++)<br>
-+ {<br>
-+ const char *msgid = inmem_orig_sysdep_tab[i].pointer;<br>
-+ nls_uint32 hash_val = hash_string (msgid);<br>
-+ nls_uint32 idx = hash_val % domain->hash_size;<br>
-+ nls_uint32 incr =<br>
-+ 1 + (hash_val % (domain->hash_size - 2));<br>
-+<br>
-+ for (;;)<br>
-+ {<br>
-+ if (inmem_hash_tab[idx] == 0)<br>
-+ {<br>
-+ /* Hash table entry is empty. Use it. */<br>
-+ inmem_hash_tab[idx] = 1 + domain->nstrings + i;<br>
-+ break;<br>
-+ }<br>
-+<br>
-+ if (idx >= domain->hash_size - incr)<br>
-+ idx -= domain->hash_size - incr;<br>
-+ else<br>
-+ idx += incr;<br>
-+ }<br>
-+ }<br>
-+<br>
-+ domain->n_sysdep_strings = n_inmem_sysdep_strings;<br>
-+ domain->orig_sysdep_tab = inmem_orig_sysdep_tab;<br>
-+ domain->trans_sysdep_tab = inmem_trans_sysdep_tab;<br>
-+<br>
-+ domain->hash_tab = inmem_hash_tab;<br>
-+ domain->must_swap_hash_tab = 0;<br>
-+ }<br>
-+ else<br>
-+ {<br>
-+ domain->n_sysdep_strings = 0;<br>
-+ domain->orig_sysdep_tab = NULL;<br>
-+ domain->trans_sysdep_tab = NULL;<br>
-+ }<br>
-+<br>
-+ freea (sysdep_segment_values);<br>
-+ }<br>
-+ else<br>
-+ {<br>
-+ domain->n_sysdep_strings = 0;<br>
-+ domain->orig_sysdep_tab = NULL;<br>
-+ domain->trans_sysdep_tab = NULL;<br>
-+ }<br>
-+ }<br>
-+ break;<br>
-+ }<br>
- break;<br>
- default:<br>
-- /* This is an illegal revision. */<br>
--#if (defined HAVE_MMAP && defined HAVE_MUNMAP && !defined DISALLOW_MMAP) \<br>
-- || defined _LIBC<br>
-+ /* This is an invalid revision. */<br>
-+ invalid:<br>
-+ /* This is an invalid .mo file. */<br>
-+ if (domain->malloced)<br>
-+ free (domain->malloced);<br>
-+#ifdef HAVE_MMAP<br>
- if (use_mmap)<br>
-- munmap ((caddr_t) data, st.st_size);<br>
-+ munmap ((caddr_t) data, size);<br>
- else<br>
- #endif<br>
- free (data);<br>
-@@ -193,7 +1385,36 @@<br>
- return;<br>
- }<br>
- <br>
-- /* Show that one domain is changed. This might make some cached<br>
-- translations invalid. */<br>
-- ++_nl_msg_cat_cntr;<br>
-+ /* Now initialize the character set converter from the character set<br>
-+ the file is encoded with (found in the header entry) to the domain's<br>
-+ specified character set or the locale's character set. */<br>
-+ nullentry = _nl_init_domain_conv (domain_file, domain, domainbinding);<br>
-+<br>
-+ /* Also look for a plural specification. */<br>
-+ EXTRACT_PLURAL_EXPRESSION (nullentry, &domain->plural, &domain->nplurals);<br>
- }<br>
-+<br>
-+<br>
-+#ifdef _LIBC<br>
-+void<br>
-+internal_function<br>
-+_nl_unload_domain (struct loaded_domain *domain)<br>
-+{<br>
-+ if (domain->plural != &__gettext_germanic_plural)<br>
-+ __gettext_free_exp (domain->plural);<br>
-+<br>
-+ _nl_free_domain_conv (domain);<br>
-+<br>
-+ if (domain->malloced)<br>
-+ free (domain->malloced);<br>
-+<br>
-+# ifdef _POSIX_MAPPED_FILES<br>
-+ if (domain->use_mmap)<br>
-+ munmap ((caddr_t) domain->data, domain->mmap_size);<br>
-+ else<br>
-+# endif /* _POSIX_MAPPED_FILES */<br>
-+ free ((void *) domain->data);<br>
-+<br>
-+ free (domain);<br>
-+}<br>
-+#endif<br>
---- lrzsz-0.12.20.safe/intl/localcharset.c 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/intl/localcharset.c 2004-09-12 14:40:34.478729392 -0400<br>
-@@ -0,0 +1,398 @@<br>
-+/* Determine a canonical name for the current locale's character encoding.<br>
-+<br>
-+ Copyright (C) 2000-2003 Free Software Foundation, Inc.<br>
-+<br>
-+ This program is free software; you can redistribute it and/or modify it<br>
-+ under the terms of the GNU Library General Public License as published<br>
-+ by the Free Software Foundation; either version 2, or (at your option)<br>
-+ any later version.<br>
-+<br>
-+ This program is distributed in the hope that it will be useful,<br>
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-+ Library General Public License for more details.<br>
-+<br>
-+ You should have received a copy of the GNU Library General Public<br>
-+ License along with this program; if not, write to the Free Software<br>
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,<br>
-+ USA. */<br>
-+<br>
-+/* Written by Bruno Haible <<a href="mailto:bruno@clisp.org" target="_blank">bruno@clisp.org</a>>. */<br>
-+<br>
-+#ifdef HAVE_CONFIG_H<br>
-+# include <config.h><br>
-+#endif<br>
-+<br>
-+/* Specification. */<br>
-+#include "localcharset.h"<br>
-+<br>
-+#if HAVE_STDDEF_H<br>
-+# include <stddef.h><br>
-+#endif<br>
-+<br>
-+#include <stdio.h><br>
-+#if HAVE_STRING_H<br>
-+# include <string.h><br>
-+#else<br>
-+# include <strings.h><br>
-+#endif<br>
-+#if HAVE_STDLIB_H<br>
-+# include <stdlib.h><br>
-+#endif<br>
-+<br>
-+#if defined _WIN32 || defined __WIN32__<br>
-+# undef WIN32 /* avoid warning on mingw32 */<br>
-+# define WIN32<br>
-+#endif<br>
-+<br>
-+#if defined __EMX__<br>
-+/* Assume EMX program runs on OS/2, even if compiled under DOS. */<br>
-+# define OS2<br>
-+#endif<br>
-+<br>
-+#if !defined WIN32<br>
-+# if HAVE_LANGINFO_CODESET<br>
-+# include <langinfo.h><br>
-+# else<br>
-+# if HAVE_SETLOCALE<br>
-+# include <locale.h><br>
-+# endif<br>
-+# endif<br>
-+#elif defined WIN32<br>
-+# define WIN32_LEAN_AND_MEAN<br>
-+# include <windows.h><br>
-+#endif<br>
-+#if defined OS2<br>
-+# define INCL_DOS<br>
-+# include <os2.h><br>
-+#endif<br>
-+<br>
-+#if ENABLE_RELOCATABLE<br>
-+# include "relocatable.h"<br>
-+#else<br>
-+# define relocate(pathname) (pathname)<br>
-+#endif<br>
-+<br>
-+#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__<br>
-+ /* Win32, OS/2, DOS */<br>
-+# define ISSLASH(C) ((C) == '/' || (C) == '\\')<br>
-+#endif<br>
-+<br>
-+#ifndef DIRECTORY_SEPARATOR<br>
-+# define DIRECTORY_SEPARATOR '/'<br>
-+#endif<br>
-+<br>
-+#ifndef ISSLASH<br>
-+# define ISSLASH(C) ((C) == DIRECTORY_SEPARATOR)<br>
-+#endif<br>
-+<br>
-+#if HAVE_DECL_GETC_UNLOCKED<br>
-+# undef getc<br>
-+# define getc getc_unlocked<br>
-+#endif<br>
-+<br>
-+/* The following static variable is declared 'volatile' to avoid a<br>
-+ possible multithread problem in the function get_charset_aliases. If we<br>
-+ are running in a threaded environment, and if two threads initialize<br>
-+ 'charset_aliases' simultaneously, both will produce the same value,<br>
-+ and everything will be ok if the two assignments to 'charset_aliases'<br>
-+ are atomic. But I don't know what will happen if the two assignments mix. */<br>
-+#if __STDC__ != 1<br>
-+# define volatile /* empty */<br>
-+#endif<br>
-+/* Pointer to the contents of the charset.alias file, if it has already been<br>
-+ read, else NULL. Its format is:<br>
-+ ALIAS_1 '\0' CANONICAL_1 '\0' ... ALIAS_n '\0' CANONICAL_n '\0' '\0' */<br>
-+static const char * volatile charset_aliases;<br>
-+<br>
-+/* Return a pointer to the contents of the charset.alias file. */<br>
-+static const char *<br>
-+get_charset_aliases ()<br>
-+{<br>
-+ const char *cp;<br>
-+<br>
-+ cp = charset_aliases;<br>
-+ if (cp == NULL)<br>
-+ {<br>
-+#if !(defined VMS || defined WIN32)<br>
-+ FILE *fp;<br>
-+ const char *dir = relocate (LIBDIR);<br>
-+ const char *base = "charset.alias";<br>
-+ char *file_name;<br>
-+<br>
-+ /* Concatenate dir and base into freshly allocated file_name. */<br>
-+ {<br>
-+ size_t dir_len = strlen (dir);<br>
-+ size_t base_len = strlen (base);<br>
-+ int add_slash = (dir_len > 0 && !ISSLASH (dir[dir_len - 1]));<br>
-+ file_name = (char *) malloc (dir_len + add_slash + base_len + 1);<br>
-+ if (file_name != NULL)<br>
-+ {<br>
-+ memcpy (file_name, dir, dir_len);<br>
-+ if (add_slash)<br>
-+ file_name[dir_len] = DIRECTORY_SEPARATOR;<br>
-+ memcpy (file_name + dir_len + add_slash, base, base_len + 1);<br>
-+ }<br>
-+ }<br>
-+<br>
-+ if (file_name == NULL || (fp = fopen (file_name, "r")) == NULL)<br>
-+ /* Out of memory or file not found, treat it as empty. */<br>
-+ cp = "";<br>
-+ else<br>
-+ {<br>
-+ /* Parse the file's contents. */<br>
-+ int c;<br>
-+ char buf1[50+1];<br>
-+ char buf2[50+1];<br>
-+ char *res_ptr = NULL;<br>
-+ size_t res_size = 0;<br>
-+ size_t l1, l2;<br>
-+<br>
-+ for (;;)<br>
-+ {<br>
-+ c = getc (fp);<br>
-+ if (c == EOF)<br>
-+ break;<br>
-+ if (c == '\n' || c == ' ' || c == '\t')<br>
-+ continue;<br>
-+ if (c == '#')<br>
-+ {<br>
-+ /* Skip comment, to end of line. */<br>
-+ do<br>
-+ c = getc (fp);<br>
-+ while (!(c == EOF || c == '\n'));<br>
-+ if (c == EOF)<br>
-+ break;<br>
-+ continue;<br>
-+ }<br>
-+ ungetc (c, fp);<br>
-+ if (fscanf (fp, "%50s %50s", buf1, buf2) < 2)<br>
-+ break;<br>
-+ l1 = strlen (buf1);<br>
-+ l2 = strlen (buf2);<br>
-+ if (res_size == 0)<br>
-+ {<br>
-+ res_size = l1 + 1 + l2 + 1;<br>
-+ res_ptr = (char *) malloc (res_size + 1);<br>
-+ }<br>
-+ else<br>
-+ {<br>
-+ res_size += l1 + 1 + l2 + 1;<br>
-+ res_ptr = (char *) realloc (res_ptr, res_size + 1);<br>
-+ }<br>
-+ if (res_ptr == NULL)<br>
-+ {<br>
-+ /* Out of memory. */<br>
-+ res_size = 0;<br>
-+ break;<br>
-+ }<br>
-+ strcpy (res_ptr + res_size - (l2 + 1) - (l1 + 1), buf1);<br>
-+ strcpy (res_ptr + res_size - (l2 + 1), buf2);<br>
-+ }<br>
-+ fclose (fp);<br>
-+ if (res_size == 0)<br>
-+ cp = "";<br>
-+ else<br>
-+ {<br>
-+ *(res_ptr + res_size) = '\0';<br>
-+ cp = res_ptr;<br>
-+ }<br>
-+ }<br>
-+<br>
-+ if (file_name != NULL)<br>
-+ free (file_name);<br>
-+<br>
-+#else<br>
-+<br>
-+# if defined VMS<br>
-+ /* To avoid the troubles of an extra file charset.alias_vms in the<br>
-+ sources of many GNU packages, simply inline the aliases here. */<br>
-+ /* The list of encodings is taken from the OpenVMS 7.3-1 documentation<br>
-+ "Compaq C Run-Time Library Reference Manual for OpenVMS systems"<br>
-+ section 10.7 "Handling Different Character Sets". */<br>
-+ cp = "ISO8859-1" "\0" "ISO-8859-1" "\0"<br>
-+ "ISO8859-2" "\0" "ISO-8859-2" "\0"<br>
-+ "ISO8859-5" "\0" "ISO-8859-5" "\0"<br>
-+ "ISO8859-7" "\0" "ISO-8859-7" "\0"<br>
-+ "ISO8859-8" "\0" "ISO-8859-8" "\0"<br>
-+ "ISO8859-9" "\0" "ISO-8859-9" "\0"<br>
-+ /* Japanese */<br>
-+ "eucJP" "\0" "EUC-JP" "\0"<br>
-+ "SJIS" "\0" "SHIFT_JIS" "\0"<br>
-+ "DECKANJI" "\0" "DEC-KANJI" "\0"<br>
-+ "SDECKANJI" "\0" "EUC-JP" "\0"<br>
-+ /* Chinese */<br>
-+ "eucTW" "\0" "EUC-TW" "\0"<br>
-+ "DECHANYU" "\0" "DEC-HANYU" "\0"<br>
-+ "DECHANZI" "\0" "GB2312" "\0"<br>
-+ /* Korean */<br>
-+ "DECKOREAN" "\0" "EUC-KR" "\0";<br>
-+# endif<br>
-+<br>
-+# if defined WIN32<br>
-+ /* To avoid the troubles of installing a separate file in the same<br>
-+ directory as the DLL and of retrieving the DLL's directory at<br>
-+ runtime, simply inline the aliases here. */<br>
-+<br>
-+ cp = "CP936" "\0" "GBK" "\0"<br>
-+ "CP1361" "\0" "JOHAB" "\0"<br>
-+ "CP20127" "\0" "ASCII" "\0"<br>
-+ "CP20866" "\0" "KOI8-R" "\0"<br>
-+ "CP21866" "\0" "KOI8-RU" "\0"<br>
-+ "CP28591" "\0" "ISO-8859-1" "\0"<br>
-+ "CP28592" "\0" "ISO-8859-2" "\0"<br>
-+ "CP28593" "\0" "ISO-8859-3" "\0"<br>
-+ "CP28594" "\0" "ISO-8859-4" "\0"<br>
-+ "CP28595" "\0" "ISO-8859-5" "\0"<br>
-+ "CP28596" "\0" "ISO-8859-6" "\0"<br>
-+ "CP28597" "\0" "ISO-8859-7" "\0"<br>
-+ "CP28598" "\0" "ISO-8859-8" "\0"<br>
-+ "CP28599" "\0" "ISO-8859-9" "\0"<br>
-+ "CP28605" "\0" "ISO-8859-15" "\0";<br>
-+# endif<br>
-+#endif<br>
-+<br>
-+ charset_aliases = cp;<br>
-+ }<br>
-+<br>
-+ return cp;<br>
-+}<br>
-+<br>
-+/* Determine the current locale's character encoding, and canonicalize it<br>
-+ into one of the canonical names listed in config.charset.<br>
-+ The result must not be freed; it is statically allocated.<br>
-+ If the canonical name cannot be determined, the result is a non-canonical<br>
-+ name. */<br>
-+<br>
-+#ifdef STATIC<br>
-+STATIC<br>
-+#endif<br>
-+const char *<br>
-+locale_charset ()<br>
-+{<br>
-+ const char *codeset;<br>
-+ const char *aliases;<br>
-+<br>
-+#if !(defined WIN32 || defined OS2)<br>
-+<br>
-+# if HAVE_LANGINFO_CODESET<br>
-+<br>
-+ /* Most systems support nl_langinfo (CODESET) nowadays. */<br>
-+ codeset = nl_langinfo (CODESET);<br>
-+<br>
-+# else<br>
-+<br>
-+ /* On old systems which lack it, use setlocale or getenv. */<br>
-+ const char *locale = NULL;<br>
-+<br>
-+ /* But most old systems don't have a complete set of locales. Some<br>
-+ (like SunOS 4 or DJGPP) have only the C locale. Therefore we don't<br>
-+ use setlocale here; it would return "C" when it doesn't support the<br>
-+ locale name the user has set. */<br>
-+# if HAVE_SETLOCALE && 0<br>
-+ locale = setlocale (LC_CTYPE, NULL);<br>
-+# endif<br>
-+ if (locale == NULL || locale[0] == '\0')<br>
-+ {<br>
-+ locale = getenv ("LC_ALL");<br>
-+ if (locale == NULL || locale[0] == '\0')<br>
-+ {<br>
-+ locale = getenv ("LC_CTYPE");<br>
-+ if (locale == NULL || locale[0] == '\0')<br>
-+ locale = getenv ("LANG");<br>
-+ }<br>
-+ }<br>
-+<br>
-+ /* On some old systems, one used to set locale = "iso8859_1". On others,<br>
-+ you set it to "language_COUNTRY.charset". In any case, we resolve it<br>
-+ through the charset.alias file. */<br>
-+ codeset = locale;<br>
-+<br>
-+# endif<br>
-+<br>
-+#elif defined WIN32<br>
-+<br>
-+ static char buf[2 + 10 + 1];<br>
-+<br>
-+ /* Woe32 has a function returning the locale's codepage as a number. */<br>
-+ sprintf (buf, "CP%u", GetACP ());<br>
-+ codeset = buf;<br>
-+<br>
-+#elif defined OS2<br>
-+<br>
-+ const char *locale;<br>
-+ static char buf[2 + 10 + 1];<br>
-+ ULONG cp[3];<br>
-+ ULONG cplen;<br>
-+<br>
-+ /* Allow user to override the codeset, as set in the operating system,<br>
-+ with standard language environment variables. */<br>
-+ locale = getenv ("LC_ALL");<br>
-+ if (locale == NULL || locale[0] == '\0')<br>
-+ {<br>
-+ locale = getenv ("LC_CTYPE");<br>
-+ if (locale == NULL || locale[0] == '\0')<br>
-+ locale = getenv ("LANG");<br>
-+ }<br>
-+ if (locale != NULL && locale[0] != '\0')<br>
-+ {<br>
-+ /* If the locale name contains an encoding after the dot, return it. */<br>
-+ const char *dot = strchr (locale, '.');<br>
-+<br>
-+ if (dot != NULL)<br>
-+ {<br>
-+ const char *modifier;<br>
-+<br>
-+ dot++;<br>
-+ /* Look for the possible @... trailer and remove it, if any. */<br>
-+ modifier = strchr (dot, '@');<br>
-+ if (modifier == NULL)<br>
-+ return dot;<br>
-+ if (modifier - dot < sizeof (buf))<br>
-+ {<br>
-+ memcpy (buf, dot, modifier - dot);<br>
-+ buf [modifier - dot] = '\0';<br>
-+ return buf;<br>
-+ }<br>
-+ }<br>
-+<br>
-+ /* Resolve through the charset.alias file. */<br>
-+ codeset = locale;<br>
-+ }<br>
-+ else<br>
-+ {<br>
-+ /* OS/2 has a function returning the locale's codepage as a number. */<br>
-+ if (DosQueryCp (sizeof (cp), cp, &cplen))<br>
-+ codeset = "";<br>
-+ else<br>
-+ {<br>
-+ sprintf (buf, "CP%u", cp[0]);<br>
-+ codeset = buf;<br>
-+ }<br>
-+ }<br>
-+<br>
-+#endif<br>
-+<br>
-+ if (codeset == NULL)<br>
-+ /* The canonical name cannot be determined. */<br>
-+ codeset = "";<br>
-+<br>
-+ /* Resolve alias. */<br>
-+ for (aliases = get_charset_aliases ();<br>
-+ *aliases != '\0';<br>
-+ aliases += strlen (aliases) + 1, aliases += strlen (aliases) + 1)<br>
-+ if (strcmp (codeset, aliases) == 0<br>
-+ || (aliases[0] == '*' && aliases[1] == '\0'))<br>
-+ {<br>
-+ codeset = aliases + strlen (aliases) + 1;<br>
-+ break;<br>
-+ }<br>
-+<br>
-+ /* Don't return an empty string. GNU libc and GNU libiconv interpret<br>
-+ the empty string as denoting "the locale's character encoding",<br>
-+ thus GNU libiconv would call this function a second time. */<br>
-+ if (codeset[0] == '\0')<br>
-+ codeset = "ASCII";<br>
-+<br>
-+ return codeset;<br>
-+}<br>
---- lrzsz-0.12.20.safe/intl/localcharset.h 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/intl/localcharset.h 2004-09-12 14:40:34.483728632 -0400<br>
-@@ -0,0 +1,42 @@<br>
-+/* Determine a canonical name for the current locale's character encoding.<br>
-+ Copyright (C) 2000-2003 Free Software Foundation, Inc.<br>
-+ This file is part of the GNU CHARSET Library.<br>
-+<br>
-+ This program is free software; you can redistribute it and/or modify it<br>
-+ under the terms of the GNU Library General Public License as published<br>
-+ by the Free Software Foundation; either version 2, or (at your option)<br>
-+ any later version.<br>
-+<br>
-+ This program is distributed in the hope that it will be useful,<br>
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-+ Library General Public License for more details.<br>
-+<br>
-+ You should have received a copy of the GNU Library General Public<br>
-+ License along with this program; if not, write to the Free Software<br>
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,<br>
-+ USA. */<br>
-+<br>
-+#ifndef _LOCALCHARSET_H<br>
-+#define _LOCALCHARSET_H<br>
-+<br>
-+<br>
-+#ifdef __cplusplus<br>
-+extern "C" {<br>
-+#endif<br>
-+<br>
-+<br>
-+/* Determine the current locale's character encoding, and canonicalize it<br>
-+ into one of the canonical names listed in config.charset.<br>
-+ The result must not be freed; it is statically allocated.<br>
-+ If the canonical name cannot be determined, the result is a non-canonical<br>
-+ name. */<br>
-+extern const char * locale_charset (void);<br>
-+<br>
-+<br>
-+#ifdef __cplusplus<br>
-+}<br>
-+#endif<br>
-+<br>
-+<br>
-+#endif /* _LOCALCHARSET_H */<br>
---- lrzsz-0.12.20.safe/intl/locale.alias 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/intl/locale.alias 2004-09-12 14:40:34.499726200 -0400<br>
-@@ -0,0 +1,78 @@<br>
-+# Locale name alias data base.<br>
-+# Copyright (C) 1996-2001,2003 Free Software Foundation, Inc.<br>
-+#<br>
-+# This program is free software; you can redistribute it and/or modify it<br>
-+# under the terms of the GNU Library General Public License as published<br>
-+# by the Free Software Foundation; either version 2, or (at your option)<br>
-+# any later version.<br>
-+#<br>
-+# This program is distributed in the hope that it will be useful,<br>
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-+# Library General Public License for more details.<br>
-+#<br>
-+# You should have received a copy of the GNU Library General Public<br>
-+# License along with this program; if not, write to the Free Software<br>
-+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,<br>
-+# USA.<br>
-+<br>
-+# The format of this file is the same as for the corresponding file of<br>
-+# the X Window System, which normally can be found in<br>
-+# /usr/lib/X11/locale/locale.alias<br>
-+# A single line contains two fields: an alias and a substitution value.<br>
-+# All entries are case independent.<br>
-+<br>
-+# Note: This file is far from being complete. If you have a value for<br>
-+# your own site which you think might be useful for others too, share<br>
-+# it with the rest of us. Send it using the `glibcbug' script to<br>
-+# <a href="mailto:bugs@gnu.org" target="_blank">bugs@gnu.org</a>.<br>
-+<br>
-+# Packages using this file: <br>
-+<br>
-+bokmal nb_NO.ISO-8859-1<br>
-+bokmål nb_NO.ISO-8859-1<br>
-+catalan ca_ES.ISO-8859-1<br>
-+croatian hr_HR.ISO-8859-2<br>
-+czech cs_CZ.ISO-8859-2<br>
-+danish da_DK.ISO-8859-1<br>
-+dansk da_DK.ISO-8859-1<br>
-+deutsch de_DE.ISO-8859-1<br>
-+dutch nl_NL.ISO-8859-1<br>
-+eesti et_EE.ISO-8859-1<br>
-+estonian et_EE.ISO-8859-1<br>
-+finnish fi_FI.ISO-8859-1<br>
-+français fr_FR.ISO-8859-1<br>
-+french fr_FR.ISO-8859-1<br>
-+galego gl_ES.ISO-8859-1<br>
-+galician gl_ES.ISO-8859-1<br>
-+german de_DE.ISO-8859-1<br>
-+greek el_GR.ISO-8859-7<br>
-+hebrew he_IL.ISO-8859-8<br>
-+hrvatski hr_HR.ISO-8859-2<br>
-+hungarian hu_HU.ISO-8859-2<br>
-+icelandic is_IS.ISO-8859-1<br>
-+italian it_IT.ISO-8859-1<br>
-+japanese ja_JP.eucJP<br>
-+japanese.euc ja_JP.eucJP<br>
-+ja_JP ja_JP.eucJP<br>
-+ja_JP.ujis ja_JP.eucJP<br>
-+japanese.sjis ja_JP.SJIS<br>
-+korean ko_KR.eucKR<br>
-+korean.euc ko_KR.eucKR<br>
-+ko_KR ko_KR.eucKR<br>
-+lithuanian lt_LT.ISO-8859-13<br>
-+no_NO nb_NO.ISO-8859-1<br>
-+no_NO.ISO-8859-1 nb_NO.ISO-8859-1<br>
-+norwegian nb_NO.ISO-8859-1<br>
-+nynorsk nn_NO.ISO-8859-1<br>
-+polish pl_PL.ISO-8859-2<br>
-+portuguese pt_PT.ISO-8859-1<br>
-+romanian ro_RO.ISO-8859-2<br>
-+russian ru_RU.ISO-8859-5<br>
-+slovak sk_SK.ISO-8859-2<br>
-+slovene sl_SI.ISO-8859-2<br>
-+slovenian sl_SI.ISO-8859-2<br>
-+spanish es_ES.ISO-8859-1<br>
-+swedish sv_SE.ISO-8859-1<br>
-+thai th_TH.TIS-620<br>
-+turkish tr_TR.ISO-8859-9<br>
---- lrzsz-0.12.20.safe/intl/localealias.c 1998-04-26 09:22:37.000000000 -0400<br>
-+++ lrzsz-0.12.20/intl/localealias.c 2004-09-12 14:40:34.505725288 -0400<br>
-@@ -1,20 +1,27 @@<br>
--/* Handle aliases for locale names<br>
-- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.<br>
-- Written by Ulrich Drepper <<a href="mailto:drepper@gnu.ai.mit.edu" target="_blank">drepper@gnu.ai.mit.edu</a>>, 1995.<br>
-+/* Handle aliases for locale names.<br>
-+ Copyright (C) 1995-1999, 2000-2001, 2003 Free Software Foundation, Inc.<br>
- <br>
-- This program is free software; you can redistribute it and/or modify<br>
-- it under the terms of the GNU General Public License as published by<br>
-- the Free Software Foundation; either version 2, or (at your option)<br>
-+ This program is free software; you can redistribute it and/or modify it<br>
-+ under the terms of the GNU Library General Public License as published<br>
-+ by the Free Software Foundation; either version 2, or (at your option)<br>
- any later version.<br>
- <br>
- This program is distributed in the hope that it will be useful,<br>
- but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the<br>
-- GNU General Public License for more details.<br>
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-+ Library General Public License for more details.<br>
- <br>
-- You should have received a copy of the GNU General Public License<br>
-- along with this program; if not, write to the Free Software Foundation,<br>
-- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */<br>
-+ You should have received a copy of the GNU Library General Public<br>
-+ License along with this program; if not, write to the Free Software<br>
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,<br>
-+ USA. */<br>
-+<br>
-+/* Tell glibc's <string.h> to provide a prototype for mempcpy().<br>
-+ This must come before <config.h> because <config.h> may include<br>
-+ <features.h>, and once <features.h> has been included, it's too late. */<br>
-+#ifndef _GNU_SOURCE<br>
-+# define _GNU_SOURCE 1<br>
-+#endif<br>
- <br>
- #ifdef HAVE_CONFIG_H<br>
- # include <config.h><br>
-@@ -22,56 +29,45 @@<br>
- <br>
- #include <ctype.h><br>
- #include <stdio.h><br>
-+#if defined _LIBC || defined HAVE___FSETLOCKING<br>
-+# include <stdio_ext.h><br>
-+#endif<br>
- #include <sys/types.h><br>
- <br>
- #ifdef __GNUC__<br>
-+# undef alloca<br>
- # define alloca __builtin_alloca<br>
- # define HAVE_ALLOCA 1<br>
- #else<br>
--# if defined HAVE_ALLOCA_H || defined _LIBC<br>
--# include <alloca.h><br>
-+# ifdef _MSC_VER<br>
-+# include <malloc.h><br>
-+# define alloca _alloca<br>
- # else<br>
--# ifdef _AIX<br>
-- #pragma alloca<br>
-+# if defined HAVE_ALLOCA_H || defined _LIBC<br>
-+# include <alloca.h><br>
- # else<br>
--# ifndef alloca<br>
-+# ifdef _AIX<br>
-+ #pragma alloca<br>
-+# else<br>
-+# ifndef alloca<br>
- char *alloca ();<br>
-+# endif<br>
- # endif<br>
- # endif<br>
- # endif<br>
- #endif<br>
- <br>
--#if defined STDC_HEADERS || defined _LIBC<br>
--# include <stdlib.h><br>
--#else<br>
--char *getenv ();<br>
--# ifdef HAVE_MALLOC_H<br>
--# include <malloc.h><br>
--# else<br>
--void free ();<br>
--# endif<br>
--#endif<br>
-+#include <stdlib.h><br>
-+#include <string.h><br>
- <br>
--#if defined HAVE_STRING_H || defined _LIBC<br>
--# ifndef _GNU_SOURCE<br>
--# define _GNU_SOURCE 1<br>
--# endif<br>
--# include <string.h><br>
-+#include "gettextP.h"<br>
-+<br>
-+#if ENABLE_RELOCATABLE<br>
-+# include "relocatable.h"<br>
- #else<br>
--# include <strings.h><br>
--# ifndef memcpy<br>
--# define memcpy(Dst, Src, Num) bcopy (Src, Dst, Num)<br>
--# endif<br>
--#endif<br>
--#if !HAVE_STRCHR && !defined _LIBC<br>
--# ifndef strchr<br>
--# define strchr index<br>
--# endif<br>
-+# define relocate(pathname) (pathname)<br>
- #endif<br>
- <br>
--#include "gettext.h"<br>
--#include "gettextP.h"<br>
--<br>
- /* @@ end of prolog @@ */<br>
- <br>
- #ifdef _LIBC<br>
-@@ -79,43 +75,49 @@<br>
- because some ANSI C functions will require linking with this object<br>
- file and the name space must not be polluted. */<br>
- # define strcasecmp __strcasecmp<br>
-+<br>
-+# ifndef mempcpy<br>
-+# define mempcpy __mempcpy<br>
-+# endif<br>
-+# define HAVE_MEMPCPY 1<br>
-+# define HAVE___FSETLOCKING 1<br>
-+<br>
-+/* We need locking here since we can be called from different places. */<br>
-+# include <bits/libc-lock.h><br>
-+<br>
-+__libc_lock_define_initialized (static, lock);<br>
-+#endif<br>
-+<br>
-+#ifndef internal_function<br>
-+# define internal_function<br>
- #endif<br>
- <br>
-+/* Some optimizations for glibc. */<br>
-+#ifdef _LIBC<br>
-+# define FEOF(fp) feof_unlocked (fp)<br>
-+# define FGETS(buf, n, fp) fgets_unlocked (buf, n, fp)<br>
-+#else<br>
-+# define FEOF(fp) feof (fp)<br>
-+# define FGETS(buf, n, fp) fgets (buf, n, fp)<br>
-+#endif<br>
- <br>
--/* For those loosing systems which don't have `alloca' we have to add<br>
-+/* For those losing systems which don't have `alloca' we have to add<br>
- some additional code emulating it. */<br>
- #ifdef HAVE_ALLOCA<br>
--/* Nothing has to be done. */<br>
--# define ADD_BLOCK(list, address) /* nothing */<br>
--# define FREE_BLOCKS(list) /* nothing */<br>
-+# define freea(p) /* nothing */<br>
- #else<br>
--struct block_list<br>
--{<br>
-- void *address;<br>
-- struct block_list *next;<br>
--};<br>
--# define ADD_BLOCK(list, addr) \<br>
-- do { \<br>
-- struct block_list *newp = (struct block_list *) malloc (sizeof (*newp)); \<br>
-- /* If we cannot get a free block we cannot add the new element to \<br>
-- the list. */ \<br>
-- if (newp != NULL) { \<br>
-- newp->address = (addr); \<br>
-- newp->next = (list); \<br>
-- (list) = newp; \<br>
-- } \<br>
-- } while (0)<br>
--# define FREE_BLOCKS(list) \<br>
-- do { \<br>
-- while (list != NULL) { \<br>
-- struct block_list *old = list; \<br>
-- list = list->next; \<br>
-- free (old); \<br>
-- } \<br>
-- } while (0)<br>
--# undef alloca<br>
--# define alloca(size) (malloc (size))<br>
--#endif /* have alloca */<br>
-+# define alloca(n) malloc (n)<br>
-+# define freea(p) free (p)<br>
-+#endif<br>
-+<br>
-+#if defined _LIBC_REENTRANT || HAVE_DECL_FGETS_UNLOCKED<br>
-+# undef fgets<br>
-+# define fgets(buf, len, s) fgets_unlocked (buf, len, s)<br>
-+#endif<br>
-+#if defined _LIBC_REENTRANT || HAVE_DECL_FEOF_UNLOCKED<br>
-+# undef feof<br>
-+# define feof(s) feof_unlocked (s)<br>
-+#endif<br>
- <br>
- <br>
- struct alias_map<br>
-@@ -125,26 +127,41 @@<br>
- };<br>
- <br>
- <br>
--static struct alias_map *map;<br>
--static size_t nmap = 0;<br>
--static size_t maxmap = 0;<br>
-+#ifndef _LIBC<br>
-+# define libc_freeres_ptr(decl) decl<br>
-+#endif<br>
-+<br>
-+libc_freeres_ptr (static char *string_space);<br>
-+static size_t string_space_act;<br>
-+static size_t string_space_max;<br>
-+libc_freeres_ptr (static struct alias_map *map);<br>
-+static size_t nmap;<br>
-+static size_t maxmap;<br>
- <br>
- <br>
- /* Prototypes for local functions. */<br>
--static size_t read_alias_file PARAMS ((const char *fname, int fname_len));<br>
--static void extend_alias_table PARAMS ((void));<br>
--static int alias_compare PARAMS ((const struct alias_map *map1,<br>
-- const struct alias_map *map2));<br>
-+static size_t read_alias_file (const char *fname, int fname_len)<br>
-+ internal_function;<br>
-+static int extend_alias_table (void);<br>
-+static int alias_compare (const struct alias_map *map1,<br>
-+ const struct alias_map *map2);<br>
- <br>
- <br>
- const char *<br>
--_nl_expand_alias (name)<br>
-- const char *name;<br>
-+_nl_expand_alias (const char *name)<br>
- {<br>
-- static const char *locale_alias_path = LOCALE_ALIAS_PATH;<br>
-+ static const char *locale_alias_path;<br>
- struct alias_map *retval;<br>
-+ const char *result = NULL;<br>
- size_t added;<br>
- <br>
-+#ifdef _LIBC<br>
-+ __libc_lock_lock (lock);<br>
-+#endif<br>
-+<br>
-+ if (locale_alias_path == NULL)<br>
-+ locale_alias_path = LOCALE_ALIAS_PATH;<br>
-+<br>
- do<br>
- {<br>
- struct alias_map item;<br>
-@@ -154,15 +171,18 @@<br>
- if (nmap > 0)<br>
- retval = (struct alias_map *) bsearch (&item, map, nmap,<br>
- sizeof (struct alias_map),<br>
-- (int (*) PARAMS ((const void *,<br>
-- const void *))<br>
-+ (int (*) (const void *,<br>
-+ const void *)<br>
- ) alias_compare);<br>
- else<br>
- retval = NULL;<br>
- <br>
- /* We really found an alias. Return the value. */<br>
- if (retval != NULL)<br>
-- return retval->value;<br>
-+ {<br>
-+ result = retval->value;<br>
-+ break;<br>
-+ }<br>
- <br>
- /* Perhaps we can find another alias file. */<br>
- added = 0;<br>
-@@ -170,11 +190,12 @@<br>
- {<br>
- const char *start;<br>
- <br>
-- while (locale_alias_path[0] == ':')<br>
-+ while (locale_alias_path[0] == PATH_SEPARATOR)<br>
- ++locale_alias_path;<br>
- start = locale_alias_path;<br>
- <br>
-- while (locale_alias_path[0] != '\0' && locale_alias_path[0] != ':')<br>
-+ while (locale_alias_path[0] != '\0'<br>
-+ && locale_alias_path[0] != PATH_SEPARATOR)<br>
- ++locale_alias_path;<br>
- <br>
- if (start < locale_alias_path)<br>
-@@ -183,78 +204,87 @@<br>
- }<br>
- while (added != 0);<br>
- <br>
-- return NULL;<br>
-+#ifdef _LIBC<br>
-+ __libc_lock_unlock (lock);<br>
-+#endif<br>
-+<br>
-+ return result;<br>
- }<br>
- <br>
- <br>
- static size_t<br>
--read_alias_file (fname, fname_len)<br>
-- const char *fname;<br>
-- int fname_len;<br>
-+internal_function<br>
-+read_alias_file (const char *fname, int fname_len)<br>
- {<br>
--#ifndef HAVE_ALLOCA<br>
-- struct block_list *block_list = NULL;<br>
--#endif<br>
- FILE *fp;<br>
- char *full_fname;<br>
- size_t added;<br>
- static const char aliasfile[] = "/locale.alias";<br>
- <br>
- full_fname = (char *) alloca (fname_len + sizeof aliasfile);<br>
-- ADD_BLOCK (block_list, full_fname);<br>
-+#ifdef HAVE_MEMPCPY<br>
-+ mempcpy (mempcpy (full_fname, fname, fname_len),<br>
-+ aliasfile, sizeof aliasfile);<br>
-+#else<br>
- memcpy (full_fname, fname, fname_len);<br>
- memcpy (&full_fname[fname_len], aliasfile, sizeof aliasfile);<br>
-+#endif<br>
- <br>
-- fp = fopen (full_fname, "r");<br>
-+ fp = fopen (relocate (full_fname), "r");<br>
-+ freea (full_fname);<br>
- if (fp == NULL)<br>
-- {<br>
-- FREE_BLOCKS (block_list);<br>
-- return 0;<br>
-- }<br>
-+ return 0;<br>
-+<br>
-+#ifdef HAVE___FSETLOCKING<br>
-+ /* No threads present. */<br>
-+ __fsetlocking (fp, FSETLOCKING_BYCALLER);<br>
-+#endif<br>
- <br>
- added = 0;<br>
-- while (!feof (fp))<br>
-+ while (!FEOF (fp))<br>
- {<br>
- /* It is a reasonable approach to use a fix buffer here because<br>
- a) we are only interested in the first two fields<br>
- b) these fields must be usable as file names and so must not<br>
- be that long<br>
-- */<br>
-- char buf[BUFSIZ];<br>
-+ We avoid a multi-kilobyte buffer here since this would use up<br>
-+ stack space which we might not have if the program ran out of<br>
-+ memory. */<br>
-+ char buf[400];<br>
- char *alias;<br>
- char *value;<br>
- char *cp;<br>
- <br>
-- if (fgets (buf, BUFSIZ, fp) == NULL)<br>
-+ if (FGETS (buf, sizeof buf, fp) == NULL)<br>
- /* EOF reached. */<br>
- break;<br>
- <br>
- cp = buf;<br>
- /* Ignore leading white space. */<br>
-- while (isspace (cp[0]))<br>
-+ while (isspace ((unsigned char) cp[0]))<br>
- ++cp;<br>
- <br>
- /* A leading '#' signals a comment line. */<br>
- if (cp[0] != '\0' && cp[0] != '#')<br>
- {<br>
- alias = cp++;<br>
-- while (cp[0] != '\0' && !isspace (cp[0]))<br>
-+ while (cp[0] != '\0' && !isspace ((unsigned char) cp[0]))<br>
- ++cp;<br>
- /* Terminate alias name. */<br>
- if (cp[0] != '\0')<br>
- *cp++ = '\0';<br>
- <br>
- /* Now look for the beginning of the value. */<br>
-- while (isspace (cp[0]))<br>
-+ while (isspace ((unsigned char) cp[0]))<br>
- ++cp;<br>
- <br>
- if (cp[0] != '\0')<br>
- {<br>
-- char *tp;<br>
-- size_t len;<br>
-+ size_t alias_len;<br>
-+ size_t value_len;<br>
- <br>
- value = cp++;<br>
-- while (cp[0] != '\0' && !isspace (cp[0]))<br>
-+ while (cp[0] != '\0' && !isspace ((unsigned char) cp[0]))<br>
- ++cp;<br>
- /* Terminate value. */<br>
- if (cp[0] == '\n')<br>
-@@ -269,28 +299,44 @@<br>
- *cp++ = '\0';<br>
- <br>
- if (nmap >= maxmap)<br>
-- extend_alias_table ();<br>
--<br>
-- /* We cannot depend on strdup available in the libc. Sigh! */<br>
-- len = strlen (alias) + 1;<br>
-- tp = (char *) malloc (len);<br>
-- if (tp == NULL)<br>
-- {<br>
-- FREE_BLOCKS (block_list);<br>
-+ if (__builtin_expect (extend_alias_table (), 0))<br>
- return added;<br>
-- }<br>
-- memcpy (tp, alias, len);<br>
-- map[nmap].alias = tp;<br>
- <br>
-- len = strlen (value) + 1;<br>
-- tp = (char *) malloc (len);<br>
-- if (tp == NULL)<br>
-+ alias_len = strlen (alias) + 1;<br>
-+ value_len = strlen (value) + 1;<br>
-+<br>
-+ if (string_space_act + alias_len + value_len > string_space_max)<br>
- {<br>
-- FREE_BLOCKS (block_list);<br>
-- return added;<br>
-+ /* Increase size of memory pool. */<br>
-+ size_t new_size = (string_space_max<br>
-+ + (alias_len + value_len > 1024<br>
-+ ? alias_len + value_len : 1024));<br>
-+ char *new_pool = (char *) realloc (string_space, new_size);<br>
-+ if (new_pool == NULL)<br>
-+ return added;<br>
-+<br>
-+ if (__builtin_expect (string_space != new_pool, 0))<br>
-+ {<br>
-+ size_t i;<br>
-+<br>
-+ for (i = 0; i < nmap; i++)<br>
-+ {<br>
-+ map[i].alias += new_pool - string_space;<br>
-+ map[i].value += new_pool - string_space;<br>
-+ }<br>
-+ }<br>
-+<br>
-+ string_space = new_pool;<br>
-+ string_space_max = new_size;<br>
- }<br>
-- memcpy (tp, value, len);<br>
-- map[nmap].value = tp;<br>
-+<br>
-+ map[nmap].alias = memcpy (&string_space[string_space_act],<br>
-+ alias, alias_len);<br>
-+ string_space_act += alias_len;<br>
-+<br>
-+ map[nmap].value = memcpy (&string_space[string_space_act],<br>
-+ value, value_len);<br>
-+ string_space_act += value_len;<br>
- <br>
- ++nmap;<br>
- ++added;<br>
-@@ -299,14 +345,11 @@<br>
- <br>
- /* Possibly not the whole line fits into the buffer. Ignore<br>
- the rest of the line. */<br>
-- while (strchr (cp, '\n') == NULL)<br>
-- {<br>
-- cp = buf;<br>
-- if (fgets (buf, BUFSIZ, fp) == NULL)<br>
-- /* Make sure the inner loop will be left. The outer loop<br>
-- will exit at the `feof' test. */<br>
-- *cp = '\n';<br>
-- }<br>
-+ while (strchr (buf, '\n') == NULL)<br>
-+ if (FGETS (buf, sizeof buf, fp) == NULL)<br>
-+ /* Make sure the inner loop will be left. The outer loop<br>
-+ will exit at the `feof' test. */<br>
-+ break;<br>
- }<br>
- <br>
- /* Should we test for ferror()? I think we have to silently ignore<br>
-@@ -315,40 +358,33 @@<br>
- <br>
- if (added > 0)<br>
- qsort (map, nmap, sizeof (struct alias_map),<br>
-- (int (*) PARAMS ((const void *, const void *))) alias_compare);<br>
-+ (int (*) (const void *, const void *)) alias_compare);<br>
- <br>
-- FREE_BLOCKS (block_list);<br>
- return added;<br>
- }<br>
- <br>
- <br>
--static void<br>
-+static int<br>
- extend_alias_table ()<br>
- {<br>
- size_t new_size;<br>
- struct alias_map *new_map;<br>
- <br>
- new_size = maxmap == 0 ? 100 : 2 * maxmap;<br>
-- new_map = (struct alias_map *) malloc (new_size<br>
-- * sizeof (struct alias_map));<br>
-+ new_map = (struct alias_map *) realloc (map, (new_size<br>
-+ * sizeof (struct alias_map)));<br>
- if (new_map == NULL)<br>
- /* Simply don't extend: we don't have any more core. */<br>
-- return;<br>
--<br>
-- memcpy (new_map, map, nmap * sizeof (struct alias_map));<br>
--<br>
-- if (maxmap != 0)<br>
-- free (map);<br>
-+ return -1;<br>
- <br>
- map = new_map;<br>
- maxmap = new_size;<br>
-+ return 0;<br>
- }<br>
- <br>
- <br>
- static int<br>
--alias_compare (map1, map2)<br>
-- const struct alias_map *map1;<br>
-- const struct alias_map *map2;<br>
-+alias_compare (const struct alias_map *map1, const struct alias_map *map2)<br>
- {<br>
- #if defined _LIBC || defined HAVE_STRCASECMP<br>
- return strcasecmp (map1->alias, map2->alias);<br>
---- lrzsz-0.12.20.safe/intl/localename.c 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/intl/localename.c 2004-09-12 14:40:34.510724528 -0400<br>
-@@ -0,0 +1,1142 @@<br>
-+/* Determine the current selected locale.<br>
-+ Copyright (C) 1995-1999, 2000-2004 Free Software Foundation, Inc.<br>
-+<br>
-+ This program is free software; you can redistribute it and/or modify it<br>
-+ under the terms of the GNU Library General Public License as published<br>
-+ by the Free Software Foundation; either version 2, or (at your option)<br>
-+ any later version.<br>
-+<br>
-+ This program is distributed in the hope that it will be useful,<br>
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-+ Library General Public License for more details.<br>
-+<br>
-+ You should have received a copy of the GNU Library General Public<br>
-+ License along with this program; if not, write to the Free Software<br>
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,<br>
-+ USA. */<br>
-+<br>
-+/* Written by Ulrich Drepper <<a href="mailto:drepper@gnu.org" target="_blank">drepper@gnu.org</a>>, 1995. */<br>
-+/* Win32 code written by Tor Lillqvist <<a href="mailto:tml@iki.fi" target="_blank">tml@iki.fi</a>>. */<br>
-+<br>
-+#ifdef HAVE_CONFIG_H<br>
-+# include <config.h><br>
-+#endif<br>
-+<br>
-+#include <stdlib.h><br>
-+#include <locale.h><br>
-+<br>
-+#if defined _WIN32 || defined __WIN32__<br>
-+# undef WIN32 /* avoid warning on mingw32 */<br>
-+# define WIN32<br>
-+#endif<br>
-+<br>
-+#ifdef WIN32<br>
-+# define WIN32_LEAN_AND_MEAN<br>
-+# include <windows.h><br>
-+/* List of language codes, sorted by value:<br>
-+ 0x01 LANG_ARABIC<br>
-+ 0x02 LANG_BULGARIAN<br>
-+ 0x03 LANG_CATALAN<br>
-+ 0x04 LANG_CHINESE<br>
-+ 0x05 LANG_CZECH<br>
-+ 0x06 LANG_DANISH<br>
-+ 0x07 LANG_GERMAN<br>
-+ 0x08 LANG_GREEK<br>
-+ 0x09 LANG_ENGLISH<br>
-+ 0x0a LANG_SPANISH<br>
-+ 0x0b LANG_FINNISH<br>
-+ 0x0c LANG_FRENCH<br>
-+ 0x0d LANG_HEBREW<br>
-+ 0x0e LANG_HUNGARIAN<br>
-+ 0x0f LANG_ICELANDIC<br>
-+ 0x10 LANG_ITALIAN<br>
-+ 0x11 LANG_JAPANESE<br>
-+ 0x12 LANG_KOREAN<br>
-+ 0x13 LANG_DUTCH<br>
-+ 0x14 LANG_NORWEGIAN<br>
-+ 0x15 LANG_POLISH<br>
-+ 0x16 LANG_PORTUGUESE<br>
-+ 0x17 LANG_RHAETO_ROMANCE<br>
-+ 0x18 LANG_ROMANIAN<br>
-+ 0x19 LANG_RUSSIAN<br>
-+ 0x1a LANG_CROATIAN == LANG_SERBIAN<br>
-+ 0x1b LANG_SLOVAK<br>
-+ 0x1c LANG_ALBANIAN<br>
-+ 0x1d LANG_SWEDISH<br>
-+ 0x1e LANG_THAI<br>
-+ 0x1f LANG_TURKISH<br>
-+ 0x20 LANG_URDU<br>
-+ 0x21 LANG_INDONESIAN<br>
-+ 0x22 LANG_UKRAINIAN<br>
-+ 0x23 LANG_BELARUSIAN<br>
-+ 0x24 LANG_SLOVENIAN<br>
-+ 0x25 LANG_ESTONIAN<br>
-+ 0x26 LANG_LATVIAN<br>
-+ 0x27 LANG_LITHUANIAN<br>
-+ 0x28 LANG_TAJIK<br>
-+ 0x29 LANG_FARSI<br>
-+ 0x2a LANG_VIETNAMESE<br>
-+ 0x2b LANG_ARMENIAN<br>
-+ 0x2c LANG_AZERI<br>
-+ 0x2d LANG_BASQUE<br>
-+ 0x2e LANG_SORBIAN<br>
-+ 0x2f LANG_MACEDONIAN<br>
-+ 0x30 LANG_SUTU<br>
-+ 0x31 LANG_TSONGA<br>
-+ 0x32 LANG_TSWANA<br>
-+ 0x33 LANG_VENDA<br>
-+ 0x34 LANG_XHOSA<br>
-+ 0x35 LANG_ZULU<br>
-+ 0x36 LANG_AFRIKAANS<br>
-+ 0x37 LANG_GEORGIAN<br>
-+ 0x38 LANG_FAEROESE<br>
-+ 0x39 LANG_HINDI<br>
-+ 0x3a LANG_MALTESE<br>
-+ 0x3b LANG_SAAMI<br>
-+ 0x3c LANG_GAELIC<br>
-+ 0x3d LANG_YIDDISH<br>
-+ 0x3e LANG_MALAY<br>
-+ 0x3f LANG_KAZAK<br>
-+ 0x40 LANG_KYRGYZ<br>
-+ 0x41 LANG_SWAHILI<br>
-+ 0x42 LANG_TURKMEN<br>
-+ 0x43 LANG_UZBEK<br>
-+ 0x44 LANG_TATAR<br>
-+ 0x45 LANG_BENGALI<br>
-+ 0x46 LANG_PUNJABI<br>
-+ 0x47 LANG_GUJARATI<br>
-+ 0x48 LANG_ORIYA<br>
-+ 0x49 LANG_TAMIL<br>
-+ 0x4a LANG_TELUGU<br>
-+ 0x4b LANG_KANNADA<br>
-+ 0x4c LANG_MALAYALAM<br>
-+ 0x4d LANG_ASSAMESE<br>
-+ 0x4e LANG_MARATHI<br>
-+ 0x4f LANG_SANSKRIT<br>
-+ 0x50 LANG_MONGOLIAN<br>
-+ 0x51 LANG_TIBETAN<br>
-+ 0x52 LANG_WELSH<br>
-+ 0x53 LANG_CAMBODIAN<br>
-+ 0x54 LANG_LAO<br>
-+ 0x55 LANG_BURMESE<br>
-+ 0x56 LANG_GALICIAN<br>
-+ 0x57 LANG_KONKANI<br>
-+ 0x58 LANG_MANIPURI<br>
-+ 0x59 LANG_SINDHI<br>
-+ 0x5a LANG_SYRIAC<br>
-+ 0x5b LANG_SINHALESE<br>
-+ 0x5c LANG_CHEROKEE<br>
-+ 0x5d LANG_INUKTITUT<br>
-+ 0x5e LANG_AMHARIC<br>
-+ 0x5f LANG_TAMAZIGHT<br>
-+ 0x60 LANG_KASHMIRI<br>
-+ 0x61 LANG_NEPALI<br>
-+ 0x62 LANG_FRISIAN<br>
-+ 0x63 LANG_PASHTO<br>
-+ 0x64 LANG_TAGALOG<br>
-+ 0x65 LANG_DIVEHI<br>
-+ 0x66 LANG_EDO<br>
-+ 0x67 LANG_FULFULDE<br>
-+ 0x68 LANG_HAUSA<br>
-+ 0x69 LANG_IBIBIO<br>
-+ 0x6a LANG_YORUBA<br>
-+ 0x70 LANG_IGBO<br>
-+ 0x71 LANG_KANURI<br>
-+ 0x72 LANG_OROMO<br>
-+ 0x73 LANG_TIGRINYA<br>
-+ 0x74 LANG_GUARANI<br>
-+ 0x75 LANG_HAWAIIAN<br>
-+ 0x76 LANG_LATIN<br>
-+ 0x77 LANG_SOMALI<br>
-+ 0x78 LANG_YI<br>
-+ 0x79 LANG_PAPIAMENTU<br>
-+*/<br>
-+/* Mingw headers don't have latest language and sublanguage codes. */<br>
-+# ifndef LANG_AFRIKAANS<br>
-+# define LANG_AFRIKAANS 0x36<br>
-+# endif<br>
-+# ifndef LANG_ALBANIAN<br>
-+# define LANG_ALBANIAN 0x1c<br>
-+# endif<br>
-+# ifndef LANG_AMHARIC<br>
-+# define LANG_AMHARIC 0x5e<br>
-+# endif<br>
-+# ifndef LANG_ARABIC<br>
-+# define LANG_ARABIC 0x01<br>
-+# endif<br>
-+# ifndef LANG_ARMENIAN<br>
-+# define LANG_ARMENIAN 0x2b<br>
-+# endif<br>
-+# ifndef LANG_ASSAMESE<br>
-+# define LANG_ASSAMESE 0x4d<br>
-+# endif<br>
-+# ifndef LANG_AZERI<br>
-+# define LANG_AZERI 0x2c<br>
-+# endif<br>
-+# ifndef LANG_BASQUE<br>
-+# define LANG_BASQUE 0x2d<br>
-+# endif<br>
-+# ifndef LANG_BELARUSIAN<br>
-+# define LANG_BELARUSIAN 0x23<br>
-+# endif<br>
-+# ifndef LANG_BENGALI<br>
-+# define LANG_BENGALI 0x45<br>
-+# endif<br>
-+# ifndef LANG_BURMESE<br>
-+# define LANG_BURMESE 0x55<br>
-+# endif<br>
-+# ifndef LANG_CAMBODIAN<br>
-+# define LANG_CAMBODIAN 0x53<br>
-+# endif<br>
-+# ifndef LANG_CATALAN<br>
-+# define LANG_CATALAN 0x03<br>
-+# endif<br>
-+# ifndef LANG_CHEROKEE<br>
-+# define LANG_CHEROKEE 0x5c<br>
-+# endif<br>
-+# ifndef LANG_DIVEHI<br>
-+# define LANG_DIVEHI 0x65<br>
-+# endif<br>
-+# ifndef LANG_EDO<br>
-+# define LANG_EDO 0x66<br>
-+# endif<br>
-+# ifndef LANG_ESTONIAN<br>
-+# define LANG_ESTONIAN 0x25<br>
-+# endif<br>
-+# ifndef LANG_FAEROESE<br>
-+# define LANG_FAEROESE 0x38<br>
-+# endif<br>
-+# ifndef LANG_FARSI<br>
-+# define LANG_FARSI 0x29<br>
-+# endif<br>
-+# ifndef LANG_FRISIAN<br>
-+# define LANG_FRISIAN 0x62<br>
-+# endif<br>
-+# ifndef LANG_FULFULDE<br>
-+# define LANG_FULFULDE 0x67<br>
-+# endif<br>
-+# ifndef LANG_GAELIC<br>
-+# define LANG_GAELIC 0x3c<br>
-+# endif<br>
-+# ifndef LANG_GALICIAN<br>
-+# define LANG_GALICIAN 0x56<br>
-+# endif<br>
-+# ifndef LANG_GEORGIAN<br>
-+# define LANG_GEORGIAN 0x37<br>
-+# endif<br>
-+# ifndef LANG_GUARANI<br>
-+# define LANG_GUARANI 0x74<br>
-+# endif<br>
-+# ifndef LANG_GUJARATI<br>
-+# define LANG_GUJARATI 0x47<br>
-+# endif<br>
-+# ifndef LANG_HAUSA<br>
-+# define LANG_HAUSA 0x68<br>
-+# endif<br>
-+# ifndef LANG_HAWAIIAN<br>
-+# define LANG_HAWAIIAN 0x75<br>
-+# endif<br>
-+# ifndef LANG_HEBREW<br>
-+# define LANG_HEBREW 0x0d<br>
-+# endif<br>
-+# ifndef LANG_HINDI<br>
-+# define LANG_HINDI 0x39<br>
-+# endif<br>
-+# ifndef LANG_IBIBIO<br>
-+# define LANG_IBIBIO 0x69<br>
-+# endif<br>
-+# ifndef LANG_IGBO<br>
-+# define LANG_IGBO 0x70<br>
-+# endif<br>
-+# ifndef LANG_INDONESIAN<br>
-+# define LANG_INDONESIAN 0x21<br>
-+# endif<br>
-+# ifndef LANG_INUKTITUT<br>
-+# define LANG_INUKTITUT 0x5d<br>
-+# endif<br>
-+# ifndef LANG_KANNADA<br>
-+# define LANG_KANNADA 0x4b<br>
-+# endif<br>
-+# ifndef LANG_KANURI<br>
-+# define LANG_KANURI 0x71<br>
-+# endif<br>
-+# ifndef LANG_KASHMIRI<br>
-+# define LANG_KASHMIRI 0x60<br>
-+# endif<br>
-+# ifndef LANG_KAZAK<br>
-+# define LANG_KAZAK 0x3f<br>
-+# endif<br>
-+# ifndef LANG_KONKANI<br>
-+# define LANG_KONKANI 0x57<br>
-+# endif<br>
-+# ifndef LANG_KYRGYZ<br>
-+# define LANG_KYRGYZ 0x40<br>
-+# endif<br>
-+# ifndef LANG_LAO<br>
-+# define LANG_LAO 0x54<br>
-+# endif<br>
-+# ifndef LANG_LATIN<br>
-+# define LANG_LATIN 0x76<br>
-+# endif<br>
-+# ifndef LANG_LATVIAN<br>
-+# define LANG_LATVIAN 0x26<br>
-+# endif<br>
-+# ifndef LANG_LITHUANIAN<br>
-+# define LANG_LITHUANIAN 0x27<br>
-+# endif<br>
-+# ifndef LANG_MACEDONIAN<br>
-+# define LANG_MACEDONIAN 0x2f<br>
-+# endif<br>
-+# ifndef LANG_MALAY<br>
-+# define LANG_MALAY 0x3e<br>
-+# endif<br>
-+# ifndef LANG_MALAYALAM<br>
-+# define LANG_MALAYALAM 0x4c<br>
-+# endif<br>
-+# ifndef LANG_MALTESE<br>
-+# define LANG_MALTESE 0x3a<br>
-+# endif<br>
-+# ifndef LANG_MANIPURI<br>
-+# define LANG_MANIPURI 0x58<br>
-+# endif<br>
-+# ifndef LANG_MARATHI<br>
-+# define LANG_MARATHI 0x4e<br>
-+# endif<br>
-+# ifndef LANG_MONGOLIAN<br>
-+# define LANG_MONGOLIAN 0x50<br>
-+# endif<br>
-+# ifndef LANG_NEPALI<br>
-+# define LANG_NEPALI 0x61<br>
-+# endif<br>
-+# ifndef LANG_ORIYA<br>
-+# define LANG_ORIYA 0x48<br>
-+# endif<br>
-+# ifndef LANG_OROMO<br>
-+# define LANG_OROMO 0x72<br>
-+# endif<br>
-+# ifndef LANG_PAPIAMENTU<br>
-+# define LANG_PAPIAMENTU 0x79<br>
-+# endif<br>
-+# ifndef LANG_PASHTO<br>
-+# define LANG_PASHTO 0x63<br>
-+# endif<br>
-+# ifndef LANG_PUNJABI<br>
-+# define LANG_PUNJABI 0x46<br>
-+# endif<br>
-+# ifndef LANG_RHAETO_ROMANCE<br>
-+# define LANG_RHAETO_ROMANCE 0x17<br>
-+# endif<br>
-+# ifndef LANG_SAAMI<br>
-+# define LANG_SAAMI 0x3b<br>
-+# endif<br>
-+# ifndef LANG_SANSKRIT<br>
-+# define LANG_SANSKRIT 0x4f<br>
-+# endif<br>
-+# ifndef LANG_SERBIAN<br>
-+# define LANG_SERBIAN 0x1a<br>
-+# endif<br>
-+# ifndef LANG_SINDHI<br>
-+# define LANG_SINDHI 0x59<br>
-+# endif<br>
-+# ifndef LANG_SINHALESE<br>
-+# define LANG_SINHALESE 0x5b<br>
-+# endif<br>
-+# ifndef LANG_SLOVAK<br>
-+# define LANG_SLOVAK 0x1b<br>
-+# endif<br>
-+# ifndef LANG_SOMALI<br>
-+# define LANG_SOMALI 0x77<br>
-+# endif<br>
-+# ifndef LANG_SORBIAN<br>
-+# define LANG_SORBIAN 0x2e<br>
-+# endif<br>
-+# ifndef LANG_SUTU<br>
-+# define LANG_SUTU 0x30<br>
-+# endif<br>
-+# ifndef LANG_SWAHILI<br>
-+# define LANG_SWAHILI 0x41<br>
-+# endif<br>
-+# ifndef LANG_SYRIAC<br>
-+# define LANG_SYRIAC 0x5a<br>
-+# endif<br>
-+# ifndef LANG_TAGALOG<br>
-+# define LANG_TAGALOG 0x64<br>
-+# endif<br>
-+# ifndef LANG_TAJIK<br>
-+# define LANG_TAJIK 0x28<br>
-+# endif<br>
-+# ifndef LANG_TAMAZIGHT<br>
-+# define LANG_TAMAZIGHT 0x5f<br>
-+# endif<br>
-+# ifndef LANG_TAMIL<br>
-+# define LANG_TAMIL 0x49<br>
-+# endif<br>
-+# ifndef LANG_TATAR<br>
-+# define LANG_TATAR 0x44<br>
-+# endif<br>
-+# ifndef LANG_TELUGU<br>
-+# define LANG_TELUGU 0x4a<br>
-+# endif<br>
-+# ifndef LANG_THAI<br>
-+# define LANG_THAI 0x1e<br>
-+# endif<br>
-+# ifndef LANG_TIBETAN<br>
-+# define LANG_TIBETAN 0x51<br>
-+# endif<br>
-+# ifndef LANG_TIGRINYA<br>
-+# define LANG_TIGRINYA 0x73<br>
-+# endif<br>
-+# ifndef LANG_TSONGA<br>
-+# define LANG_TSONGA 0x31<br>
-+# endif<br>
-+# ifndef LANG_TSWANA<br>
-+# define LANG_TSWANA 0x32<br>
-+# endif<br>
-+# ifndef LANG_TURKMEN<br>
-+# define LANG_TURKMEN 0x42<br>
-+# endif<br>
-+# ifndef LANG_UKRAINIAN<br>
-+# define LANG_UKRAINIAN 0x22<br>
-+# endif<br>
-+# ifndef LANG_URDU<br>
-+# define LANG_URDU 0x20<br>
-+# endif<br>
-+# ifndef LANG_UZBEK<br>
-+# define LANG_UZBEK 0x43<br>
-+# endif<br>
-+# ifndef LANG_VENDA<br>
-+# define LANG_VENDA 0x33<br>
-+# endif<br>
-+# ifndef LANG_VIETNAMESE<br>
-+# define LANG_VIETNAMESE 0x2a<br>
-+# endif<br>
-+# ifndef LANG_WELSH<br>
-+# define LANG_WELSH 0x52<br>
-+# endif<br>
-+# ifndef LANG_XHOSA<br>
-+# define LANG_XHOSA 0x34<br>
-+# endif<br>
-+# ifndef LANG_YI<br>
-+# define LANG_YI 0x78<br>
-+# endif<br>
-+# ifndef LANG_YIDDISH<br>
-+# define LANG_YIDDISH 0x3d<br>
-+# endif<br>
-+# ifndef LANG_YORUBA<br>
-+# define LANG_YORUBA 0x6a<br>
-+# endif<br>
-+# ifndef LANG_ZULU<br>
-+# define LANG_ZULU 0x35<br>
-+# endif<br>
-+# ifndef SUBLANG_ARABIC_SAUDI_ARABIA<br>
-+# define SUBLANG_ARABIC_SAUDI_ARABIA 0x01<br>
-+# endif<br>
-+# ifndef SUBLANG_ARABIC_IRAQ<br>
-+# define SUBLANG_ARABIC_IRAQ 0x02<br>
-+# endif<br>
-+# ifndef SUBLANG_ARABIC_EGYPT<br>
-+# define SUBLANG_ARABIC_EGYPT 0x03<br>
-+# endif<br>
-+# ifndef SUBLANG_ARABIC_LIBYA<br>
-+# define SUBLANG_ARABIC_LIBYA 0x04<br>
-+# endif<br>
-+# ifndef SUBLANG_ARABIC_ALGERIA<br>
-+# define SUBLANG_ARABIC_ALGERIA 0x05<br>
-+# endif<br>
-+# ifndef SUBLANG_ARABIC_MOROCCO<br>
-+# define SUBLANG_ARABIC_MOROCCO 0x06<br>
-+# endif<br>
-+# ifndef SUBLANG_ARABIC_TUNISIA<br>
-+# define SUBLANG_ARABIC_TUNISIA 0x07<br>
-+# endif<br>
-+# ifndef SUBLANG_ARABIC_OMAN<br>
-+# define SUBLANG_ARABIC_OMAN 0x08<br>
-+# endif<br>
-+# ifndef SUBLANG_ARABIC_YEMEN<br>
-+# define SUBLANG_ARABIC_YEMEN 0x09<br>
-+# endif<br>
-+# ifndef SUBLANG_ARABIC_SYRIA<br>
-+# define SUBLANG_ARABIC_SYRIA 0x0a<br>
-+# endif<br>
-+# ifndef SUBLANG_ARABIC_JORDAN<br>
-+# define SUBLANG_ARABIC_JORDAN 0x0b<br>
-+# endif<br>
-+# ifndef SUBLANG_ARABIC_LEBANON<br>
-+# define SUBLANG_ARABIC_LEBANON 0x0c<br>
-+# endif<br>
-+# ifndef SUBLANG_ARABIC_KUWAIT<br>
-+# define SUBLANG_ARABIC_KUWAIT 0x0d<br>
-+# endif<br>
-+# ifndef SUBLANG_ARABIC_UAE<br>
-+# define SUBLANG_ARABIC_UAE 0x0e<br>
-+# endif<br>
-+# ifndef SUBLANG_ARABIC_BAHRAIN<br>
-+# define SUBLANG_ARABIC_BAHRAIN 0x0f<br>
-+# endif<br>
-+# ifndef SUBLANG_ARABIC_QATAR<br>
-+# define SUBLANG_ARABIC_QATAR 0x10<br>
-+# endif<br>
-+# ifndef SUBLANG_AZERI_LATIN<br>
-+# define SUBLANG_AZERI_LATIN 0x01<br>
-+# endif<br>
-+# ifndef SUBLANG_AZERI_CYRILLIC<br>
-+# define SUBLANG_AZERI_CYRILLIC 0x02<br>
-+# endif<br>
-+# ifndef SUBLANG_BENGALI_INDIA<br>
-+# define SUBLANG_BENGALI_INDIA 0x00<br>
-+# endif<br>
-+# ifndef SUBLANG_BENGALI_BANGLADESH<br>
-+# define SUBLANG_BENGALI_BANGLADESH 0x01<br>
-+# endif<br>
-+# ifndef SUBLANG_CHINESE_MACAU<br>
-+# define SUBLANG_CHINESE_MACAU 0x05<br>
-+# endif<br>
-+# ifndef SUBLANG_ENGLISH_SOUTH_AFRICA<br>
-+# define SUBLANG_ENGLISH_SOUTH_AFRICA 0x07<br>
-+# endif<br>
-+# ifndef SUBLANG_ENGLISH_JAMAICA<br>
-+# define SUBLANG_ENGLISH_JAMAICA 0x08<br>
-+# endif<br>
-+# ifndef SUBLANG_ENGLISH_CARIBBEAN<br>
-+# define SUBLANG_ENGLISH_CARIBBEAN 0x09<br>
-+# endif<br>
-+# ifndef SUBLANG_ENGLISH_BELIZE<br>
-+# define SUBLANG_ENGLISH_BELIZE 0x0a<br>
-+# endif<br>
-+# ifndef SUBLANG_ENGLISH_TRINIDAD<br>
-+# define SUBLANG_ENGLISH_TRINIDAD 0x0b<br>
-+# endif<br>
-+# ifndef SUBLANG_ENGLISH_ZIMBABWE<br>
-+# define SUBLANG_ENGLISH_ZIMBABWE 0x0c<br>
-+# endif<br>
-+# ifndef SUBLANG_ENGLISH_PHILIPPINES<br>
-+# define SUBLANG_ENGLISH_PHILIPPINES 0x0d<br>
-+# endif<br>
-+# ifndef SUBLANG_ENGLISH_INDONESIA<br>
-+# define SUBLANG_ENGLISH_INDONESIA 0x0e<br>
-+# endif<br>
-+# ifndef SUBLANG_ENGLISH_HONGKONG<br>
-+# define SUBLANG_ENGLISH_HONGKONG 0x0f<br>
-+# endif<br>
-+# ifndef SUBLANG_ENGLISH_INDIA<br>
-+# define SUBLANG_ENGLISH_INDIA 0x10<br>
-+# endif<br>
-+# ifndef SUBLANG_ENGLISH_MALAYSIA<br>
-+# define SUBLANG_ENGLISH_MALAYSIA 0x11<br>
-+# endif<br>
-+# ifndef SUBLANG_ENGLISH_SINGAPORE<br>
-+# define SUBLANG_ENGLISH_SINGAPORE 0x12<br>
-+# endif<br>
-+# ifndef SUBLANG_FRENCH_LUXEMBOURG<br>
-+# define SUBLANG_FRENCH_LUXEMBOURG 0x05<br>
-+# endif<br>
-+# ifndef SUBLANG_FRENCH_MONACO<br>
-+# define SUBLANG_FRENCH_MONACO 0x06<br>
-+# endif<br>
-+# ifndef SUBLANG_FRENCH_WESTINDIES<br>
-+# define SUBLANG_FRENCH_WESTINDIES 0x07<br>
-+# endif<br>
-+# ifndef SUBLANG_FRENCH_REUNION<br>
-+# define SUBLANG_FRENCH_REUNION 0x08<br>
-+# endif<br>
-+# ifndef SUBLANG_FRENCH_CONGO<br>
-+# define SUBLANG_FRENCH_CONGO 0x09<br>
-+# endif<br>
-+# ifndef SUBLANG_FRENCH_SENEGAL<br>
-+# define SUBLANG_FRENCH_SENEGAL 0x0a<br>
-+# endif<br>
-+# ifndef SUBLANG_FRENCH_CAMEROON<br>
-+# define SUBLANG_FRENCH_CAMEROON 0x0b<br>
-+# endif<br>
-+# ifndef SUBLANG_FRENCH_COTEDIVOIRE<br>
-+# define SUBLANG_FRENCH_COTEDIVOIRE 0x0c<br>
-+# endif<br>
-+# ifndef SUBLANG_FRENCH_MALI<br>
-+# define SUBLANG_FRENCH_MALI 0x0d<br>
-+# endif<br>
-+# ifndef SUBLANG_FRENCH_MOROCCO<br>
-+# define SUBLANG_FRENCH_MOROCCO 0x0e<br>
-+# endif<br>
-+# ifndef SUBLANG_FRENCH_HAITI<br>
-+# define SUBLANG_FRENCH_HAITI 0x0f<br>
-+# endif<br>
-+# ifndef SUBLANG_GERMAN_LUXEMBOURG<br>
-+# define SUBLANG_GERMAN_LUXEMBOURG 0x04<br>
-+# endif<br>
-+# ifndef SUBLANG_GERMAN_LIECHTENSTEIN<br>
-+# define SUBLANG_GERMAN_LIECHTENSTEIN 0x05<br>
-+# endif<br>
-+# ifndef SUBLANG_KASHMIRI_INDIA<br>
-+# define SUBLANG_KASHMIRI_INDIA 0x02<br>
-+# endif<br>
-+# ifndef SUBLANG_MALAY_MALAYSIA<br>
-+# define SUBLANG_MALAY_MALAYSIA 0x01<br>
-+# endif<br>
-+# ifndef SUBLANG_MALAY_BRUNEI_DARUSSALAM<br>
-+# define SUBLANG_MALAY_BRUNEI_DARUSSALAM 0x02<br>
-+# endif<br>
-+# ifndef SUBLANG_NEPALI_INDIA<br>
-+# define SUBLANG_NEPALI_INDIA 0x02<br>
-+# endif<br>
-+# ifndef SUBLANG_PUNJABI_INDIA<br>
-+# define SUBLANG_PUNJABI_INDIA 0x00<br>
-+# endif<br>
-+# ifndef SUBLANG_PUNJABI_PAKISTAN<br>
-+# define SUBLANG_PUNJABI_PAKISTAN 0x01<br>
-+# endif<br>
-+# ifndef SUBLANG_ROMANIAN_ROMANIA<br>
-+# define SUBLANG_ROMANIAN_ROMANIA 0x00<br>
-+# endif<br>
-+# ifndef SUBLANG_ROMANIAN_MOLDOVA<br>
-+# define SUBLANG_ROMANIAN_MOLDOVA 0x01<br>
-+# endif<br>
-+# ifndef SUBLANG_SERBIAN_LATIN<br>
-+# define SUBLANG_SERBIAN_LATIN 0x02<br>
-+# endif<br>
-+# ifndef SUBLANG_SERBIAN_CYRILLIC<br>
-+# define SUBLANG_SERBIAN_CYRILLIC 0x03<br>
-+# endif<br>
-+# ifndef SUBLANG_SINDHI_INDIA<br>
-+# define SUBLANG_SINDHI_INDIA 0x00<br>
-+# endif<br>
-+# ifndef SUBLANG_SINDHI_PAKISTAN<br>
-+# define SUBLANG_SINDHI_PAKISTAN 0x01<br>
-+# endif<br>
-+# ifndef SUBLANG_SPANISH_GUATEMALA<br>
-+# define SUBLANG_SPANISH_GUATEMALA 0x04<br>
-+# endif<br>
-+# ifndef SUBLANG_SPANISH_COSTA_RICA<br>
-+# define SUBLANG_SPANISH_COSTA_RICA 0x05<br>
-+# endif<br>
-+# ifndef SUBLANG_SPANISH_PANAMA<br>
-+# define SUBLANG_SPANISH_PANAMA 0x06<br>
-+# endif<br>
-+# ifndef SUBLANG_SPANISH_DOMINICAN_REPUBLIC<br>
-+# define SUBLANG_SPANISH_DOMINICAN_REPUBLIC 0x07<br>
-+# endif<br>
-+# ifndef SUBLANG_SPANISH_VENEZUELA<br>
-+# define SUBLANG_SPANISH_VENEZUELA 0x08<br>
-+# endif<br>
-+# ifndef SUBLANG_SPANISH_COLOMBIA<br>
-+# define SUBLANG_SPANISH_COLOMBIA 0x09<br>
-+# endif<br>
-+# ifndef SUBLANG_SPANISH_PERU<br>
-+# define SUBLANG_SPANISH_PERU 0x0a<br>
-+# endif<br>
-+# ifndef SUBLANG_SPANISH_ARGENTINA<br>
-+# define SUBLANG_SPANISH_ARGENTINA 0x0b<br>
-+# endif<br>
-+# ifndef SUBLANG_SPANISH_ECUADOR<br>
-+# define SUBLANG_SPANISH_ECUADOR 0x0c<br>
-+# endif<br>
-+# ifndef SUBLANG_SPANISH_CHILE<br>
-+# define SUBLANG_SPANISH_CHILE 0x0d<br>
-+# endif<br>
-+# ifndef SUBLANG_SPANISH_URUGUAY<br>
-+# define SUBLANG_SPANISH_URUGUAY 0x0e<br>
-+# endif<br>
-+# ifndef SUBLANG_SPANISH_PARAGUAY<br>
-+# define SUBLANG_SPANISH_PARAGUAY 0x0f<br>
-+# endif<br>
-+# ifndef SUBLANG_SPANISH_BOLIVIA<br>
-+# define SUBLANG_SPANISH_BOLIVIA 0x10<br>
-+# endif<br>
-+# ifndef SUBLANG_SPANISH_EL_SALVADOR<br>
-+# define SUBLANG_SPANISH_EL_SALVADOR 0x11<br>
-+# endif<br>
-+# ifndef SUBLANG_SPANISH_HONDURAS<br>
-+# define SUBLANG_SPANISH_HONDURAS 0x12<br>
-+# endif<br>
-+# ifndef SUBLANG_SPANISH_NICARAGUA<br>
-+# define SUBLANG_SPANISH_NICARAGUA 0x13<br>
-+# endif<br>
-+# ifndef SUBLANG_SPANISH_PUERTO_RICO<br>
-+# define SUBLANG_SPANISH_PUERTO_RICO 0x14<br>
-+# endif<br>
-+# ifndef SUBLANG_SWEDISH_FINLAND<br>
-+# define SUBLANG_SWEDISH_FINLAND 0x02<br>
-+# endif<br>
-+# ifndef SUBLANG_TAMAZIGHT_ARABIC<br>
-+# define SUBLANG_TAMAZIGHT_ARABIC 0x01<br>
-+# endif<br>
-+# ifndef SUBLANG_TAMAZIGHT_LATIN<br>
-+# define SUBLANG_TAMAZIGHT_LATIN 0x02<br>
-+# endif<br>
-+# ifndef SUBLANG_TIGRINYA_ETHIOPIA<br>
-+# define SUBLANG_TIGRINYA_ETHIOPIA 0x00<br>
-+# endif<br>
-+# ifndef SUBLANG_TIGRINYA_ERITREA<br>
-+# define SUBLANG_TIGRINYA_ERITREA 0x01<br>
-+# endif<br>
-+# ifndef SUBLANG_URDU_PAKISTAN<br>
-+# define SUBLANG_URDU_PAKISTAN 0x01<br>
-+# endif<br>
-+# ifndef SUBLANG_URDU_INDIA<br>
-+# define SUBLANG_URDU_INDIA 0x02<br>
-+# endif<br>
-+# ifndef SUBLANG_UZBEK_LATIN<br>
-+# define SUBLANG_UZBEK_LATIN 0x01<br>
-+# endif<br>
-+# ifndef SUBLANG_UZBEK_CYRILLIC<br>
-+# define SUBLANG_UZBEK_CYRILLIC 0x02<br>
-+# endif<br>
-+#endif<br>
-+<br>
-+/* XPG3 defines the result of 'setlocale (category, NULL)' as:<br>
-+ "Directs 'setlocale()' to query 'category' and return the current<br>
-+ setting of 'local'."<br>
-+ However it does not specify the exact format. Neither do SUSV2 and<br>
-+ ISO C 99. So we can use this feature only on selected systems (e.g.<br>
-+ those using GNU C Library). */<br>
-+#if defined _LIBC || (defined __GNU_LIBRARY__ && __GNU_LIBRARY__ >= 2)<br>
-+# define HAVE_LOCALE_NULL<br>
-+#endif<br>
-+<br>
-+/* Determine the current locale's name, and canonicalize it into XPG syntax<br>
-+ language[_territory[.codeset]][@modifier]<br>
-+ The codeset part in the result is not reliable; the locale_charset()<br>
-+ should be used for codeset information instead.<br>
-+ The result must not be freed; it is statically allocated. */<br>
-+<br>
-+const char *<br>
-+_nl_locale_name (int category, const char *categoryname)<br>
-+{<br>
-+ const char *retval;<br>
-+<br>
-+#ifndef WIN32<br>
-+<br>
-+ /* Use the POSIX methods of looking to 'LC_ALL', 'LC_xxx', and 'LANG'.<br>
-+ On some systems this can be done by the 'setlocale' function itself. */<br>
-+# if defined HAVE_SETLOCALE && defined HAVE_LC_MESSAGES && defined HAVE_LOCALE_NULL<br>
-+ retval = setlocale (category, NULL);<br>
-+# else<br>
-+ /* Setting of LC_ALL overwrites all other. */<br>
-+ retval = getenv ("LC_ALL");<br>
-+ if (retval == NULL || retval[0] == '\0')<br>
-+ {<br>
-+ /* Next comes the name of the desired category. */<br>
-+ retval = getenv (categoryname);<br>
-+ if (retval == NULL || retval[0] == '\0')<br>
-+ {<br>
-+ /* Last possibility is the LANG environment variable. */<br>
-+ retval = getenv ("LANG");<br>
-+ if (retval == NULL || retval[0] == '\0')<br>
-+ /* We use C as the default domain. POSIX says this is<br>
-+ implementation defined. */<br>
-+ retval = "C";<br>
-+ }<br>
-+ }<br>
-+# endif<br>
-+<br>
-+ return retval;<br>
-+<br>
-+#else /* WIN32 */<br>
-+<br>
-+ /* Return an XPG style locale name language[_territory][@modifier].<br>
-+ Don't even bother determining the codeset; it's not useful in this<br>
-+ context, because message catalogs are not specific to a single<br>
-+ codeset. */<br>
-+<br>
-+ LCID lcid;<br>
-+ LANGID langid;<br>
-+ int primary, sub;<br>
-+<br>
-+ /* Let the user override the system settings through environment<br>
-+ variables, as on POSIX systems. */<br>
-+ retval = getenv ("LC_ALL");<br>
-+ if (retval != NULL && retval[0] != '\0')<br>
-+ return retval;<br>
-+ retval = getenv (categoryname);<br>
-+ if (retval != NULL && retval[0] != '\0')<br>
-+ return retval;<br>
-+ retval = getenv ("LANG");<br>
-+ if (retval != NULL && retval[0] != '\0')<br>
-+ return retval;<br>
-+<br>
-+ /* Use native Win32 API locale ID. */<br>
-+ lcid = GetThreadLocale ();<br>
-+<br>
-+ /* Strip off the sorting rules, keep only the language part. */<br>
-+ langid = LANGIDFROMLCID (lcid);<br>
-+<br>
-+ /* Split into language and territory part. */<br>
-+ primary = PRIMARYLANGID (langid);<br>
-+ sub = SUBLANGID (langid);<br>
-+<br>
-+ /* Dispatch on language.<br>
-+ See also <a href="http://www.unicode.org/unicode/onlinedat/languages.html" rel="noreferrer" target="_blank">http://www.unicode.org/unicode/onlinedat/languages.html</a> .<br>
-+ For details about languages, see <a href="http://www.ethnologue.com/" rel="noreferrer" target="_blank">http://www.ethnologue.com/</a> . */<br>
-+ switch (primary)<br>
-+ {<br>
-+ case LANG_AFRIKAANS: return "af_ZA";<br>
-+ case LANG_ALBANIAN: return "sq_AL";<br>
-+ case LANG_AMHARIC: return "am_ET";<br>
-+ case LANG_ARABIC:<br>
-+ switch (sub)<br>
-+ {<br>
-+ case SUBLANG_ARABIC_SAUDI_ARABIA: return "ar_SA";<br>
-+ case SUBLANG_ARABIC_IRAQ: return "ar_IQ";<br>
-+ case SUBLANG_ARABIC_EGYPT: return "ar_EG";<br>
-+ case SUBLANG_ARABIC_LIBYA: return "ar_LY";<br>
-+ case SUBLANG_ARABIC_ALGERIA: return "ar_DZ";<br>
-+ case SUBLANG_ARABIC_MOROCCO: return "ar_MA";<br>
-+ case SUBLANG_ARABIC_TUNISIA: return "ar_TN";<br>
-+ case SUBLANG_ARABIC_OMAN: return "ar_OM";<br>
-+ case SUBLANG_ARABIC_YEMEN: return "ar_YE";<br>
-+ case SUBLANG_ARABIC_SYRIA: return "ar_SY";<br>
-+ case SUBLANG_ARABIC_JORDAN: return "ar_JO";<br>
-+ case SUBLANG_ARABIC_LEBANON: return "ar_LB";<br>
-+ case SUBLANG_ARABIC_KUWAIT: return "ar_KW";<br>
-+ case SUBLANG_ARABIC_UAE: return "ar_AE";<br>
-+ case SUBLANG_ARABIC_BAHRAIN: return "ar_BH";<br>
-+ case SUBLANG_ARABIC_QATAR: return "ar_QA";<br>
-+ }<br>
-+ return "ar";<br>
-+ case LANG_ARMENIAN: return "hy_AM";<br>
-+ case LANG_ASSAMESE: return "as_IN";<br>
-+ case LANG_AZERI:<br>
-+ switch (sub)<br>
-+ {<br>
-+ /* FIXME: Adjust this when Azerbaijani locales appear on Unix. */<br>
-+ case SUBLANG_AZERI_LATIN: return "az_AZ@latin";<br>
-+ case SUBLANG_AZERI_CYRILLIC: return "az_AZ@cyrillic";<br>
-+ }<br>
-+ return "az";<br>
-+ case LANG_BASQUE:<br>
-+ return "eu"; /* Ambiguous: could be "eu_ES" or "eu_FR". */<br>
-+ case LANG_BELARUSIAN: return "be_BY";<br>
-+ case LANG_BENGALI:<br>
-+ switch (sub)<br>
-+ {<br>
-+ case SUBLANG_BENGALI_INDIA: return "bn_IN";<br>
-+ case SUBLANG_BENGALI_BANGLADESH: return "bn_BD";<br>
-+ }<br>
-+ return "bn";<br>
-+ case LANG_BULGARIAN: return "bg_BG";<br>
-+ case LANG_BURMESE: return "my_MM";<br>
-+ case LANG_CAMBODIAN: return "km_KH";<br>
-+ case LANG_CATALAN: return "ca_ES";<br>
-+ case LANG_CHEROKEE: return "chr_US";<br>
-+ case LANG_CHINESE:<br>
-+ switch (sub)<br>
-+ {<br>
-+ case SUBLANG_CHINESE_TRADITIONAL: return "zh_TW";<br>
-+ case SUBLANG_CHINESE_SIMPLIFIED: return "zh_CN";<br>
-+ case SUBLANG_CHINESE_HONGKONG: return "zh_HK";<br>
-+ case SUBLANG_CHINESE_SINGAPORE: return "zh_SG";<br>
-+ case SUBLANG_CHINESE_MACAU: return "zh_MO";<br>
-+ }<br>
-+ return "zh";<br>
-+ case LANG_CROATIAN: /* LANG_CROATIAN == LANG_SERBIAN<br>
-+ * What used to be called Serbo-Croatian<br>
-+ * should really now be two separate<br>
-+ * languages because of political reasons.<br>
-+ * (Says tml, who knows nothing about Serbian<br>
-+ * or Croatian.)<br>
-+ * (I can feel those flames coming already.)<br>
-+ */<br>
-+ switch (sub)<br>
-+ {<br>
-+ case SUBLANG_DEFAULT: return "hr_HR";<br>
-+ case SUBLANG_SERBIAN_LATIN: return "sr_CS";<br>
-+ case SUBLANG_SERBIAN_CYRILLIC: return "sr_CS@cyrillic";<br>
-+ }<br>
-+ return "hr";<br>
-+ case LANG_CZECH: return "cs_CZ";<br>
-+ case LANG_DANISH: return "da_DK";<br>
-+ case LANG_DIVEHI: return "dv_MV";<br>
-+ case LANG_DUTCH:<br>
-+ switch (sub)<br>
-+ {<br>
-+ case SUBLANG_DUTCH: return "nl_NL";<br>
-+ case SUBLANG_DUTCH_BELGIAN: /* FLEMISH, VLAAMS */ return "nl_BE";<br>
-+ }<br>
-+ return "nl";<br>
-+ case LANG_EDO: return "bin_NG";<br>
-+ case LANG_ENGLISH:<br>
-+ switch (sub)<br>
-+ {<br>
-+ /* SUBLANG_ENGLISH_US == SUBLANG_DEFAULT. Heh. I thought<br>
-+ * English was the language spoken in England.<br>
-+ * Oh well.<br>
-+ */<br>
-+ case SUBLANG_ENGLISH_US: return "en_US";<br>
-+ case SUBLANG_ENGLISH_UK: return "en_GB";<br>
-+ case SUBLANG_ENGLISH_AUS: return "en_AU";<br>
-+ case SUBLANG_ENGLISH_CAN: return "en_CA";<br>
-+ case SUBLANG_ENGLISH_NZ: return "en_NZ";<br>
-+ case SUBLANG_ENGLISH_EIRE: return "en_IE";<br>
-+ case SUBLANG_ENGLISH_SOUTH_AFRICA: return "en_ZA";<br>
-+ case SUBLANG_ENGLISH_JAMAICA: return "en_JM";<br>
-+ case SUBLANG_ENGLISH_CARIBBEAN: return "en_GD"; /* Grenada? */<br>
-+ case SUBLANG_ENGLISH_BELIZE: return "en_BZ";<br>
-+ case SUBLANG_ENGLISH_TRINIDAD: return "en_TT";<br>
-+ case SUBLANG_ENGLISH_ZIMBABWE: return "en_ZW";<br>
-+ case SUBLANG_ENGLISH_PHILIPPINES: return "en_PH";<br>
-+ case SUBLANG_ENGLISH_INDONESIA: return "en_ID";<br>
-+ case SUBLANG_ENGLISH_HONGKONG: return "en_HK";<br>
-+ case SUBLANG_ENGLISH_INDIA: return "en_IN";<br>
-+ case SUBLANG_ENGLISH_MALAYSIA: return "en_MY";<br>
-+ case SUBLANG_ENGLISH_SINGAPORE: return "en_SG";<br>
-+ }<br>
-+ return "en";<br>
-+ case LANG_ESTONIAN: return "et_EE";<br>
-+ case LANG_FAEROESE: return "fo_FO";<br>
-+ case LANG_FARSI: return "fa_IR";<br>
-+ case LANG_FINNISH: return "fi_FI";<br>
-+ case LANG_FRENCH:<br>
-+ switch (sub)<br>
-+ {<br>
-+ case SUBLANG_FRENCH: return "fr_FR";<br>
-+ case SUBLANG_FRENCH_BELGIAN: /* WALLOON */ return "fr_BE";<br>
-+ case SUBLANG_FRENCH_CANADIAN: return "fr_CA";<br>
-+ case SUBLANG_FRENCH_SWISS: return "fr_CH";<br>
-+ case SUBLANG_FRENCH_LUXEMBOURG: return "fr_LU";<br>
-+ case SUBLANG_FRENCH_MONACO: return "fr_MC";<br>
-+ case SUBLANG_FRENCH_WESTINDIES: return "fr"; /* Caribbean? */<br>
-+ case SUBLANG_FRENCH_REUNION: return "fr_RE";<br>
-+ case SUBLANG_FRENCH_CONGO: return "fr_CG";<br>
-+ case SUBLANG_FRENCH_SENEGAL: return "fr_SN";<br>
-+ case SUBLANG_FRENCH_CAMEROON: return "fr_CM";<br>
-+ case SUBLANG_FRENCH_COTEDIVOIRE: return "fr_CI";<br>
-+ case SUBLANG_FRENCH_MALI: return "fr_ML";<br>
-+ case SUBLANG_FRENCH_MOROCCO: return "fr_MA";<br>
-+ case SUBLANG_FRENCH_HAITI: return "fr_HT";<br>
-+ }<br>
-+ return "fr";<br>
-+ case LANG_FRISIAN: return "fy_NL";<br>
-+ case LANG_FULFULDE:<br>
-+ /* Spoken in Nigeria, Guinea, Senegal, Mali, Niger, Cameroon, Benin. */<br>
-+ return "ff_NG";<br>
-+ case LANG_GAELIC:<br>
-+ switch (sub)<br>
-+ {<br>
-+ case 0x01: /* SCOTTISH */ return "gd_GB";<br>
-+ case 0x02: /* IRISH */ return "ga_IE";<br>
-+ }<br>
-+ return "C";<br>
-+ case LANG_GALICIAN: return "gl_ES";<br>
-+ case LANG_GEORGIAN: return "ka_GE";<br>
-+ case LANG_GERMAN:<br>
-+ switch (sub)<br>
-+ {<br>
-+ case SUBLANG_GERMAN: return "de_DE";<br>
-+ case SUBLANG_GERMAN_SWISS: return "de_CH";<br>
-+ case SUBLANG_GERMAN_AUSTRIAN: return "de_AT";<br>
-+ case SUBLANG_GERMAN_LUXEMBOURG: return "de_LU";<br>
-+ case SUBLANG_GERMAN_LIECHTENSTEIN: return "de_LI";<br>
-+ }<br>
-+ return "de";<br>
-+ case LANG_GREEK: return "el_GR";<br>
-+ case LANG_GUARANI: return "gn_PY";<br>
-+ case LANG_GUJARATI: return "gu_IN";<br>
-+ case LANG_HAUSA: return "ha_NG";<br>
-+ case LANG_HAWAIIAN:<br>
-+ /* FIXME: Do they mean Hawaiian ("haw_US", 1000 speakers)<br>
-+ or Hawaii Creole English ("cpe_US", 600000 speakers)? */<br>
-+ return "cpe_US";<br>
-+ case LANG_HEBREW: return "he_IL";<br>
-+ case LANG_HINDI: return "hi_IN";<br>
-+ case LANG_HUNGARIAN: return "hu_HU";<br>
-+ case LANG_IBIBIO: return "nic_NG";<br>
-+ case LANG_ICELANDIC: return "is_IS";<br>
-+ case LANG_IGBO: return "ig_NG";<br>
-+ case LANG_INDONESIAN: return "id_ID";<br>
-+ case LANG_INUKTITUT: return "iu_CA";<br>
-+ case LANG_ITALIAN:<br>
-+ switch (sub)<br>
-+ {<br>
-+ case SUBLANG_ITALIAN: return "it_IT";<br>
-+ case SUBLANG_ITALIAN_SWISS: return "it_CH";<br>
-+ }<br>
-+ return "it";<br>
-+ case LANG_JAPANESE: return "ja_JP";<br>
-+ case LANG_KANNADA: return "kn_IN";<br>
-+ case LANG_KANURI: return "kr_NG";<br>
-+ case LANG_KASHMIRI:<br>
-+ switch (sub)<br>
-+ {<br>
-+ case SUBLANG_DEFAULT: return "ks_PK";<br>
-+ case SUBLANG_KASHMIRI_INDIA: return "ks_IN";<br>
-+ }<br>
-+ return "ks";<br>
-+ case LANG_KAZAK: return "kk_KZ";<br>
-+ case LANG_KONKANI:<br>
-+ /* FIXME: Adjust this when such locales appear on Unix. */<br>
-+ return "kok_IN";<br>
-+ case LANG_KOREAN: return "ko_KR";<br>
-+ case LANG_KYRGYZ: return "ky_KG";<br>
-+ case LANG_LAO: return "lo_LA";<br>
-+ case LANG_LATIN: return "la_VA";<br>
-+ case LANG_LATVIAN: return "lv_LV";<br>
-+ case LANG_LITHUANIAN: return "lt_LT";<br>
-+ case LANG_MACEDONIAN: return "mk_MK";<br>
-+ case LANG_MALAY:<br>
-+ switch (sub)<br>
-+ {<br>
-+ case SUBLANG_MALAY_MALAYSIA: return "ms_MY";<br>
-+ case SUBLANG_MALAY_BRUNEI_DARUSSALAM: return "ms_BN";<br>
-+ }<br>
-+ return "ms";<br>
-+ case LANG_MALAYALAM: return "ml_IN";<br>
-+ case LANG_MALTESE: return "mt_MT";<br>
-+ case LANG_MANIPURI:<br>
-+ /* FIXME: Adjust this when such locales appear on Unix. */<br>
-+ return "mni_IN";<br>
-+ case LANG_MARATHI: return "mr_IN";<br>
-+ case LANG_MONGOLIAN:<br>
-+ return "mn"; /* Ambiguous: could be "mn_CN" or "mn_MN". */<br>
-+ case LANG_NEPALI:<br>
-+ switch (sub)<br>
-+ {<br>
-+ case SUBLANG_DEFAULT: return "ne_NP";<br>
-+ case SUBLANG_NEPALI_INDIA: return "ne_IN";<br>
-+ }<br>
-+ return "ne";<br>
-+ case LANG_NORWEGIAN:<br>
-+ switch (sub)<br>
-+ {<br>
-+ case SUBLANG_NORWEGIAN_BOKMAL: return "no_NO";<br>
-+ case SUBLANG_NORWEGIAN_NYNORSK: return "nn_NO";<br>
-+ }<br>
-+ return "no";<br>
-+ case LANG_ORIYA: return "or_IN";<br>
-+ case LANG_OROMO: return "om_ET";<br>
-+ case LANG_PAPIAMENTU: return "pap_AN";<br>
-+ case LANG_PASHTO:<br>
-+ return "ps"; /* Ambiguous: could be "ps_PK" or "ps_AF". */<br>
-+ case LANG_POLISH: return "pl_PL";<br>
-+ case LANG_PORTUGUESE:<br>
-+ switch (sub)<br>
-+ {<br>
-+ case SUBLANG_PORTUGUESE: return "pt_PT";<br>
-+ /* Hmm. SUBLANG_PORTUGUESE_BRAZILIAN == SUBLANG_DEFAULT.<br>
-+ Same phenomenon as SUBLANG_ENGLISH_US == SUBLANG_DEFAULT. */<br>
-+ case SUBLANG_PORTUGUESE_BRAZILIAN: return "pt_BR";<br>
-+ }<br>
-+ return "pt";<br>
-+ case LANG_PUNJABI:<br>
-+ switch (sub)<br>
-+ {<br>
-+ case SUBLANG_PUNJABI_INDIA: return "pa_IN"; /* Gurmukhi script */<br>
-+ case SUBLANG_PUNJABI_PAKISTAN: return "pa_PK"; /* Arabic script */<br>
-+ }<br>
-+ return "pa";<br>
-+ case LANG_RHAETO_ROMANCE: return "rm_CH";<br>
-+ case LANG_ROMANIAN:<br>
-+ switch (sub)<br>
-+ {<br>
-+ case SUBLANG_ROMANIAN_ROMANIA: return "ro_RO";<br>
-+ case SUBLANG_ROMANIAN_MOLDOVA: return "ro_MD";<br>
-+ }<br>
-+ return "ro";<br>
-+ case LANG_RUSSIAN:<br>
-+ return "ru"; /* Ambiguous: could be "ru_RU" or "ru_UA" or "ru_MD". */<br>
-+ case LANG_SAAMI: /* actually Northern Sami */ return "se_NO";<br>
-+ case LANG_SANSKRIT: return "sa_IN";<br>
-+ case LANG_SINDHI:<br>
-+ switch (sub)<br>
-+ {<br>
-+ case SUBLANG_SINDHI_INDIA: return "sd_IN";<br>
-+ case SUBLANG_SINDHI_PAKISTAN: return "sd_PK";<br>
-+ }<br>
-+ return "sd";<br>
-+ case LANG_SINHALESE: return "si_LK";<br>
-+ case LANG_SLOVAK: return "sk_SK";<br>
-+ case LANG_SLOVENIAN: return "sl_SI";<br>
-+ case LANG_SOMALI: return "so_SO";<br>
-+ case LANG_SORBIAN:<br>
-+ /* FIXME: Adjust this when such locales appear on Unix. */<br>
-+ return "wen_DE";<br>
-+ case LANG_SPANISH:<br>
-+ switch (sub)<br>
-+ {<br>
-+ case SUBLANG_SPANISH: return "es_ES";<br>
-+ case SUBLANG_SPANISH_MEXICAN: return "es_MX";<br>
-+ case SUBLANG_SPANISH_MODERN:<br>
-+ return "es_ES@modern"; /* not seen on Unix */<br>
-+ case SUBLANG_SPANISH_GUATEMALA: return "es_GT";<br>
-+ case SUBLANG_SPANISH_COSTA_RICA: return "es_CR";<br>
-+ case SUBLANG_SPANISH_PANAMA: return "es_PA";<br>
-+ case SUBLANG_SPANISH_DOMINICAN_REPUBLIC: return "es_DO";<br>
-+ case SUBLANG_SPANISH_VENEZUELA: return "es_VE";<br>
-+ case SUBLANG_SPANISH_COLOMBIA: return "es_CO";<br>
-+ case SUBLANG_SPANISH_PERU: return "es_PE";<br>
-+ case SUBLANG_SPANISH_ARGENTINA: return "es_AR";<br>
-+ case SUBLANG_SPANISH_ECUADOR: return "es_EC";<br>
-+ case SUBLANG_SPANISH_CHILE: return "es_CL";<br>
-+ case SUBLANG_SPANISH_URUGUAY: return "es_UY";<br>
-+ case SUBLANG_SPANISH_PARAGUAY: return "es_PY";<br>
-+ case SUBLANG_SPANISH_BOLIVIA: return "es_BO";<br>
-+ case SUBLANG_SPANISH_EL_SALVADOR: return "es_SV";<br>
-+ case SUBLANG_SPANISH_HONDURAS: return "es_HN";<br>
-+ case SUBLANG_SPANISH_NICARAGUA: return "es_NI";<br>
-+ case SUBLANG_SPANISH_PUERTO_RICO: return "es_PR";<br>
-+ }<br>
-+ return "es";<br>
-+ case LANG_SUTU: return "bnt_TZ"; /* or "st_LS" or "nso_ZA"? */<br>
-+ case LANG_SWAHILI: return "sw_KE";<br>
-+ case LANG_SWEDISH:<br>
-+ switch (sub)<br>
-+ {<br>
-+ case SUBLANG_DEFAULT: return "sv_SE";<br>
-+ case SUBLANG_SWEDISH_FINLAND: return "sv_FI";<br>
-+ }<br>
-+ return "sv";<br>
-+ case LANG_SYRIAC: return "syr_TR"; /* An extinct language. */<br>
-+ case LANG_TAGALOG: return "tl_PH";<br>
-+ case LANG_TAJIK: return "tg_TJ";<br>
-+ case LANG_TAMAZIGHT:<br>
-+ switch (sub)<br>
-+ {<br>
-+ /* FIXME: Adjust this when Tamazight locales appear on Unix. */<br>
-+ case SUBLANG_TAMAZIGHT_ARABIC: return "ber_MA@arabic";<br>
-+ case SUBLANG_TAMAZIGHT_LATIN: return "ber_MA@latin";<br>
-+ }<br>
-+ return "ber_MA";<br>
-+ case LANG_TAMIL:<br>
-+ return "ta"; /* Ambiguous: could be "ta_IN" or "ta_LK" or "ta_SG". */<br>
-+ case LANG_TATAR: return "tt_RU";<br>
-+ case LANG_TELUGU: return "te_IN";<br>
-+ case LANG_THAI: return "th_TH";<br>
-+ case LANG_TIBETAN: return "bo_CN";<br>
-+ case LANG_TIGRINYA:<br>
-+ switch (sub)<br>
-+ {<br>
-+ case SUBLANG_TIGRINYA_ETHIOPIA: return "ti_ET";<br>
-+ case SUBLANG_TIGRINYA_ERITREA: return "ti_ER";<br>
-+ }<br>
-+ return "ti";<br>
-+ case LANG_TSONGA: return "ts_ZA";<br>
-+ case LANG_TSWANA: return "tn_BW";<br>
-+ case LANG_TURKISH: return "tr_TR";<br>
-+ case LANG_TURKMEN: return "tk_TM";<br>
-+ case LANG_UKRAINIAN: return "uk_UA";<br>
-+ case LANG_URDU:<br>
-+ switch (sub)<br>
-+ {<br>
-+ case SUBLANG_URDU_PAKISTAN: return "ur_PK";<br>
-+ case SUBLANG_URDU_INDIA: return "ur_IN";<br>
-+ }<br>
-+ return "ur";<br>
-+ case LANG_UZBEK:<br>
-+ switch (sub)<br>
-+ {<br>
-+ case SUBLANG_UZBEK_LATIN: return "uz_UZ";<br>
-+ case SUBLANG_UZBEK_CYRILLIC: return "uz_UZ@cyrillic";<br>
-+ }<br>
-+ return "uz";<br>
-+ case LANG_VENDA: return "ve_ZA";<br>
-+ case LANG_VIETNAMESE: return "vi_VN";<br>
-+ case LANG_WELSH: return "cy_GB";<br>
-+ case LANG_XHOSA: return "xh_ZA";<br>
-+ case LANG_YI: return "sit_CN";<br>
-+ case LANG_YIDDISH: return "yi_IL";<br>
-+ case LANG_YORUBA: return "yo_NG";<br>
-+ case LANG_ZULU: return "zu_ZA";<br>
-+ default: return "C";<br>
-+ }<br>
-+<br>
-+#endif<br>
-+}<br>
---- lrzsz-0.12.20.safe/intl/log.c 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/intl/log.c 2004-09-12 14:40:34.515723768 -0400<br>
-@@ -0,0 +1,98 @@<br>
-+/* Log file output.<br>
-+ Copyright (C) 2003 Free Software Foundation, Inc.<br>
-+<br>
-+ This program is free software; you can redistribute it and/or modify it<br>
-+ under the terms of the GNU Library General Public License as published<br>
-+ by the Free Software Foundation; either version 2, or (at your option)<br>
-+ any later version.<br>
-+<br>
-+ This program is distributed in the hope that it will be useful,<br>
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-+ Library General Public License for more details.<br>
-+<br>
-+ You should have received a copy of the GNU Library General Public<br>
-+ License along with this program; if not, write to the Free Software<br>
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,<br>
-+ USA. */<br>
-+<br>
-+/* Written by Bruno Haible <<a href="mailto:bruno@clisp.org" target="_blank">bruno@clisp.org</a>>. */<br>
-+<br>
-+#ifdef HAVE_CONFIG_H<br>
-+# include <config.h><br>
-+#endif<br>
-+<br>
-+#include <stdio.h><br>
-+#include <stdlib.h><br>
-+#include <string.h><br>
-+<br>
-+/* Print an ASCII string with quotes and escape sequences where needed. */<br>
-+static void<br>
-+print_escaped (FILE *stream, const char *str)<br>
-+{<br>
-+ putc ('"', stream);<br>
-+ for (; *str != '\0'; str++)<br>
-+ if (*str == '\n')<br>
-+ {<br>
-+ fputs ("\\n\"", stream);<br>
-+ if (str[1] == '\0')<br>
-+ return;<br>
-+ fputs ("\n\"", stream);<br>
-+ }<br>
-+ else<br>
-+ {<br>
-+ if (*str == '"' || *str == '\\')<br>
-+ putc ('\\', stream);<br>
-+ putc (*str, stream);<br>
-+ }<br>
-+ putc ('"', stream);<br>
-+}<br>
-+<br>
-+/* Add to the log file an entry denoting a failed translation. */<br>
-+void<br>
-+_nl_log_untranslated (const char *logfilename, const char *domainname,<br>
-+ const char *msgid1, const char *msgid2, int plural)<br>
-+{<br>
-+ static char *last_logfilename = NULL;<br>
-+ static FILE *last_logfile = NULL;<br>
-+ FILE *logfile;<br>
-+<br>
-+ /* Can we reuse the last opened logfile? */<br>
-+ if (last_logfilename == NULL || strcmp (logfilename, last_logfilename) != 0)<br>
-+ {<br>
-+ /* Close the last used logfile. */<br>
-+ if (last_logfilename != NULL)<br>
-+ {<br>
-+ if (last_logfile != NULL)<br>
-+ {<br>
-+ fclose (last_logfile);<br>
-+ last_logfile = NULL;<br>
-+ }<br>
-+ free (last_logfilename);<br>
-+ last_logfilename = NULL;<br>
-+ }<br>
-+ /* Open the logfile. */<br>
-+ last_logfilename = (char *) malloc (strlen (logfilename) + 1);<br>
-+ if (last_logfilename == NULL)<br>
-+ return;<br>
-+ strcpy (last_logfilename, logfilename);<br>
-+ last_logfile = fopen (logfilename, "a");<br>
-+ if (last_logfile == NULL)<br>
-+ return;<br>
-+ }<br>
-+ logfile = last_logfile;<br>
-+<br>
-+ fprintf (logfile, "domain ");<br>
-+ print_escaped (logfile, domainname);<br>
-+ fprintf (logfile, "\nmsgid ");<br>
-+ print_escaped (logfile, msgid1);<br>
-+ if (plural)<br>
-+ {<br>
-+ fprintf (logfile, "\nmsgid_plural ");<br>
-+ print_escaped (logfile, msgid2);<br>
-+ fprintf (logfile, "\nmsgstr[0] \"\"\n");<br>
-+ }<br>
-+ else<br>
-+ fprintf (logfile, "\nmsgstr \"\"\n");<br>
-+ putc ('\n', logfile);<br>
-+}<br>
---- lrzsz-0.12.20.safe/intl/Makefile.in 1998-04-26 09:22:35.000000000 -0400<br>
-+++ lrzsz-0.12.20/intl/Makefile.in 2004-09-12 14:40:34.521722856 -0400<br>
-@@ -1,19 +1,20 @@<br>
--# Makefile for directory with message catalog handling in GNU NLS Utilities.<br>
--# Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.<br>
-+# Makefile for directory with message catalog handling library of GNU gettext<br>
-+# Copyright (C) 1995-1998, 2000-2003 Free Software Foundation, Inc.<br>
- #<br>
--# This program is free software; you can redistribute it and/or modify<br>
--# it under the terms of the GNU General Public License as published by<br>
--# the Free Software Foundation; either version 2, or (at your option)<br>
-+# This program is free software; you can redistribute it and/or modify it<br>
-+# under the terms of the GNU Library General Public License as published<br>
-+# by the Free Software Foundation; either version 2, or (at your option)<br>
- # any later version.<br>
- #<br>
- # This program is distributed in the hope that it will be useful,<br>
- # but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
--# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the<br>
--# GNU General Public License for more details.<br>
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-+# Library General Public License for more details.<br>
- #<br>
--# You should have received a copy of the GNU General Public License<br>
--# along with this program; if not, write to the Free Software<br>
--# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.<br>
-+# You should have received a copy of the GNU Library General Public<br>
-+# License along with this program; if not, write to the Free Software<br>
-+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,<br>
-+# USA.<br>
- <br>
- PACKAGE = @PACKAGE@<br>
- VERSION = @VERSION@<br>
-@@ -23,118 +24,341 @@<br>
- srcdir = @srcdir@<br>
- top_srcdir = @top_srcdir@<br>
- top_builddir = ..<br>
--VPATH = @srcdir@<br>
-+#VPATH = $(srcdir)<br>
- <br>
- prefix = @prefix@<br>
- exec_prefix = @exec_prefix@<br>
- transform = @program_transform_name@<br>
--libdir = $(exec_prefix)/lib<br>
--includedir = $(prefix)/include<br>
--datadir = $(prefix)/@DATADIRNAME@<br>
-+libdir = @libdir@<br>
-+includedir = @includedir@<br>
-+datadir = @datadir@<br>
- localedir = $(datadir)/locale<br>
--gnulocaledir = $(prefix)/share/locale<br>
--gettextsrcdir = @datadir@/gettext/intl<br>
--aliaspath = $(localedir):.<br>
-+gettextsrcdir = $(datadir)/gettext/intl<br>
-+aliaspath = $(localedir)<br>
- subdir = intl<br>
- <br>
- INSTALL = @INSTALL@<br>
- INSTALL_DATA = @INSTALL_DATA@<br>
- MKINSTALLDIRS = @MKINSTALLDIRS@<br>
-+mkinstalldirs = $(SHELL) $(MKINSTALLDIRS)<br>
- <br>
--l = @l@<br>
-+l = @INTL_LIBTOOL_SUFFIX_PREFIX@<br>
- <br>
- AR = ar<br>
- CC = @CC@<br>
- LIBTOOL = @LIBTOOL@<br>
- RANLIB = @RANLIB@<br>
-+YACC = @INTLBISON@ -y -d<br>
-+YFLAGS = --name-prefix=__gettext<br>
- <br>
--DEFS = -DLOCALEDIR=\"$(localedir)\" -DGNULOCALEDIR=\"$(gnulocaledir)\" \<br>
---DLOCALE_ALIAS_PATH=\"$(aliaspath)\" @DEFS@<br>
-+DEFS = -DLOCALEDIR=\"$(localedir)\" -DLOCALE_ALIAS_PATH=\"$(aliaspath)\" \<br>
-+-DLIBDIR=\"$(libdir)\" -DIN_LIBINTL \<br>
-+-DENABLE_RELOCATABLE=1 -DIN_LIBRARY -DINSTALLDIR=\"$(libdir)\" -DNO_XMALLOC \<br>
-+-Dset_relocation_prefix=libintl_set_relocation_prefix \<br>
-+-Drelocate=libintl_relocate \<br>
-+-DDEPENDS_ON_LIBICONV=1 @DEFS@<br>
- CPPFLAGS = @CPPFLAGS@<br>
- CFLAGS = @CFLAGS@<br>
- LDFLAGS = @LDFLAGS@<br>
-+LIBS = @LIBS@<br>
- <br>
- COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS)<br>
- <br>
--HEADERS = $(COMHDRS) libgettext.h loadinfo.h<br>
--COMHDRS = gettext.h gettextP.h hash-string.h<br>
--SOURCES = $(COMSRCS) intl-compat.c cat-compat.c<br>
--COMSRCS = bindtextdom.c dcgettext.c dgettext.c gettext.c \<br>
--finddomain.c loadmsgcat.c localealias.c textdomain.c l10nflist.c \<br>
--explodename.c<br>
--OBJECTS = @INTLOBJS@ bindtextdom.$lo dcgettext.$lo dgettext.$lo gettext.$lo \<br>
--finddomain.$lo loadmsgcat.$lo localealias.$lo textdomain.$lo l10nflist.$lo \<br>
--explodename.$lo<br>
--CATOBJS = cat-compat.$lo ../po/cat-id-tbl.$lo<br>
--GETTOBJS = intl-compat.$lo<br>
--DISTFILES.common = ChangeLog Makefile.in linux-msg.sed <a href="http://po2tbl.sed.in" rel="noreferrer" target="_blank">po2tbl.sed.in</a> \<br>
--xopen-msg.sed $(HEADERS) $(SOURCES)<br>
-+HEADERS = \<br>
-+ gmo.h \<br>
-+ gettextP.h \<br>
-+ hash-string.h \<br>
-+ loadinfo.h \<br>
-+ plural-exp.h \<br>
-+ eval-plural.h \<br>
-+ localcharset.h \<br>
-+ relocatable.h \<br>
-+ xsize.h \<br>
-+ printf-args.h printf-args.c \<br>
-+ printf-parse.h wprintf-parse.h printf-parse.c \<br>
-+ vasnprintf.h vasnwprintf.h vasnprintf.c \<br>
-+ os2compat.h \<br>
-+ <a href="http://libgnuintl.h.in" rel="noreferrer" target="_blank">libgnuintl.h.in</a><br>
-+SOURCES = \<br>
-+ bindtextdom.c \<br>
-+ dcgettext.c \<br>
-+ dgettext.c \<br>
-+ gettext.c \<br>
-+ finddomain.c \<br>
-+ loadmsgcat.c \<br>
-+ localealias.c \<br>
-+ textdomain.c \<br>
-+ l10nflist.c \<br>
-+ explodename.c \<br>
-+ dcigettext.c \<br>
-+ dcngettext.c \<br>
-+ dngettext.c \<br>
-+ ngettext.c \<br>
-+ plural.y \<br>
-+ plural-exp.c \<br>
-+ localcharset.c \<br>
-+ relocatable.c \<br>
-+ localename.c \<br>
-+ log.c \<br>
-+ printf.c \<br>
-+ osdep.c \<br>
-+ os2compat.c \<br>
-+ intl-compat.c<br>
-+OBJECTS = \<br>
-+ bindtextdom.$lo \<br>
-+ dcgettext.$lo \<br>
-+ dgettext.$lo \<br>
-+ gettext.$lo \<br>
-+ finddomain.$lo \<br>
-+ loadmsgcat.$lo \<br>
-+ localealias.$lo \<br>
-+ textdomain.$lo \<br>
-+ l10nflist.$lo \<br>
-+ explodename.$lo \<br>
-+ dcigettext.$lo \<br>
-+ dcngettext.$lo \<br>
-+ dngettext.$lo \<br>
-+ ngettext.$lo \<br>
-+ plural.$lo \<br>
-+ plural-exp.$lo \<br>
-+ localcharset.$lo \<br>
-+ relocatable.$lo \<br>
-+ localename.$lo \<br>
-+ log.$lo \<br>
-+ printf.$lo \<br>
-+ osdep.$lo \<br>
-+ intl-compat.$lo<br>
-+DISTFILES.common = Makefile.in \<br>
-+config.charset locale.alias ref-add.sin ref-del.sin $(HEADERS) $(SOURCES)<br>
-+DISTFILES.generated = plural.c<br>
- DISTFILES.normal = VERSION<br>
--DISTFILES.gettext = libintl.glibc <a href="http://intlh.inst.in" rel="noreferrer" target="_blank">intlh.inst.in</a><br>
-+DISTFILES.gettext = COPYING.LIB-2.0 COPYING.LIB-2.1 libintl.glibc \<br>
-+libgnuintl.h_vms Makefile.vms \<br>
-+libgnuintl.h.msvc-static libgnuintl.h.msvc-shared README.woe32 Makefile.msvc<br>
-+DISTFILES.obsolete = xopen-msg.sed linux-msg.sed <a href="http://po2tbl.sed.in" rel="noreferrer" target="_blank">po2tbl.sed.in</a> cat-compat.c \<br>
-+COPYING.LIB-2 gettext.h libgettext.h plural-eval.c libgnuintl.h<br>
-+<br>
-+all: all-@USE_INCLUDED_LIBINTL@<br>
-+all-yes: libintl.$la libintl.h charset.alias ref-add.sed ref-del.sed<br>
-+all-no: all-no-@BUILD_INCLUDED_LIBINTL@<br>
-+all-no-yes: libgnuintl.$la<br>
-+all-no-no:<br>
-+<br>
-+libintl.a libgnuintl.a: $(OBJECTS)<br>
-+ rm -f $@<br>
-+ $(AR) cru $@ $(OBJECTS)<br>
-+ $(RANLIB) $@<br>
-+<br>
-+<a href="http://libintl.la" rel="noreferrer" target="_blank">libintl.la</a> <a href="http://libgnuintl.la" rel="noreferrer" target="_blank">libgnuintl.la</a>: $(OBJECTS)<br>
-+ $(LIBTOOL) --mode=link \<br>
-+ $(CC) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) $(LDFLAGS) -o $@ \<br>
-+ $(OBJECTS) @LTLIBICONV@ $(LIBS) -lc \<br>
-+ -version-info $(LTV_CURRENT):$(LTV_REVISION):$(LTV_AGE) \<br>
-+ -rpath $(libdir) \<br>
-+ -no-undefined<br>
-+<br>
-+# Libtool's library version information for libintl.<br>
-+# Before making a gettext release, the gettext maintainer must change this<br>
-+# according to the libtool documentation, section "Library interface versions".<br>
-+# Maintainers of other packages that include the intl directory must *not*<br>
-+# change these values.<br>
-+LTV_CURRENT=7<br>
-+LTV_REVISION=0<br>
-+LTV_AGE=4<br>
- <br>
- .SUFFIXES:<br>
--.SUFFIXES: .c .o .lo<br>
-+.SUFFIXES: .c .y .o .lo .sin .sed<br>
-+<br>
- .c.o:<br>
- $(COMPILE) $<<br>
--.c.lo:<br>
-- $(LIBTOOL) --mode=compile $(COMPILE) $<<br>
- <br>
--INCLUDES = -I.. -I. -I$(top_srcdir)/intl -I$(top_srcdir)/lib<br>
-+.y.c:<br>
-+ $(YACC) $(YFLAGS) --output $@ $<<br>
-+ rm -f $*.h<br>
- <br>
--all: all-@USE_INCLUDED_LIBINTL@<br>
-+bindtextdom.lo: $(srcdir)/bindtextdom.c<br>
-+ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/bindtextdom.c<br>
-+dcgettext.lo: $(srcdir)/dcgettext.c<br>
-+ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dcgettext.c<br>
-+dgettext.lo: $(srcdir)/dgettext.c<br>
-+ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dgettext.c<br>
-+gettext.lo: $(srcdir)/gettext.c<br>
-+ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/gettext.c<br>
-+finddomain.lo: $(srcdir)/finddomain.c<br>
-+ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/finddomain.c<br>
-+loadmsgcat.lo: $(srcdir)/loadmsgcat.c<br>
-+ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/loadmsgcat.c<br>
-+localealias.lo: $(srcdir)/localealias.c<br>
-+ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/localealias.c<br>
-+textdomain.lo: $(srcdir)/textdomain.c<br>
-+ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/textdomain.c<br>
-+l10nflist.lo: $(srcdir)/l10nflist.c<br>
-+ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/l10nflist.c<br>
-+explodename.lo: $(srcdir)/explodename.c<br>
-+ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/explodename.c<br>
-+dcigettext.lo: $(srcdir)/dcigettext.c<br>
-+ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dcigettext.c<br>
-+dcngettext.lo: $(srcdir)/dcngettext.c<br>
-+ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dcngettext.c<br>
-+dngettext.lo: $(srcdir)/dngettext.c<br>
-+ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/dngettext.c<br>
-+ngettext.lo: $(srcdir)/ngettext.c<br>
-+ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/ngettext.c<br>
-+plural.lo: $(srcdir)/plural.c<br>
-+ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/plural.c<br>
-+plural-exp.lo: $(srcdir)/plural-exp.c<br>
-+ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/plural-exp.c<br>
-+localcharset.lo: $(srcdir)/localcharset.c<br>
-+ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/localcharset.c<br>
-+relocatable.lo: $(srcdir)/relocatable.c<br>
-+ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/relocatable.c<br>
-+localename.lo: $(srcdir)/localename.c<br>
-+ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/localename.c<br>
-+log.lo: $(srcdir)/log.c<br>
-+ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/log.c<br>
-+printf.lo: $(srcdir)/printf.c<br>
-+ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/printf.c<br>
-+osdep.lo: $(srcdir)/osdep.c<br>
-+ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/osdep.c<br>
-+intl-compat.lo: $(srcdir)/intl-compat.c<br>
-+ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/intl-compat.c<br>
- <br>
--all-yes: libintl.$la intlh.inst<br>
--all-no:<br>
-+ref-add.sed: $(srcdir)/ref-add.sin<br>
-+ sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $(srcdir)/ref-add.sin > t-ref-add.sed<br>
-+ mv t-ref-add.sed ref-add.sed<br>
-+ref-del.sed: $(srcdir)/ref-del.sin<br>
-+ sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $(srcdir)/ref-del.sin > t-ref-del.sed<br>
-+ mv t-ref-del.sed ref-del.sed<br>
- <br>
--libintl.a: $(OBJECTS)<br>
-- rm -f $@<br>
-- $(AR) cru $@ $(OBJECTS)<br>
-- $(RANLIB) $@<br>
-+INCLUDES = -I. -I$(srcdir) -I..<br>
- <br>
--<a href="http://libintl.la" rel="noreferrer" target="_blank">libintl.la</a>: $(OBJECTS)<br>
-- $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -o $@ $(OBJECTS) \<br>
-- -version-info 1:0 -rpath $(libdir)<br>
-+libgnuintl.h: $(srcdir)/<a href="http://libgnuintl.h.in" rel="noreferrer" target="_blank">libgnuintl.h.in</a><br>
-+ sed -e 's,@''HAVE_POSIX_PRINTF''@,@HAVE_POSIX_PRINTF@,g' \<br>
-+ -e 's,@''HAVE_ASPRINTF''@,@HAVE_ASPRINTF@,g' \<br>
-+ -e 's,@''HAVE_SNPRINTF''@,@HAVE_SNPRINTF@,g' \<br>
-+ -e 's,@''HAVE_WPRINTF''@,@HAVE_WPRINTF@,g' \<br>
-+ < $(srcdir)/<a href="http://libgnuintl.h.in" rel="noreferrer" target="_blank">libgnuintl.h.in</a> > libgnuintl.h<br>
- <br>
--../po/cat-id-tbl.$lo: ../po/cat-id-tbl.c $(top_srcdir)/po/$(PACKAGE).pot<br>
-- cd ../po && $(MAKE) cat-id-tbl.$lo<br>
-+libintl.h: libgnuintl.h<br>
-+ cp libgnuintl.h libintl.h<br>
- <br>
--check: all<br>
-+charset.alias: $(srcdir)/config.charset<br>
-+ $(SHELL) $(srcdir)/config.charset '@host@' > t-$@<br>
-+ mv t-$@ $@<br>
- <br>
--# This installation goal is only used in GNU gettext. Packages which<br>
--# only use the library should use install instead.<br>
-+check: all<br>
- <br>
- # We must not install the libintl.h/libintl.a files if we are on a<br>
--# system which has the gettext() function in its C library or in a<br>
--# separate library or use the catgets interface. A special case is<br>
--# where configure found a previously installed GNU gettext library.<br>
-+# system which has the GNU gettext() function in its C library or in a<br>
-+# separate library.<br>
- # If you want to use the one which comes with this version of the<br>
- # package, you have to use `configure --with-included-gettext'.<br>
- install: install-exec install-data<br>
- install-exec: all<br>
-- if test "$(PACKAGE)" = "gettext" \<br>
-- && test '@INTLOBJS@' = '$(GETTOBJS)'; then \<br>
-- if test -r $(MKINSTALLDIRS); then \<br>
-- $(MKINSTALLDIRS) $(libdir) $(includedir); \<br>
-- else \<br>
-- $(top_srcdir)/mkinstalldirs $(libdir) $(includedir); \<br>
-+ if { test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; } \<br>
-+ && test '@USE_INCLUDED_LIBINTL@' = yes; then \<br>
-+ $(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir); \<br>
-+ $(INSTALL_DATA) libintl.h $(DESTDIR)$(includedir)/libintl.h; \<br>
-+ $(LIBTOOL) --mode=install \<br>
-+ $(INSTALL_DATA) libintl.$la $(DESTDIR)$(libdir)/libintl.$la; \<br>
-+ if test "@RELOCATABLE@" = yes; then \<br>
-+ dependencies=`sed -n -e 's,^dependency_libs=\(.*\),\1,p' < $(DESTDIR)$(libdir)/<a href="http://libintl.la" rel="noreferrer" target="_blank">libintl.la</a> | sed -e "s,^',," -e "s,'\$$,,"`; \<br>
-+ if test -n "$$dependencies"; then \<br>
-+ rm -f $(DESTDIR)$(libdir)/<a href="http://libintl.la" rel="noreferrer" target="_blank">libintl.la</a>; \<br>
-+ fi; \<br>
- fi; \<br>
-- $(INSTALL_DATA) intlh.inst $(includedir)/libintl.h; \<br>
-- $(INSTALL_DATA) libintl.a $(libdir)/libintl.a; \<br>
- else \<br>
- : ; \<br>
- fi<br>
--install-data: all<br>
-- if test "$(PACKAGE)" = "gettext"; then \<br>
-- if test -r $(MKINSTALLDIRS); then \<br>
-- $(MKINSTALLDIRS) $(gettextsrcdir); \<br>
-+ if test "$(PACKAGE)" = "gettext-tools" \<br>
-+ && test '@USE_INCLUDED_LIBINTL@' = no; then \<br>
-+ $(mkinstalldirs) $(DESTDIR)$(libdir); \<br>
-+ $(LIBTOOL) --mode=install \<br>
-+ $(INSTALL_DATA) libgnuintl.$la $(DESTDIR)$(libdir)/libgnuintl.$la; \<br>
-+ rm -f $(DESTDIR)$(libdir)/preloadable_libintl.so; \<br>
-+ $(INSTALL_DATA) $(DESTDIR)$(libdir)/libgnuintl.so $(DESTDIR)$(libdir)/preloadable_libintl.so; \<br>
-+ $(LIBTOOL) --mode=uninstall \<br>
-+ rm -f $(DESTDIR)$(libdir)/libgnuintl.$la; \<br>
-+ else \<br>
-+ : ; \<br>
-+ fi<br>
-+ if test '@USE_INCLUDED_LIBINTL@' = yes; then \<br>
-+ test @GLIBC21@ != no || $(mkinstalldirs) $(DESTDIR)$(libdir); \<br>
-+ temp=$(DESTDIR)$(libdir)/t-charset.alias; \<br>
-+ dest=$(DESTDIR)$(libdir)/charset.alias; \<br>
-+ if test -f $(DESTDIR)$(libdir)/charset.alias; then \<br>
-+ orig=$(DESTDIR)$(libdir)/charset.alias; \<br>
-+ sed -f ref-add.sed $$orig > $$temp; \<br>
-+ $(INSTALL_DATA) $$temp $$dest; \<br>
-+ rm -f $$temp; \<br>
- else \<br>
-- $(top_srcdir)/mkinstalldirs $(gettextsrcdir); \<br>
-+ if test @GLIBC21@ = no; then \<br>
-+ orig=charset.alias; \<br>
-+ sed -f ref-add.sed $$orig > $$temp; \<br>
-+ $(INSTALL_DATA) $$temp $$dest; \<br>
-+ rm -f $$temp; \<br>
-+ fi; \<br>
- fi; \<br>
-- $(INSTALL_DATA) VERSION $(gettextsrcdir)/VERSION; \<br>
-- dists="$(DISTFILES.common)"; \<br>
-+ $(mkinstalldirs) $(DESTDIR)$(localedir); \<br>
-+ test -f $(DESTDIR)$(localedir)/locale.alias \<br>
-+ && orig=$(DESTDIR)$(localedir)/locale.alias \<br>
-+ || orig=$(srcdir)/locale.alias; \<br>
-+ temp=$(DESTDIR)$(localedir)/t-locale.alias; \<br>
-+ dest=$(DESTDIR)$(localedir)/locale.alias; \<br>
-+ sed -f ref-add.sed $$orig > $$temp; \<br>
-+ $(INSTALL_DATA) $$temp $$dest; \<br>
-+ rm -f $$temp; \<br>
-+ else \<br>
-+ : ; \<br>
-+ fi<br>
-+install-data: all<br>
-+ if test "$(PACKAGE)" = "gettext-tools"; then \<br>
-+ $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \<br>
-+ $(INSTALL_DATA) VERSION $(DESTDIR)$(gettextsrcdir)/VERSION; \<br>
-+ $(INSTALL_DATA) ChangeLog.inst $(DESTDIR)$(gettextsrcdir)/ChangeLog; \<br>
-+ dists="COPYING.LIB-2.0 COPYING.LIB-2.1 $(DISTFILES.common)"; \<br>
- for file in $$dists; do \<br>
-- $(INSTALL_DATA) $(srcdir)/$$file $(gettextsrcdir)/$$file; \<br>
-+ $(INSTALL_DATA) $(srcdir)/$$file \<br>
-+ $(DESTDIR)$(gettextsrcdir)/$$file; \<br>
- done; \<br>
-+ chmod a+x $(DESTDIR)$(gettextsrcdir)/config.charset; \<br>
-+ dists="$(DISTFILES.generated)"; \<br>
-+ for file in $$dists; do \<br>
-+ if test -f $$file; then dir=.; else dir=$(srcdir); fi; \<br>
-+ $(INSTALL_DATA) $$dir/$$file \<br>
-+ $(DESTDIR)$(gettextsrcdir)/$$file; \<br>
-+ done; \<br>
-+ dists="$(DISTFILES.obsolete)"; \<br>
-+ for file in $$dists; do \<br>
-+ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \<br>
-+ done; \<br>
-+ else \<br>
-+ : ; \<br>
-+ fi<br>
-+<br>
-+install-strip: install<br>
-+<br>
-+installdirs:<br>
-+ if { test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; } \<br>
-+ && test '@USE_INCLUDED_LIBINTL@' = yes; then \<br>
-+ $(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(includedir); \<br>
-+ else \<br>
-+ : ; \<br>
-+ fi<br>
-+ if test "$(PACKAGE)" = "gettext-tools" \<br>
-+ && test '@USE_INCLUDED_LIBINTL@' = no; then \<br>
-+ $(mkinstalldirs) $(DESTDIR)$(libdir); \<br>
-+ else \<br>
-+ : ; \<br>
-+ fi<br>
-+ if test '@USE_INCLUDED_LIBINTL@' = yes; then \<br>
-+ test @GLIBC21@ != no || $(mkinstalldirs) $(DESTDIR)$(libdir); \<br>
-+ $(mkinstalldirs) $(DESTDIR)$(localedir); \<br>
-+ else \<br>
-+ : ; \<br>
-+ fi<br>
-+ if test "$(PACKAGE)" = "gettext-tools"; then \<br>
-+ $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \<br>
- else \<br>
- : ; \<br>
- fi<br>
-@@ -143,22 +367,76 @@<br>
- installcheck:<br>
- <br>
- uninstall:<br>
-- dists="$(DISTFILES.common)"; \<br>
-- for file in $$dists; do \<br>
-- rm -f $(gettextsrcdir)/$$file; \<br>
-- done<br>
-+ if { test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; } \<br>
-+ && test '@USE_INCLUDED_LIBINTL@' = yes; then \<br>
-+ rm -f $(DESTDIR)$(includedir)/libintl.h; \<br>
-+ $(LIBTOOL) --mode=uninstall \<br>
-+ rm -f $(DESTDIR)$(libdir)/libintl.$la; \<br>
-+ else \<br>
-+ : ; \<br>
-+ fi<br>
-+ if test "$(PACKAGE)" = "gettext-tools" \<br>
-+ && test '@USE_INCLUDED_LIBINTL@' = no; then \<br>
-+ rm -f $(DESTDIR)$(libdir)/preloadable_libintl.so; \<br>
-+ else \<br>
-+ : ; \<br>
-+ fi<br>
-+ if test '@USE_INCLUDED_LIBINTL@' = yes; then \<br>
-+ if test -f $(DESTDIR)$(libdir)/charset.alias; then \<br>
-+ temp=$(DESTDIR)$(libdir)/t-charset.alias; \<br>
-+ dest=$(DESTDIR)$(libdir)/charset.alias; \<br>
-+ sed -f ref-del.sed $$dest > $$temp; \<br>
-+ if grep '^# Packages using this file: $$' $$temp > /dev/null; then \<br>
-+ rm -f $$dest; \<br>
-+ else \<br>
-+ $(INSTALL_DATA) $$temp $$dest; \<br>
-+ fi; \<br>
-+ rm -f $$temp; \<br>
-+ fi; \<br>
-+ if test -f $(DESTDIR)$(localedir)/locale.alias; then \<br>
-+ temp=$(DESTDIR)$(localedir)/t-locale.alias; \<br>
-+ dest=$(DESTDIR)$(localedir)/locale.alias; \<br>
-+ sed -f ref-del.sed $$dest > $$temp; \<br>
-+ if grep '^# Packages using this file: $$' $$temp > /dev/null; then \<br>
-+ rm -f $$dest; \<br>
-+ else \<br>
-+ $(INSTALL_DATA) $$temp $$dest; \<br>
-+ fi; \<br>
-+ rm -f $$temp; \<br>
-+ fi; \<br>
-+ else \<br>
-+ : ; \<br>
-+ fi<br>
-+ if test "$(PACKAGE)" = "gettext-tools"; then \<br>
-+ for file in VERSION ChangeLog COPYING.LIB-2.0 COPYING.LIB-2.1 $(DISTFILES.common) $(DISTFILES.generated); do \<br>
-+ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \<br>
-+ done; \<br>
-+ else \<br>
-+ : ; \<br>
-+ fi<br>
- <br>
--info dvi:<br>
-+info dvi ps pdf html:<br>
- <br>
--$(OBJECTS): ../config.h libgettext.h<br>
--bindtextdom.$lo finddomain.$lo loadmsgcat.$lo: gettextP.h gettext.h loadinfo.h<br>
--dcgettext.$lo: gettextP.h gettext.h hash-string.h loadinfo.h<br>
-+$(OBJECTS): ../config.h libgnuintl.h<br>
-+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<br>
-+dcigettext.$lo loadmsgcat.$lo: $(srcdir)/hash-string.h<br>
-+explodename.$lo l10nflist.$lo: $(srcdir)/loadinfo.h<br>
-+dcigettext.$lo loadmsgcat.$lo plural.$lo plural-exp.$lo: $(srcdir)/plural-exp.h<br>
-+dcigettext.$lo: $(srcdir)/eval-plural.h<br>
-+localcharset.$lo: $(srcdir)/localcharset.h<br>
-+localealias.$lo localcharset.$lo relocatable.$lo: $(srcdir)/relocatable.h<br>
-+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<br>
- <br>
- tags: TAGS<br>
- <br>
- TAGS: $(HEADERS) $(SOURCES)<br>
- here=`pwd`; cd $(srcdir) && etags -o $$here/TAGS $(HEADERS) $(SOURCES)<br>
- <br>
-+ctags: CTAGS<br>
-+<br>
-+CTAGS: $(HEADERS) $(SOURCES)<br>
-+ here=`pwd`; cd $(srcdir) && ctags -o $$here/CTAGS $(HEADERS) $(SOURCES)<br>
-+<br>
- id: ID<br>
- <br>
- ID: $(HEADERS) $(SOURCES)<br>
-@@ -166,12 +444,19 @@<br>
- <br>
- <br>
- mostlyclean:<br>
-- rm -f *.a *.o *.lo core core.*<br>
-+ rm -f *.a *.la *.o *.obj *.lo core core.*<br>
-+ rm -f libgnuintl.h libintl.h charset.alias ref-add.sed ref-del.sed<br>
-+ rm -f -r .libs _libs<br>
- <br>
- clean: mostlyclean<br>
- <br>
- distclean: clean<br>
-- rm -f Makefile ID TAGS po2msg.sed po2tbl.sed libintl.h<br>
-+ rm -f Makefile ID TAGS<br>
-+ if test "$(PACKAGE)" = "gettext-runtime" || test "$(PACKAGE)" = "gettext-tools"; then \<br>
-+ rm -f ChangeLog.inst $(DISTFILES.normal); \<br>
-+ else \<br>
-+ : ; \<br>
-+ fi<br>
- <br>
- maintainer-clean: distclean<br>
- @echo "This command is intended for maintainers to use;"<br>
-@@ -181,33 +466,27 @@<br>
- # GNU gettext needs not contain the file `VERSION' but contains some<br>
- # other files which should not be distributed in other packages.<br>
- distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)<br>
--dist distdir: Makefile $(DISTFILES)<br>
-- if test "$(PACKAGE)" = gettext; then \<br>
-- additional="$(DISTFILES.gettext)"; \<br>
-+dist distdir: Makefile<br>
-+ if test "$(PACKAGE)" = "gettext-tools"; then \<br>
-+ : ; \<br>
- else \<br>
-- additional="$(DISTFILES.normal)"; \<br>
-- fi; \<br>
-- for file in $(DISTFILES.common) $$additional; do \<br>
-- ln $(srcdir)/$$file $(distdir) 2> /dev/null \<br>
-- || cp -p $(srcdir)/$$file $(distdir); \<br>
-- done<br>
--<br>
--dist-libc:<br>
-- tar zcvf intl-glibc.tar.gz $(COMSRCS) $(COMHDRS) libintl.h.glibc<br>
--<br>
--Makefile: Makefile.in ../config.status<br>
-- cd .. \<br>
-- && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status<br>
-+ if test "$(PACKAGE)" = "gettext-runtime"; then \<br>
-+ additional="$(DISTFILES.gettext)"; \<br>
-+ else \<br>
-+ additional="$(DISTFILES.normal)"; \<br>
-+ fi; \<br>
-+ $(MAKE) $(DISTFILES.common) $(DISTFILES.generated) $$additional; \<br>
-+ for file in ChangeLog $(DISTFILES.common) $(DISTFILES.generated) $$additional; do \<br>
-+ if test -f $$file; then dir=.; else dir=$(srcdir); fi; \<br>
-+ cp -p $$dir/$$file $(distdir); \<br>
-+ done; \<br>
-+ fi<br>
- <br>
--# The dependency for intlh.inst is different in gettext and all other<br>
--# packages. Because we cannot you GNU make features we have to solve<br>
--# the problem while rewriting Makefile.in.<br>
--@GT_YES@intlh.inst: <a href="http://intlh.inst.in" rel="noreferrer" target="_blank">intlh.inst.in</a> ../config.status<br>
--@GT_YES@ cd .. \<br>
--@GT_YES@ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= \<br>
--@GT_YES@ $(SHELL) ./config.status<br>
--@GT_NO@.PHONY: intlh.inst<br>
--@GT_NO@intlh.inst:<br>
-+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status<br>
-+ cd $(top_builddir) && $(SHELL) ./config.status<br>
-+# This would be more efficient, but doesn't work any more with autoconf-2.57,<br>
-+# when AC_CONFIG_FILES([intl/Makefile:somedir/Makefile.in]) is used.<br>
-+# cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status<br>
- <br>
- # Tell versions [3.59,3.63) of GNU make not to export all variables.<br>
- # Otherwise a system limit (for SysV at least) may be exceeded.<br>
---- lrzsz-0.12.20.safe/intl/ngettext.c 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/intl/ngettext.c 2004-09-12 14:40:34.533721032 -0400<br>
-@@ -0,0 +1,65 @@<br>
-+/* Implementation of ngettext(3) function.<br>
-+ Copyright (C) 1995, 1997, 2000-2003 Free Software Foundation, Inc.<br>
-+<br>
-+ This program is free software; you can redistribute it and/or modify it<br>
-+ under the terms of the GNU Library General Public License as published<br>
-+ by the Free Software Foundation; either version 2, or (at your option)<br>
-+ any later version.<br>
-+<br>
-+ This program is distributed in the hope that it will be useful,<br>
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-+ Library General Public License for more details.<br>
-+<br>
-+ You should have received a copy of the GNU Library General Public<br>
-+ License along with this program; if not, write to the Free Software<br>
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,<br>
-+ USA. */<br>
-+<br>
-+#ifdef HAVE_CONFIG_H<br>
-+# include <config.h><br>
-+#endif<br>
-+<br>
-+#ifdef _LIBC<br>
-+# define __need_NULL<br>
-+# include <stddef.h><br>
-+#else<br>
-+# include <stdlib.h> /* Just for NULL. */<br>
-+#endif<br>
-+<br>
-+#include "gettextP.h"<br>
-+#ifdef _LIBC<br>
-+# include <libintl.h><br>
-+#else<br>
-+# include "libgnuintl.h"<br>
-+#endif<br>
-+<br>
-+#include <locale.h><br>
-+<br>
-+/* @@ end of prolog @@ */<br>
-+<br>
-+/* Names for the libintl functions are a problem. They must not clash<br>
-+ with existing names and they should follow ANSI C. But this source<br>
-+ code is also used in GNU C Library where the names have a __<br>
-+ prefix. So we have to make a difference here. */<br>
-+#ifdef _LIBC<br>
-+# define NGETTEXT __ngettext<br>
-+# define DCNGETTEXT __dcngettext<br>
-+#else<br>
-+# define NGETTEXT libintl_ngettext<br>
-+# define DCNGETTEXT libintl_dcngettext<br>
-+#endif<br>
-+<br>
-+/* Look up MSGID in the current default message catalog for the current<br>
-+ LC_MESSAGES locale. If not found, returns MSGID itself (the default<br>
-+ text). */<br>
-+char *<br>
-+NGETTEXT (const char *msgid1, const char *msgid2, unsigned long int n)<br>
-+{<br>
-+ return DCNGETTEXT (NULL, msgid1, msgid2, n, LC_MESSAGES);<br>
-+}<br>
-+<br>
-+#ifdef _LIBC<br>
-+/* Alias for function name in GNU C Library. */<br>
-+weak_alias (__ngettext, ngettext);<br>
-+#endif<br>
---- lrzsz-0.12.20.safe/intl/os2compat.c 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/intl/os2compat.c 2004-09-12 14:40:34.539720120 -0400<br>
-@@ -0,0 +1,98 @@<br>
-+/* OS/2 compatibility functions.<br>
-+ Copyright (C) 2001-2002 Free Software Foundation, Inc.<br>
-+<br>
-+ This program is free software; you can redistribute it and/or modify it<br>
-+ under the terms of the GNU Library General Public License as published<br>
-+ by the Free Software Foundation; either version 2, or (at your option)<br>
-+ any later version.<br>
-+<br>
-+ This program is distributed in the hope that it will be useful,<br>
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-+ Library General Public License for more details.<br>
-+<br>
-+ You should have received a copy of the GNU Library General Public<br>
-+ License along with this program; if not, write to the Free Software<br>
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,<br>
-+ USA. */<br>
-+<br>
-+#define OS2_AWARE<br>
-+#ifdef HAVE_CONFIG_H<br>
-+#include <config.h><br>
-+#endif<br>
-+<br>
-+#include <stdlib.h><br>
-+#include <string.h><br>
-+#include <sys/param.h><br>
-+<br>
-+/* A version of getenv() that works from DLLs */<br>
-+extern unsigned long DosScanEnv (const unsigned char *pszName, unsigned char **ppszValue);<br>
-+<br>
-+char *<br>
-+_nl_getenv (const char *name)<br>
-+{<br>
-+ unsigned char *value;<br>
-+ if (DosScanEnv (name, &value))<br>
-+ return NULL;<br>
-+ else<br>
-+ return value;<br>
-+}<br>
-+<br>
-+/* A fixed size buffer. */<br>
-+char libintl_nl_default_dirname[MAXPATHLEN+1];<br>
-+<br>
-+char *_nlos2_libdir = NULL;<br>
-+char *_nlos2_localealiaspath = NULL;<br>
-+char *_nlos2_localedir = NULL;<br>
-+<br>
-+static __attribute__((constructor)) void<br>
-+nlos2_initialize ()<br>
-+{<br>
-+ char *root = getenv ("UNIXROOT");<br>
-+ char *gnulocaledir = getenv ("GNULOCALEDIR");<br>
-+<br>
-+ _nlos2_libdir = gnulocaledir;<br>
-+ if (!_nlos2_libdir)<br>
-+ {<br>
-+ if (root)<br>
-+ {<br>
-+ size_t sl = strlen (root);<br>
-+ _nlos2_libdir = (char *) malloc (sl + strlen (LIBDIR) + 1);<br>
-+ memcpy (_nlos2_libdir, root, sl);<br>
-+ memcpy (_nlos2_libdir + sl, LIBDIR, strlen (LIBDIR) + 1);<br>
-+ }<br>
-+ else<br>
-+ _nlos2_libdir = LIBDIR;<br>
-+ }<br>
-+<br>
-+ _nlos2_localealiaspath = gnulocaledir;<br>
-+ if (!_nlos2_localealiaspath)<br>
-+ {<br>
-+ if (root)<br>
-+ {<br>
-+ size_t sl = strlen (root);<br>
-+ _nlos2_localealiaspath = (char *) malloc (sl + strlen (LOCALE_ALIAS_PATH) + 1);<br>
-+ memcpy (_nlos2_localealiaspath, root, sl);<br>
-+ memcpy (_nlos2_localealiaspath + sl, LOCALE_ALIAS_PATH, strlen (LOCALE_ALIAS_PATH) + 1);<br>
-+ }<br>
-+ else<br>
-+ _nlos2_localealiaspath = LOCALE_ALIAS_PATH;<br>
-+ }<br>
-+<br>
-+ _nlos2_localedir = gnulocaledir;<br>
-+ if (!_nlos2_localedir)<br>
-+ {<br>
-+ if (root)<br>
-+ {<br>
-+ size_t sl = strlen (root);<br>
-+ _nlos2_localedir = (char *) malloc (sl + strlen (LOCALEDIR) + 1);<br>
-+ memcpy (_nlos2_localedir, root, sl);<br>
-+ memcpy (_nlos2_localedir + sl, LOCALEDIR, strlen (LOCALEDIR) + 1);<br>
-+ }<br>
-+ else<br>
-+ _nlos2_localedir = LOCALEDIR;<br>
-+ }<br>
-+<br>
-+ if (strlen (_nlos2_localedir) <= MAXPATHLEN)<br>
-+ strcpy (libintl_nl_default_dirname, _nlos2_localedir);<br>
-+}<br>
---- lrzsz-0.12.20.safe/intl/os2compat.h 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/intl/os2compat.h 2004-09-12 14:40:34.544719360 -0400<br>
-@@ -0,0 +1,46 @@<br>
-+/* OS/2 compatibility defines.<br>
-+ This file is intended to be included from config.h<br>
-+ Copyright (C) 2001-2002 Free Software Foundation, Inc.<br>
-+<br>
-+ This program is free software; you can redistribute it and/or modify it<br>
-+ under the terms of the GNU Library General Public License as published<br>
-+ by the Free Software Foundation; either version 2, or (at your option)<br>
-+ any later version.<br>
-+<br>
-+ This program is distributed in the hope that it will be useful,<br>
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-+ Library General Public License for more details.<br>
-+<br>
-+ You should have received a copy of the GNU Library General Public<br>
-+ License along with this program; if not, write to the Free Software<br>
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,<br>
-+ USA. */<br>
-+<br>
-+/* When included from os2compat.h we need all the original definitions */<br>
-+#ifndef OS2_AWARE<br>
-+<br>
-+#undef LIBDIR<br>
-+#define LIBDIR _nlos2_libdir<br>
-+extern char *_nlos2_libdir;<br>
-+<br>
-+#undef LOCALEDIR<br>
-+#define LOCALEDIR _nlos2_localedir<br>
-+extern char *_nlos2_localedir;<br>
-+<br>
-+#undef LOCALE_ALIAS_PATH<br>
-+#define LOCALE_ALIAS_PATH _nlos2_localealiaspath<br>
-+extern char *_nlos2_localealiaspath;<br>
-+<br>
-+#endif<br>
-+<br>
-+#undef HAVE_STRCASECMP<br>
-+#define HAVE_STRCASECMP 1<br>
-+#define strcasecmp stricmp<br>
-+#define strncasecmp strnicmp<br>
-+<br>
-+/* We have our own getenv() which works even if library is compiled as DLL */<br>
-+#define getenv _nl_getenv<br>
-+<br>
-+/* Older versions of gettext used -1 as the value of LC_MESSAGES */<br>
-+#define LC_MESSAGES_COMPAT (-1)<br>
---- lrzsz-0.12.20.safe/intl/osdep.c 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/intl/osdep.c 2004-09-12 14:40:34.550718448 -0400<br>
-@@ -0,0 +1,24 @@<br>
-+/* OS dependent parts of libintl.<br>
-+ Copyright (C) 2001-2002 Free Software Foundation, Inc.<br>
-+<br>
-+ This program is free software; you can redistribute it and/or modify it<br>
-+ under the terms of the GNU Library General Public License as published<br>
-+ by the Free Software Foundation; either version 2, or (at your option)<br>
-+ any later version.<br>
-+<br>
-+ This program is distributed in the hope that it will be useful,<br>
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-+ Library General Public License for more details.<br>
-+<br>
-+ You should have received a copy of the GNU Library General Public<br>
-+ License along with this program; if not, write to the Free Software<br>
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,<br>
-+ USA. */<br>
-+<br>
-+#if defined __EMX__<br>
-+# include "os2compat.c"<br>
-+#else<br>
-+/* Avoid AIX compiler warning. */<br>
-+typedef int dummy;<br>
-+#endif<br>
---- lrzsz-0.12.20.safe/intl/plural.c 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/intl/plural.c 2004-09-12 14:40:36.571411256 -0400<br>
-@@ -0,0 +1,1490 @@<br>
-+/* A Bison parser, made from plural.y<br>
-+ by GNU bison 1.35. */<br>
-+<br>
-+#define YYBISON 1 /* Identify Bison output. */<br>
-+<br>
-+#define yyparse __gettextparse<br>
-+#define yylex __gettextlex<br>
-+#define yyerror __gettexterror<br>
-+#define yylval __gettextlval<br>
-+#define yychar __gettextchar<br>
-+#define yydebug __gettextdebug<br>
-+#define yynerrs __gettextnerrs<br>
-+# define EQUOP2 257<br>
-+# define CMPOP2 258<br>
-+# define ADDOP2 259<br>
-+# define MULOP2 260<br>
-+# define NUMBER 261<br>
-+<br>
-+#line 1 "plural.y"<br>
-+<br>
-+/* Expression parsing for plural form selection.<br>
-+ Copyright (C) 2000-2001, 2003 Free Software Foundation, Inc.<br>
-+ Written by Ulrich Drepper <<a href="mailto:drepper@cygnus.com" target="_blank">drepper@cygnus.com</a>>, 2000.<br>
-+<br>
-+ This program is free software; you can redistribute it and/or modify it<br>
-+ under the terms of the GNU Library General Public License as published<br>
-+ by the Free Software Foundation; either version 2, or (at your option)<br>
-+ any later version.<br>
-+<br>
-+ This program is distributed in the hope that it will be useful,<br>
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-+ Library General Public License for more details.<br>
-+<br>
-+ You should have received a copy of the GNU Library General Public<br>
-+ License along with this program; if not, write to the Free Software<br>
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,<br>
-+ USA. */<br>
-+<br>
-+/* The bison generated parser uses alloca. AIX 3 forces us to put this<br>
-+ declaration at the beginning of the file. The declaration in bison's<br>
-+ skeleton file comes too late. This must come before <config.h><br>
-+ because <config.h> may include arbitrary system headers. */<br>
-+#if defined _AIX && !defined __GNUC__<br>
-+ #pragma alloca<br>
-+#endif<br>
-+<br>
-+#ifdef HAVE_CONFIG_H<br>
-+# include <config.h><br>
-+#endif<br>
-+<br>
-+#include <stddef.h><br>
-+#include <stdlib.h><br>
-+#include "plural-exp.h"<br>
-+<br>
-+/* The main function generated by the parser is called __gettextparse,<br>
-+ but we want it to be called PLURAL_PARSE. */<br>
-+#ifndef _LIBC<br>
-+# define __gettextparse PLURAL_PARSE<br>
-+#endif<br>
-+<br>
-+#define YYLEX_PARAM &((struct parse_args *) arg)->cp<br>
-+#define YYPARSE_PARAM arg<br>
-+<br>
-+#line 49 "plural.y"<br>
-+#ifndef YYSTYPE<br>
-+typedef union {<br>
-+ unsigned long int num;<br>
-+ enum operator op;<br>
-+ struct expression *exp;<br>
-+} yystype;<br>
-+# define YYSTYPE yystype<br>
-+# define YYSTYPE_IS_TRIVIAL 1<br>
-+#endif<br>
-+#line 55 "plural.y"<br>
-+<br>
-+/* Prototypes for local functions. */<br>
-+static int yylex (YYSTYPE *lval, const char **pexp);<br>
-+static void yyerror (const char *str);<br>
-+<br>
-+/* Allocation of expressions. */<br>
-+<br>
-+static struct expression *<br>
-+new_exp (int nargs, enum operator op, struct expression * const *args)<br>
-+{<br>
-+ int i;<br>
-+ struct expression *newp;<br>
-+<br>
-+ /* If any of the argument could not be malloc'ed, just return NULL. */<br>
-+ for (i = nargs - 1; i >= 0; i--)<br>
-+ if (args[i] == NULL)<br>
-+ goto fail;<br>
-+<br>
-+ /* Allocate a new expression. */<br>
-+ newp = (struct expression *) malloc (sizeof (*newp));<br>
-+ if (newp != NULL)<br>
-+ {<br>
-+ newp->nargs = nargs;<br>
-+ newp->operation = op;<br>
-+ for (i = nargs - 1; i >= 0; i--)<br>
-+ newp->val.args[i] = args[i];<br>
-+ return newp;<br>
-+ }<br>
-+<br>
-+ fail:<br>
-+ for (i = nargs - 1; i >= 0; i--)<br>
-+ FREE_EXPRESSION (args[i]);<br>
-+<br>
-+ return NULL;<br>
-+}<br>
-+<br>
-+static inline struct expression *<br>
-+new_exp_0 (enum operator op)<br>
-+{<br>
-+ return new_exp (0, op, NULL);<br>
-+}<br>
-+<br>
-+static inline struct expression *<br>
-+new_exp_1 (enum operator op, struct expression *right)<br>
-+{<br>
-+ struct expression *args[1];<br>
-+<br>
-+ args[0] = right;<br>
-+ return new_exp (1, op, args);<br>
-+}<br>
-+<br>
-+static struct expression *<br>
-+new_exp_2 (enum operator op, struct expression *left, struct expression *right)<br>
-+{<br>
-+ struct expression *args[2];<br>
-+<br>
-+ args[0] = left;<br>
-+ args[1] = right;<br>
-+ return new_exp (2, op, args);<br>
-+}<br>
-+<br>
-+static inline struct expression *<br>
-+new_exp_3 (enum operator op, struct expression *bexp,<br>
-+ struct expression *tbranch, struct expression *fbranch)<br>
-+{<br>
-+ struct expression *args[3];<br>
-+<br>
-+ args[0] = bexp;<br>
-+ args[1] = tbranch;<br>
-+ args[2] = fbranch;<br>
-+ return new_exp (3, op, args);<br>
-+}<br>
-+<br>
-+#ifndef YYDEBUG<br>
-+# define YYDEBUG 0<br>
-+#endif<br>
-+<br>
-+<br>
-+<br>
-+#define YYFINAL 27<br>
-+#define YYFLAG -32768<br>
-+#define YYNTBASE 16<br>
-+<br>
-+/* YYTRANSLATE(YYLEX) -- Bison token number corresponding to YYLEX. */<br>
-+#define YYTRANSLATE(x) ((unsigned)(x) <= 261 ? yytranslate[x] : 18)<br>
-+<br>
-+/* YYTRANSLATE[YYLEX] -- Bison token number corresponding to YYLEX. */<br>
-+static const char yytranslate[] =<br>
-+{<br>
-+ 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,<br>
-+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,<br>
-+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,<br>
-+ 2, 2, 2, 10, 2, 2, 2, 2, 5, 2,<br>
-+ 14, 15, 2, 2, 2, 2, 2, 2, 2, 2,<br>
-+ 2, 2, 2, 2, 2, 2, 2, 2, 12, 2,<br>
-+ 2, 2, 2, 3, 2, 2, 2, 2, 2, 2,<br>
-+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,<br>
-+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,<br>
-+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,<br>
-+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,<br>
-+ 13, 2, 2, 2, 2, 2, 2, 2, 2, 2,<br>
-+ 2, 2, 2, 2, 4, 2, 2, 2, 2, 2,<br>
-+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,<br>
-+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,<br>
-+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,<br>
-+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,<br>
-+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,<br>
-+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,<br>
-+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,<br>
-+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,<br>
-+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,<br>
-+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,<br>
-+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,<br>
-+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,<br>
-+ 2, 2, 2, 2, 2, 2, 1, 6, 7, 8,<br>
-+ 9, 11<br>
-+};<br>
-+<br>
-+#if YYDEBUG<br>
-+static const short yyprhs[] =<br>
-+{<br>
-+ 0, 0, 2, 8, 12, 16, 20, 24, 28, 32,<br>
-+ 35, 37, 39<br>
-+};<br>
-+static const short yyrhs[] =<br>
-+{<br>
-+ 17, 0, 17, 3, 17, 12, 17, 0, 17, 4,<br>
-+ 17, 0, 17, 5, 17, 0, 17, 6, 17, 0,<br>
-+ 17, 7, 17, 0, 17, 8, 17, 0, 17, 9,<br>
-+ 17, 0, 10, 17, 0, 13, 0, 11, 0, 14,<br>
-+ 17, 15, 0<br>
-+};<br>
-+<br>
-+#endif<br>
-+<br>
-+#if YYDEBUG<br>
-+/* YYRLINE[YYN] -- source line where rule number YYN was defined. */<br>
-+static const short yyrline[] =<br>
-+{<br>
-+ 0, 150, 158, 162, 166, 170, 174, 178, 182, 186,<br>
-+ 190, 194, 199<br>
-+};<br>
-+#endif<br>
-+<br>
-+<br>
-+#if (YYDEBUG) || defined YYERROR_VERBOSE<br>
-+<br>
-+/* YYTNAME[TOKEN_NUM] -- String name of the token TOKEN_NUM. */<br>
-+static const char *const yytname[] =<br>
-+{<br>
-+ "$", "error", "$undefined.", "'?'", "'|'", "'&'", "EQUOP2", "CMPOP2", <br>
-+ "ADDOP2", "MULOP2", "'!'", "NUMBER", "':'", "'n'", "'('", "')'", <br>
-+ "start", "exp", 0<br>
-+};<br>
-+#endif<br>
-+<br>
-+/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */<br>
-+static const short yyr1[] =<br>
-+{<br>
-+ 0, 16, 17, 17, 17, 17, 17, 17, 17, 17,<br>
-+ 17, 17, 17<br>
-+};<br>
-+<br>
-+/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */<br>
-+static const short yyr2[] =<br>
-+{<br>
-+ 0, 1, 5, 3, 3, 3, 3, 3, 3, 2,<br>
-+ 1, 1, 3<br>
-+};<br>
-+<br>
-+/* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE<br>
-+ doesn't specify something else to do. Zero means the default is an<br>
-+ error. */<br>
-+static const short yydefact[] =<br>
-+{<br>
-+ 0, 0, 11, 10, 0, 1, 9, 0, 0, 0,<br>
-+ 0, 0, 0, 0, 0, 12, 0, 3, 4, 5,<br>
-+ 6, 7, 8, 0, 2, 0, 0, 0<br>
-+};<br>
-+<br>
-+static const short yydefgoto[] =<br>
-+{<br>
-+ 25, 5<br>
-+};<br>
-+<br>
-+static const short yypact[] =<br>
-+{<br>
-+ -9, -9,-32768,-32768, -9, 34,-32768, 11, -9, -9,<br>
-+ -9, -9, -9, -9, -9,-32768, 24, 39, 43, 16,<br>
-+ 26, -3,-32768, -9, 34, 21, 53,-32768<br>
-+};<br>
-+<br>
-+static const short yypgoto[] =<br>
-+{<br>
-+ -32768, -1<br>
-+};<br>
-+<br>
-+<br>
-+#define YYLAST 53<br>
-+<br>
-+<br>
-+static const short yytable[] =<br>
-+{<br>
-+ 6, 1, 2, 7, 3, 4, 14, 16, 17, 18,<br>
-+ 19, 20, 21, 22, 8, 9, 10, 11, 12, 13,<br>
-+ 14, 26, 24, 12, 13, 14, 15, 8, 9, 10,<br>
-+ 11, 12, 13, 14, 13, 14, 23, 8, 9, 10,<br>
-+ 11, 12, 13, 14, 10, 11, 12, 13, 14, 11,<br>
-+ 12, 13, 14, 27<br>
-+};<br>
-+<br>
-+static const short yycheck[] =<br>
-+{<br>
-+ 1, 10, 11, 4, 13, 14, 9, 8, 9, 10,<br>
-+ 11, 12, 13, 14, 3, 4, 5, 6, 7, 8,<br>
-+ 9, 0, 23, 7, 8, 9, 15, 3, 4, 5,<br>
-+ 6, 7, 8, 9, 8, 9, 12, 3, 4, 5,<br>
-+ 6, 7, 8, 9, 5, 6, 7, 8, 9, 6,<br>
-+ 7, 8, 9, 0<br>
-+};<br>
-+#define YYPURE 1<br>
-+<br>
-+/* -*-C-*- Note some compilers choke on comments on `#line' lines. */<br>
-+#line 3 "/usr/local/share/bison/bison.simple"<br>
-+<br>
-+/* Skeleton output parser for bison,<br>
-+<br>
-+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software<br>
-+ Foundation, Inc.<br>
-+<br>
-+ This program is free software; you can redistribute it and/or modify<br>
-+ it under the terms of the GNU General Public License as published by<br>
-+ the Free Software Foundation; either version 2, or (at your option)<br>
-+ any later version.<br>
-+<br>
-+ This program is distributed in the hope that it will be useful,<br>
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the<br>
-+ GNU General Public License for more details.<br>
-+<br>
-+ You should have received a copy of the GNU General Public License<br>
-+ along with this program; if not, write to the Free Software<br>
-+ Foundation, Inc., 59 Temple Place - Suite 330,<br>
-+ Boston, MA 02111-1307, USA. */<br>
-+<br>
-+/* As a special exception, when this file is copied by Bison into a<br>
-+ Bison output file, you may use that output file without restriction.<br>
-+ This special exception was added by the Free Software Foundation<br>
-+ in version 1.24 of Bison. */<br>
-+<br>
-+/* This is the parser code that is written into each bison parser when<br>
-+ the %semantic_parser declaration is not specified in the grammar.<br>
-+ It was written by Richard Stallman by simplifying the hairy parser<br>
-+ used when %semantic_parser is specified. */<br>
-+<br>
-+/* All symbols defined below should begin with yy or YY, to avoid<br>
-+ infringing on user name space. This should be done even for local<br>
-+ variables, as they might otherwise be expanded by user macros.<br>
-+ There are some unavoidable exceptions within include files to<br>
-+ define necessary library symbols; they are noted "INFRINGES ON<br>
-+ USER NAME SPACE" below. */<br>
-+<br>
-+#if ! defined (yyoverflow) || defined (YYERROR_VERBOSE)<br>
-+<br>
-+/* The parser invokes alloca or malloc; define the necessary symbols. */<br>
-+<br>
-+# if YYSTACK_USE_ALLOCA<br>
-+# define YYSTACK_ALLOC alloca<br>
-+# else<br>
-+# ifndef YYSTACK_USE_ALLOCA<br>
-+# if defined (alloca) || defined (_ALLOCA_H)<br>
-+# define YYSTACK_ALLOC alloca<br>
-+# else<br>
-+# ifdef __GNUC__<br>
-+# define YYSTACK_ALLOC __builtin_alloca<br>
-+# endif<br>
-+# endif<br>
-+# endif<br>
-+# endif<br>
-+<br>
-+# ifdef YYSTACK_ALLOC<br>
-+ /* Pacify GCC's `empty if-body' warning. */<br>
-+# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)<br>
-+# else<br>
-+# if defined (__STDC__) || defined (__cplusplus)<br>
-+# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */<br>
-+# define YYSIZE_T size_t<br>
-+# endif<br>
-+# define YYSTACK_ALLOC malloc<br>
-+# define YYSTACK_FREE free<br>
-+# endif<br>
-+#endif /* ! defined (yyoverflow) || defined (YYERROR_VERBOSE) */<br>
-+<br>
-+<br>
-+#if (! defined (yyoverflow) \<br>
-+ && (! defined (__cplusplus) \<br>
-+ || (YYLTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))<br>
-+<br>
-+/* A type that is properly aligned for any stack member. */<br>
-+union yyalloc<br>
-+{<br>
-+ short yyss;<br>
-+ YYSTYPE yyvs;<br>
-+# if YYLSP_NEEDED<br>
-+ YYLTYPE yyls;<br>
-+# endif<br>
-+};<br>
-+<br>
-+/* The size of the maximum gap between one aligned stack and the next. */<br>
-+# define YYSTACK_GAP_MAX (sizeof (union yyalloc) - 1)<br>
-+<br>
-+/* The size of an array large to enough to hold all stacks, each with<br>
-+ N elements. */<br>
-+# if YYLSP_NEEDED<br>
-+# define YYSTACK_BYTES(N) \<br>
-+ ((N) * (sizeof (short) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \<br>
-+ + 2 * YYSTACK_GAP_MAX)<br>
-+# else<br>
-+# define YYSTACK_BYTES(N) \<br>
-+ ((N) * (sizeof (short) + sizeof (YYSTYPE)) \<br>
-+ + YYSTACK_GAP_MAX)<br>
-+# endif<br>
-+<br>
-+/* Copy COUNT objects from FROM to TO. The source and destination do<br>
-+ not overlap. */<br>
-+# ifndef YYCOPY<br>
-+# if 1 < __GNUC__<br>
-+# define YYCOPY(To, From, Count) \<br>
-+ __builtin_memcpy (To, From, (Count) * sizeof (*(From)))<br>
-+# else<br>
-+# define YYCOPY(To, From, Count) \<br>
-+ do \<br>
-+ { \<br>
-+ register YYSIZE_T yyi; \<br>
-+ for (yyi = 0; yyi < (Count); yyi++) \<br>
-+ (To)[yyi] = (From)[yyi]; \<br>
-+ } \<br>
-+ while (0)<br>
-+# endif<br>
-+# endif<br>
-+<br>
-+/* Relocate STACK from its old location to the new one. The<br>
-+ local variables YYSIZE and YYSTACKSIZE give the old and new number of<br>
-+ elements in the stack, and YYPTR gives the new location of the<br>
-+ stack. Advance YYPTR to a properly aligned location for the next<br>
-+ stack. */<br>
-+# define YYSTACK_RELOCATE(Stack) \<br>
-+ do \<br>
-+ { \<br>
-+ YYSIZE_T yynewbytes; \<br>
-+ YYCOPY (&yyptr->Stack, Stack, yysize); \<br>
-+ Stack = &yyptr->Stack; \<br>
-+ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAX; \<br>
-+ yyptr += yynewbytes / sizeof (*yyptr); \<br>
-+ } \<br>
-+ while (0)<br>
-+<br>
-+#endif<br>
-+<br>
-+<br>
-+#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)<br>
-+# define YYSIZE_T __SIZE_TYPE__<br>
-+#endif<br>
-+#if ! defined (YYSIZE_T) && defined (size_t)<br>
-+# define YYSIZE_T size_t<br>
-+#endif<br>
-+#if ! defined (YYSIZE_T)<br>
-+# if defined (__STDC__) || defined (__cplusplus)<br>
-+# include <stddef.h> /* INFRINGES ON USER NAME SPACE */<br>
-+# define YYSIZE_T size_t<br>
-+# endif<br>
-+#endif<br>
-+#if ! defined (YYSIZE_T)<br>
-+# define YYSIZE_T unsigned int<br>
-+#endif<br>
-+<br>
-+#define yyerrok (yyerrstatus = 0)<br>
-+#define yyclearin (yychar = YYEMPTY)<br>
-+#define YYEMPTY -2<br>
-+#define YYEOF 0<br>
-+#define YYACCEPT goto yyacceptlab<br>
-+#define YYABORT goto yyabortlab<br>
-+#define YYERROR goto yyerrlab1<br>
-+/* Like YYERROR except do call yyerror. This remains here temporarily<br>
-+ to ease the transition to the new meaning of YYERROR, for GCC.<br>
-+ Once GCC version 2 has supplanted version 1, this can go. */<br>
-+#define YYFAIL goto yyerrlab<br>
-+#define YYRECOVERING() (!!yyerrstatus)<br>
-+#define YYBACKUP(Token, Value) \<br>
-+do \<br>
-+ if (yychar == YYEMPTY && yylen == 1) \<br>
-+ { \<br>
-+ yychar = (Token); \<br>
-+ yylval = (Value); \<br>
-+ yychar1 = YYTRANSLATE (yychar); \<br>
-+ YYPOPSTACK; \<br>
-+ goto yybackup; \<br>
-+ } \<br>
-+ else \<br>
-+ { \<br>
-+ yyerror ("syntax error: cannot back up"); \<br>
-+ YYERROR; \<br>
-+ } \<br>
-+while (0)<br>
-+<br>
-+#define YYTERROR 1<br>
-+#define YYERRCODE 256<br>
-+<br>
-+<br>
-+/* YYLLOC_DEFAULT -- Compute the default location (before the actions<br>
-+ are run).<br>
-+<br>
-+ When YYLLOC_DEFAULT is run, CURRENT is set the location of the<br>
-+ first token. By default, to implement support for ranges, extend<br>
-+ its range to the last symbol. */<br>
-+<br>
-+#ifndef YYLLOC_DEFAULT<br>
-+# define YYLLOC_DEFAULT(Current, Rhs, N) \<br>
-+ Current.last_line = Rhs[N].last_line; \<br>
-+ Current.last_column = Rhs[N].last_column;<br>
-+#endif<br>
-+<br>
-+<br>
-+/* YYLEX -- calling `yylex' with the right arguments. */<br>
-+<br>
-+#if YYPURE<br>
-+# if YYLSP_NEEDED<br>
-+# ifdef YYLEX_PARAM<br>
-+# define YYLEX yylex (&yylval, &yylloc, YYLEX_PARAM)<br>
-+# else<br>
-+# define YYLEX yylex (&yylval, &yylloc)<br>
-+# endif<br>
-+# else /* !YYLSP_NEEDED */<br>
-+# ifdef YYLEX_PARAM<br>
-+# define YYLEX yylex (&yylval, YYLEX_PARAM)<br>
-+# else<br>
-+# define YYLEX yylex (&yylval)<br>
-+# endif<br>
-+# endif /* !YYLSP_NEEDED */<br>
-+#else /* !YYPURE */<br>
-+# define YYLEX yylex ()<br>
-+#endif /* !YYPURE */<br>
-+<br>
-+<br>
-+/* Enable debugging if requested. */<br>
-+#if YYDEBUG<br>
-+<br>
-+# ifndef YYFPRINTF<br>
-+# include <stdio.h> /* INFRINGES ON USER NAME SPACE */<br>
-+# define YYFPRINTF fprintf<br>
-+# endif<br>
-+<br>
-+# define YYDPRINTF(Args) \<br>
-+do { \<br>
-+ if (yydebug) \<br>
-+ YYFPRINTF Args; \<br>
-+} while (0)<br>
-+/* Nonzero means print parse trace. It is left uninitialized so that<br>
-+ multiple parsers can coexist. */<br>
-+int yydebug;<br>
-+#else /* !YYDEBUG */<br>
-+# define YYDPRINTF(Args)<br>
-+#endif /* !YYDEBUG */<br>
-+<br>
-+/* YYINITDEPTH -- initial size of the parser's stacks. */<br>
-+#ifndef YYINITDEPTH<br>
-+# define YYINITDEPTH 200<br>
-+#endif<br>
-+<br>
-+/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only<br>
-+ if the built-in stack extension method is used).<br>
-+<br>
-+ Do not make this value too large; the results are undefined if<br>
-+ SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)<br>
-+ evaluated with infinite-precision integer arithmetic. */<br>
-+<br>
-+#if YYMAXDEPTH == 0<br>
-+# undef YYMAXDEPTH<br>
-+#endif<br>
-+<br>
-+#ifndef YYMAXDEPTH<br>
-+# define YYMAXDEPTH 10000<br>
-+#endif<br>
-+<br>
-+#ifdef YYERROR_VERBOSE<br>
-+<br>
-+# ifndef yystrlen<br>
-+# if defined (__GLIBC__) && defined (_STRING_H)<br>
-+# define yystrlen strlen<br>
-+# else<br>
-+/* Return the length of YYSTR. */<br>
-+static YYSIZE_T<br>
-+# if defined (__STDC__) || defined (__cplusplus)<br>
-+yystrlen (const char *yystr)<br>
-+# else<br>
-+yystrlen (yystr)<br>
-+ const char *yystr;<br>
-+# endif<br>
-+{<br>
-+ register const char *yys = yystr;<br>
-+<br>
-+ while (*yys++ != '\0')<br>
-+ continue;<br>
-+<br>
-+ return yys - yystr - 1;<br>
-+}<br>
-+# endif<br>
-+# endif<br>
-+<br>
-+# ifndef yystpcpy<br>
-+# if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)<br>
-+# define yystpcpy stpcpy<br>
-+# else<br>
-+/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in<br>
-+ YYDEST. */<br>
-+static char *<br>
-+# if defined (__STDC__) || defined (__cplusplus)<br>
-+yystpcpy (char *yydest, const char *yysrc)<br>
-+# else<br>
-+yystpcpy (yydest, yysrc)<br>
-+ char *yydest;<br>
-+ const char *yysrc;<br>
-+# endif<br>
-+{<br>
-+ register char *yyd = yydest;<br>
-+ register const char *yys = yysrc;<br>
-+<br>
-+ while ((*yyd++ = *yys++) != '\0')<br>
-+ continue;<br>
-+<br>
-+ return yyd - 1;<br>
-+}<br>
-+# endif<br>
-+# endif<br>
-+#endif<br>
-+<br>
-+#line 315 "/usr/local/share/bison/bison.simple"<br>
-+<br>
-+<br>
-+/* The user can define YYPARSE_PARAM as the name of an argument to be passed<br>
-+ into yyparse. The argument should have type void *.<br>
-+ It should actually point to an object.<br>
-+ Grammar actions can access the variable by casting it<br>
-+ to the proper pointer type. */<br>
-+<br>
-+#ifdef YYPARSE_PARAM<br>
-+# if defined (__STDC__) || defined (__cplusplus)<br>
-+# define YYPARSE_PARAM_ARG void *YYPARSE_PARAM<br>
-+# define YYPARSE_PARAM_DECL<br>
-+# else<br>
-+# define YYPARSE_PARAM_ARG YYPARSE_PARAM<br>
-+# define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;<br>
-+# endif<br>
-+#else /* !YYPARSE_PARAM */<br>
-+# define YYPARSE_PARAM_ARG<br>
-+# define YYPARSE_PARAM_DECL<br>
-+#endif /* !YYPARSE_PARAM */<br>
-+<br>
-+/* Prevent warning if -Wstrict-prototypes. */<br>
-+#ifdef __GNUC__<br>
-+# ifdef YYPARSE_PARAM<br>
-+int yyparse (void *);<br>
-+# else<br>
-+int yyparse (void);<br>
-+# endif<br>
-+#endif<br>
-+<br>
-+/* YY_DECL_VARIABLES -- depending whether we use a pure parser,<br>
-+ variables are global, or local to YYPARSE. */<br>
-+<br>
-+#define YY_DECL_NON_LSP_VARIABLES \<br>
-+/* The lookahead symbol. */ \<br>
-+int yychar; \<br>
-+ \<br>
-+/* The semantic value of the lookahead symbol. */ \<br>
-+YYSTYPE yylval; \<br>
-+ \<br>
-+/* Number of parse errors so far. */ \<br>
-+int yynerrs;<br>
-+<br>
-+#if YYLSP_NEEDED<br>
-+# define YY_DECL_VARIABLES \<br>
-+YY_DECL_NON_LSP_VARIABLES \<br>
-+ \<br>
-+/* Location data for the lookahead symbol. */ \<br>
-+YYLTYPE yylloc;<br>
-+#else<br>
-+# define YY_DECL_VARIABLES \<br>
-+YY_DECL_NON_LSP_VARIABLES<br>
-+#endif<br>
-+<br>
-+<br>
-+/* If nonreentrant, generate the variables here. */<br>
-+<br>
-+#if !YYPURE<br>
-+YY_DECL_VARIABLES<br>
-+#endif /* !YYPURE */<br>
-+<br>
-+int<br>
-+yyparse (YYPARSE_PARAM_ARG)<br>
-+ YYPARSE_PARAM_DECL<br>
-+{<br>
-+ /* If reentrant, generate the variables here. */<br>
-+#if YYPURE<br>
-+ YY_DECL_VARIABLES<br>
-+#endif /* !YYPURE */<br>
-+<br>
-+ register int yystate;<br>
-+ register int yyn;<br>
-+ int yyresult;<br>
-+ /* Number of tokens to shift before error messages enabled. */<br>
-+ int yyerrstatus;<br>
-+ /* Lookahead token as an internal (translated) token number. */<br>
-+ int yychar1 = 0;<br>
-+<br>
-+ /* Three stacks and their tools:<br>
-+ `yyss': related to states,<br>
-+ `yyvs': related to semantic values,<br>
-+ `yyls': related to locations.<br>
-+<br>
-+ Refer to the stacks thru separate pointers, to allow yyoverflow<br>
-+ to reallocate them elsewhere. */<br>
-+<br>
-+ /* The state stack. */<br>
-+ short yyssa[YYINITDEPTH];<br>
-+ short *yyss = yyssa;<br>
-+ register short *yyssp;<br>
-+<br>
-+ /* The semantic value stack. */<br>
-+ YYSTYPE yyvsa[YYINITDEPTH];<br>
-+ YYSTYPE *yyvs = yyvsa;<br>
-+ register YYSTYPE *yyvsp;<br>
-+<br>
-+#if YYLSP_NEEDED<br>
-+ /* The location stack. */<br>
-+ YYLTYPE yylsa[YYINITDEPTH];<br>
-+ YYLTYPE *yyls = yylsa;<br>
-+ YYLTYPE *yylsp;<br>
-+#endif<br>
-+<br>
-+#if YYLSP_NEEDED<br>
-+# define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)<br>
-+#else<br>
-+# define YYPOPSTACK (yyvsp--, yyssp--)<br>
-+#endif<br>
-+<br>
-+ YYSIZE_T yystacksize = YYINITDEPTH;<br>
-+<br>
-+<br>
-+ /* The variables used to return semantic value and location from the<br>
-+ action routines. */<br>
-+ YYSTYPE yyval;<br>
-+#if YYLSP_NEEDED<br>
-+ YYLTYPE yyloc;<br>
-+#endif<br>
-+<br>
-+ /* When reducing, the number of symbols on the RHS of the reduced<br>
-+ rule. */<br>
-+ int yylen;<br>
-+<br>
-+ YYDPRINTF ((stderr, "Starting parse\n"));<br>
-+<br>
-+ yystate = 0;<br>
-+ yyerrstatus = 0;<br>
-+ yynerrs = 0;<br>
-+ yychar = YYEMPTY; /* Cause a token to be read. */<br>
-+<br>
-+ /* Initialize stack pointers.<br>
-+ Waste one element of value and location stack<br>
-+ so that they stay on the same level as the state stack.<br>
-+ The wasted elements are never initialized. */<br>
-+<br>
-+ yyssp = yyss;<br>
-+ yyvsp = yyvs;<br>
-+#if YYLSP_NEEDED<br>
-+ yylsp = yyls;<br>
-+#endif<br>
-+ goto yysetstate;<br>
-+<br>
-+/*------------------------------------------------------------.<br>
-+| yynewstate -- Push a new state, which is found in yystate. |<br>
-+`------------------------------------------------------------*/<br>
-+ yynewstate:<br>
-+ /* In all cases, when you get here, the value and location stacks<br>
-+ have just been pushed. so pushing a state here evens the stacks.<br>
-+ */<br>
-+ yyssp++;<br>
-+<br>
-+ yysetstate:<br>
-+ *yyssp = yystate;<br>
-+<br>
-+ if (yyssp >= yyss + yystacksize - 1)<br>
-+ {<br>
-+ /* Get the current used size of the three stacks, in elements. */<br>
-+ YYSIZE_T yysize = yyssp - yyss + 1;<br>
-+<br>
-+#ifdef yyoverflow<br>
-+ {<br>
-+ /* Give user a chance to reallocate the stack. Use copies of<br>
-+ these so that the &'s don't force the real ones into<br>
-+ memory. */<br>
-+ YYSTYPE *yyvs1 = yyvs;<br>
-+ short *yyss1 = yyss;<br>
-+<br>
-+ /* Each stack pointer address is followed by the size of the<br>
-+ data in use in that stack, in bytes. */<br>
-+# if YYLSP_NEEDED<br>
-+ YYLTYPE *yyls1 = yyls;<br>
-+ /* This used to be a conditional around just the two extra args,<br>
-+ but that might be undefined if yyoverflow is a macro. */<br>
-+ yyoverflow ("parser stack overflow",<br>
-+ &yyss1, yysize * sizeof (*yyssp),<br>
-+ &yyvs1, yysize * sizeof (*yyvsp),<br>
-+ &yyls1, yysize * sizeof (*yylsp),<br>
-+ &yystacksize);<br>
-+ yyls = yyls1;<br>
-+# else<br>
-+ yyoverflow ("parser stack overflow",<br>
-+ &yyss1, yysize * sizeof (*yyssp),<br>
-+ &yyvs1, yysize * sizeof (*yyvsp),<br>
-+ &yystacksize);<br>
-+# endif<br>
-+ yyss = yyss1;<br>
-+ yyvs = yyvs1;<br>
-+ }<br>
-+#else /* no yyoverflow */<br>
-+# ifndef YYSTACK_RELOCATE<br>
-+ goto yyoverflowlab;<br>
-+# else<br>
-+ /* Extend the stack our own way. */<br>
-+ if (yystacksize >= YYMAXDEPTH)<br>
-+ goto yyoverflowlab;<br>
-+ yystacksize *= 2;<br>
-+ if (yystacksize > YYMAXDEPTH)<br>
-+ yystacksize = YYMAXDEPTH;<br>
-+<br>
-+ {<br>
-+ short *yyss1 = yyss;<br>
-+ union yyalloc *yyptr =<br>
-+ (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));<br>
-+ if (! yyptr)<br>
-+ goto yyoverflowlab;<br>
-+ YYSTACK_RELOCATE (yyss);<br>
-+ YYSTACK_RELOCATE (yyvs);<br>
-+# if YYLSP_NEEDED<br>
-+ YYSTACK_RELOCATE (yyls);<br>
-+# endif<br>
-+# undef YYSTACK_RELOCATE<br>
-+ if (yyss1 != yyssa)<br>
-+ YYSTACK_FREE (yyss1);<br>
-+ }<br>
-+# endif<br>
-+#endif /* no yyoverflow */<br>
-+<br>
-+ yyssp = yyss + yysize - 1;<br>
-+ yyvsp = yyvs + yysize - 1;<br>
-+#if YYLSP_NEEDED<br>
-+ yylsp = yyls + yysize - 1;<br>
-+#endif<br>
-+<br>
-+ YYDPRINTF ((stderr, "Stack size increased to %lu\n",<br>
-+ (unsigned long int) yystacksize));<br>
-+<br>
-+ if (yyssp >= yyss + yystacksize - 1)<br>
-+ YYABORT;<br>
-+ }<br>
-+<br>
-+ YYDPRINTF ((stderr, "Entering state %d\n", yystate));<br>
-+<br>
-+ goto yybackup;<br>
-+<br>
-+<br>
-+/*-----------.<br>
-+| yybackup. |<br>
-+`-----------*/<br>
-+yybackup:<br>
-+<br>
-+/* Do appropriate processing given the current state. */<br>
-+/* Read a lookahead token if we need one and don't already have one. */<br>
-+/* yyresume: */<br>
-+<br>
-+ /* First try to decide what to do without reference to lookahead token. */<br>
-+<br>
-+ yyn = yypact[yystate];<br>
-+ if (yyn == YYFLAG)<br>
-+ goto yydefault;<br>
-+<br>
-+ /* Not known => get a lookahead token if don't already have one. */<br>
-+<br>
-+ /* yychar is either YYEMPTY or YYEOF<br>
-+ or a valid token in external form. */<br>
-+<br>
-+ if (yychar == YYEMPTY)<br>
-+ {<br>
-+ YYDPRINTF ((stderr, "Reading a token: "));<br>
-+ yychar = YYLEX;<br>
-+ }<br>
-+<br>
-+ /* Convert token to internal form (in yychar1) for indexing tables with */<br>
-+<br>
-+ if (yychar <= 0) /* This means end of input. */<br>
-+ {<br>
-+ yychar1 = 0;<br>
-+ yychar = YYEOF; /* Don't call YYLEX any more */<br>
-+<br>
-+ YYDPRINTF ((stderr, "Now at end of input.\n"));<br>
-+ }<br>
-+ else<br>
-+ {<br>
-+ yychar1 = YYTRANSLATE (yychar);<br>
-+<br>
-+#if YYDEBUG<br>
-+ /* We have to keep this `#if YYDEBUG', since we use variables<br>
-+ which are defined only if `YYDEBUG' is set. */<br>
-+ if (yydebug)<br>
-+ {<br>
-+ YYFPRINTF (stderr, "Next token is %d (%s",<br>
-+ yychar, yytname[yychar1]);<br>
-+ /* Give the individual parser a way to print the precise<br>
-+ meaning of a token, for further debugging info. */<br>
-+# ifdef YYPRINT<br>
-+ YYPRINT (stderr, yychar, yylval);<br>
-+# endif<br>
-+ YYFPRINTF (stderr, ")\n");<br>
-+ }<br>
-+#endif<br>
-+ }<br>
-+<br>
-+ yyn += yychar1;<br>
-+ if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)<br>
-+ goto yydefault;<br>
-+<br>
-+ yyn = yytable[yyn];<br>
-+<br>
-+ /* yyn is what to do for this token type in this state.<br>
-+ Negative => reduce, -yyn is rule number.<br>
-+ Positive => shift, yyn is new state.<br>
-+ New state is final state => don't bother to shift,<br>
-+ just return success.<br>
-+ 0, or most negative number => error. */<br>
-+<br>
-+ if (yyn < 0)<br>
-+ {<br>
-+ if (yyn == YYFLAG)<br>
-+ goto yyerrlab;<br>
-+ yyn = -yyn;<br>
-+ goto yyreduce;<br>
-+ }<br>
-+ else if (yyn == 0)<br>
-+ goto yyerrlab;<br>
-+<br>
-+ if (yyn == YYFINAL)<br>
-+ YYACCEPT;<br>
-+<br>
-+ /* Shift the lookahead token. */<br>
-+ YYDPRINTF ((stderr, "Shifting token %d (%s), ",<br>
-+ yychar, yytname[yychar1]));<br>
-+<br>
-+ /* Discard the token being shifted unless it is eof. */<br>
-+ if (yychar != YYEOF)<br>
-+ yychar = YYEMPTY;<br>
-+<br>
-+ *++yyvsp = yylval;<br>
-+#if YYLSP_NEEDED<br>
-+ *++yylsp = yylloc;<br>
-+#endif<br>
-+<br>
-+ /* Count tokens shifted since error; after three, turn off error<br>
-+ status. */<br>
-+ if (yyerrstatus)<br>
-+ yyerrstatus--;<br>
-+<br>
-+ yystate = yyn;<br>
-+ goto yynewstate;<br>
-+<br>
-+<br>
-+/*-----------------------------------------------------------.<br>
-+| yydefault -- do the default action for the current state. |<br>
-+`-----------------------------------------------------------*/<br>
-+yydefault:<br>
-+ yyn = yydefact[yystate];<br>
-+ if (yyn == 0)<br>
-+ goto yyerrlab;<br>
-+ goto yyreduce;<br>
-+<br>
-+<br>
-+/*-----------------------------.<br>
-+| yyreduce -- Do a reduction. |<br>
-+`-----------------------------*/<br>
-+yyreduce:<br>
-+ /* yyn is the number of a rule to reduce with. */<br>
-+ yylen = yyr2[yyn];<br>
-+<br>
-+ /* If YYLEN is nonzero, implement the default value of the action:<br>
-+ `$$ = $1'.<br>
-+<br>
-+ Otherwise, the following line sets YYVAL to the semantic value of<br>
-+ the lookahead token. This behavior is undocumented and Bison<br>
-+ users should not rely upon it. Assigning to YYVAL<br>
-+ unconditionally makes the parser a bit smaller, and it avoids a<br>
-+ GCC warning that YYVAL may be used uninitialized. */<br>
-+ yyval = yyvsp[1-yylen];<br>
-+<br>
-+#if YYLSP_NEEDED<br>
-+ /* Similarly for the default location. Let the user run additional<br>
-+ commands if for instance locations are ranges. */<br>
-+ yyloc = yylsp[1-yylen];<br>
-+ YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);<br>
-+#endif<br>
-+<br>
-+#if YYDEBUG<br>
-+ /* We have to keep this `#if YYDEBUG', since we use variables which<br>
-+ are defined only if `YYDEBUG' is set. */<br>
-+ if (yydebug)<br>
-+ {<br>
-+ int yyi;<br>
-+<br>
-+ YYFPRINTF (stderr, "Reducing via rule %d (line %d), ",<br>
-+ yyn, yyrline[yyn]);<br>
-+<br>
-+ /* Print the symbols being reduced, and their result. */<br>
-+ for (yyi = yyprhs[yyn]; yyrhs[yyi] > 0; yyi++)<br>
-+ YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]);<br>
-+ YYFPRINTF (stderr, " -> %s\n", yytname[yyr1[yyn]]);<br>
-+ }<br>
-+#endif<br>
-+<br>
-+ switch (yyn) {<br>
-+<br>
-+case 1:<br>
-+#line 151 "plural.y"<br>
-+{<br>
-+ if (yyvsp[0].exp == NULL)<br>
-+ YYABORT;<br>
-+ ((struct parse_args *) arg)->res = yyvsp[0].exp;<br>
-+ }<br>
-+ break;<br>
-+case 2:<br>
-+#line 159 "plural.y"<br>
-+{<br>
-+ yyval.exp = new_exp_3 (qmop, yyvsp[-4].exp, yyvsp[-2].exp, yyvsp[0].exp);<br>
-+ }<br>
-+ break;<br>
-+case 3:<br>
-+#line 163 "plural.y"<br>
-+{<br>
-+ yyval.exp = new_exp_2 (lor, yyvsp[-2].exp, yyvsp[0].exp);<br>
-+ }<br>
-+ break;<br>
-+case 4:<br>
-+#line 167 "plural.y"<br>
-+{<br>
-+ yyval.exp = new_exp_2 (land, yyvsp[-2].exp, yyvsp[0].exp);<br>
-+ }<br>
-+ break;<br>
-+case 5:<br>
-+#line 171 "plural.y"<br>
-+{<br>
-+ yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp);<br>
-+ }<br>
-+ break;<br>
-+case 6:<br>
-+#line 175 "plural.y"<br>
-+{<br>
-+ yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp);<br>
-+ }<br>
-+ break;<br>
-+case 7:<br>
-+#line 179 "plural.y"<br>
-+{<br>
-+ yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp);<br>
-+ }<br>
-+ break;<br>
-+case 8:<br>
-+#line 183 "plural.y"<br>
-+{<br>
-+ yyval.exp = new_exp_2 (yyvsp[-1].op, yyvsp[-2].exp, yyvsp[0].exp);<br>
-+ }<br>
-+ break;<br>
-+case 9:<br>
-+#line 187 "plural.y"<br>
-+{<br>
-+ yyval.exp = new_exp_1 (lnot, yyvsp[0].exp);<br>
-+ }<br>
-+ break;<br>
-+case 10:<br>
-+#line 191 "plural.y"<br>
-+{<br>
-+ yyval.exp = new_exp_0 (var);<br>
-+ }<br>
-+ break;<br>
-+case 11:<br>
-+#line 195 "plural.y"<br>
-+{<br>
-+ if ((yyval.exp = new_exp_0 (num)) != NULL)<br>
-+ yyval.exp->val.num = yyvsp[0].num;<br>
-+ }<br>
-+ break;<br>
-+case 12:<br>
-+#line 200 "plural.y"<br>
-+{<br>
-+ yyval.exp = yyvsp[-1].exp;<br>
-+ }<br>
-+ break;<br>
-+}<br>
-+<br>
-+#line 705 "/usr/local/share/bison/bison.simple"<br>
-+<br>
-+<br>
-+ yyvsp -= yylen;<br>
-+ yyssp -= yylen;<br>
-+#if YYLSP_NEEDED<br>
-+ yylsp -= yylen;<br>
-+#endif<br>
-+<br>
-+#if YYDEBUG<br>
-+ if (yydebug)<br>
-+ {<br>
-+ short *yyssp1 = yyss - 1;<br>
-+ YYFPRINTF (stderr, "state stack now");<br>
-+ while (yyssp1 != yyssp)<br>
-+ YYFPRINTF (stderr, " %d", *++yyssp1);<br>
-+ YYFPRINTF (stderr, "\n");<br>
-+ }<br>
-+#endif<br>
-+<br>
-+ *++yyvsp = yyval;<br>
-+#if YYLSP_NEEDED<br>
-+ *++yylsp = yyloc;<br>
-+#endif<br>
-+<br>
-+ /* Now `shift' the result of the reduction. Determine what state<br>
-+ that goes to, based on the state we popped back to and the rule<br>
-+ number reduced by. */<br>
-+<br>
-+ yyn = yyr1[yyn];<br>
-+<br>
-+ yystate = yypgoto[yyn - YYNTBASE] + *yyssp;<br>
-+ if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)<br>
-+ yystate = yytable[yystate];<br>
-+ else<br>
-+ yystate = yydefgoto[yyn - YYNTBASE];<br>
-+<br>
-+ goto yynewstate;<br>
-+<br>
-+<br>
-+/*------------------------------------.<br>
-+| yyerrlab -- here on detecting error |<br>
-+`------------------------------------*/<br>
-+yyerrlab:<br>
-+ /* If not already recovering from an error, report this error. */<br>
-+ if (!yyerrstatus)<br>
-+ {<br>
-+ ++yynerrs;<br>
-+<br>
-+#ifdef YYERROR_VERBOSE<br>
-+ yyn = yypact[yystate];<br>
-+<br>
-+ if (yyn > YYFLAG && yyn < YYLAST)<br>
-+ {<br>
-+ YYSIZE_T yysize = 0;<br>
-+ char *yymsg;<br>
-+ int yyx, yycount;<br>
-+<br>
-+ yycount = 0;<br>
-+ /* Start YYX at -YYN if negative to avoid negative indexes in<br>
-+ YYCHECK. */<br>
-+ for (yyx = yyn < 0 ? -yyn : 0;<br>
-+ yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++)<br>
-+ if (yycheck[yyx + yyn] == yyx)<br>
-+ yysize += yystrlen (yytname[yyx]) + 15, yycount++;<br>
-+ yysize += yystrlen ("parse error, unexpected ") + 1;<br>
-+ yysize += yystrlen (yytname[YYTRANSLATE (yychar)]);<br>
-+ yymsg = (char *) YYSTACK_ALLOC (yysize);<br>
-+ if (yymsg != 0)<br>
-+ {<br>
-+ char *yyp = yystpcpy (yymsg, "parse error, unexpected ");<br>
-+ yyp = yystpcpy (yyp, yytname[YYTRANSLATE (yychar)]);<br>
-+<br>
-+ if (yycount < 5)<br>
-+ {<br>
-+ yycount = 0;<br>
-+ for (yyx = yyn < 0 ? -yyn : 0;<br>
-+ yyx < (int) (sizeof (yytname) / sizeof (char *));<br>
-+ yyx++)<br>
-+ if (yycheck[yyx + yyn] == yyx)<br>
-+ {<br>
-+ const char *yyq = ! yycount ? ", expecting " : " or ";<br>
-+ yyp = yystpcpy (yyp, yyq);<br>
-+ yyp = yystpcpy (yyp, yytname[yyx]);<br>
-+ yycount++;<br>
-+ }<br>
-+ }<br>
-+ yyerror (yymsg);<br>
-+ YYSTACK_FREE (yymsg);<br>
-+ }<br>
-+ else<br>
-+ yyerror ("parse error; also virtual memory exhausted");<br>
-+ }<br>
-+ else<br>
-+#endif /* defined (YYERROR_VERBOSE) */<br>
-+ yyerror ("parse error");<br>
-+ }<br>
-+ goto yyerrlab1;<br>
-+<br>
-+<br>
-+/*--------------------------------------------------.<br>
-+| yyerrlab1 -- error raised explicitly by an action |<br>
-+`--------------------------------------------------*/<br>
-+yyerrlab1:<br>
-+ if (yyerrstatus == 3)<br>
-+ {<br>
-+ /* If just tried and failed to reuse lookahead token after an<br>
-+ error, discard it. */<br>
-+<br>
-+ /* return failure if at end of input */<br>
-+ if (yychar == YYEOF)<br>
-+ YYABORT;<br>
-+ YYDPRINTF ((stderr, "Discarding token %d (%s).\n",<br>
-+ yychar, yytname[yychar1]));<br>
-+ yychar = YYEMPTY;<br>
-+ }<br>
-+<br>
-+ /* Else will try to reuse lookahead token after shifting the error<br>
-+ token. */<br>
-+<br>
-+ yyerrstatus = 3; /* Each real token shifted decrements this */<br>
-+<br>
-+ goto yyerrhandle;<br>
-+<br>
-+<br>
-+/*-------------------------------------------------------------------.<br>
-+| yyerrdefault -- current state does not do anything special for the |<br>
-+| error token. |<br>
-+`-------------------------------------------------------------------*/<br>
-+yyerrdefault:<br>
-+#if 0<br>
-+ /* This is wrong; only states that explicitly want error tokens<br>
-+ should shift them. */<br>
-+<br>
-+ /* If its default is to accept any token, ok. Otherwise pop it. */<br>
-+ yyn = yydefact[yystate];<br>
-+ if (yyn)<br>
-+ goto yydefault;<br>
-+#endif<br>
-+<br>
-+<br>
-+/*---------------------------------------------------------------.<br>
-+| yyerrpop -- pop the current state because it cannot handle the |<br>
-+| error token |<br>
-+`---------------------------------------------------------------*/<br>
-+yyerrpop:<br>
-+ if (yyssp == yyss)<br>
-+ YYABORT;<br>
-+ yyvsp--;<br>
-+ yystate = *--yyssp;<br>
-+#if YYLSP_NEEDED<br>
-+ yylsp--;<br>
-+#endif<br>
-+<br>
-+#if YYDEBUG<br>
-+ if (yydebug)<br>
-+ {<br>
-+ short *yyssp1 = yyss - 1;<br>
-+ YYFPRINTF (stderr, "Error: state stack now");<br>
-+ while (yyssp1 != yyssp)<br>
-+ YYFPRINTF (stderr, " %d", *++yyssp1);<br>
-+ YYFPRINTF (stderr, "\n");<br>
-+ }<br>
-+#endif<br>
-+<br>
-+/*--------------.<br>
-+| yyerrhandle. |<br>
-+`--------------*/<br>
-+yyerrhandle:<br>
-+ yyn = yypact[yystate];<br>
-+ if (yyn == YYFLAG)<br>
-+ goto yyerrdefault;<br>
-+<br>
-+ yyn += YYTERROR;<br>
-+ if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)<br>
-+ goto yyerrdefault;<br>
-+<br>
-+ yyn = yytable[yyn];<br>
-+ if (yyn < 0)<br>
-+ {<br>
-+ if (yyn == YYFLAG)<br>
-+ goto yyerrpop;<br>
-+ yyn = -yyn;<br>
-+ goto yyreduce;<br>
-+ }<br>
-+ else if (yyn == 0)<br>
-+ goto yyerrpop;<br>
-+<br>
-+ if (yyn == YYFINAL)<br>
-+ YYACCEPT;<br>
-+<br>
-+ YYDPRINTF ((stderr, "Shifting error token, "));<br>
-+<br>
-+ *++yyvsp = yylval;<br>
-+#if YYLSP_NEEDED<br>
-+ *++yylsp = yylloc;<br>
-+#endif<br>
-+<br>
-+ yystate = yyn;<br>
-+ goto yynewstate;<br>
-+<br>
-+<br>
-+/*-------------------------------------.<br>
-+| yyacceptlab -- YYACCEPT comes here. |<br>
-+`-------------------------------------*/<br>
-+yyacceptlab:<br>
-+ yyresult = 0;<br>
-+ goto yyreturn;<br>
-+<br>
-+/*-----------------------------------.<br>
-+| yyabortlab -- YYABORT comes here. |<br>
-+`-----------------------------------*/<br>
-+yyabortlab:<br>
-+ yyresult = 1;<br>
-+ goto yyreturn;<br>
-+<br>
-+/*---------------------------------------------.<br>
-+| yyoverflowab -- parser overflow comes here. |<br>
-+`---------------------------------------------*/<br>
-+yyoverflowlab:<br>
-+ yyerror ("parser stack overflow");<br>
-+ yyresult = 2;<br>
-+ /* Fall through. */<br>
-+<br>
-+yyreturn:<br>
-+#ifndef yyoverflow<br>
-+ if (yyss != yyssa)<br>
-+ YYSTACK_FREE (yyss);<br>
-+#endif<br>
-+ return yyresult;<br>
-+}<br>
-+#line 205 "plural.y"<br>
-+<br>
-+<br>
-+void<br>
-+internal_function<br>
-+FREE_EXPRESSION (struct expression *exp)<br>
-+{<br>
-+ if (exp == NULL)<br>
-+ return;<br>
-+<br>
-+ /* Handle the recursive case. */<br>
-+ switch (exp->nargs)<br>
-+ {<br>
-+ case 3:<br>
-+ FREE_EXPRESSION (exp->val.args[2]);<br>
-+ /* FALLTHROUGH */<br>
-+ case 2:<br>
-+ FREE_EXPRESSION (exp->val.args[1]);<br>
-+ /* FALLTHROUGH */<br>
-+ case 1:<br>
-+ FREE_EXPRESSION (exp->val.args[0]);<br>
-+ /* FALLTHROUGH */<br>
-+ default:<br>
-+ break;<br>
-+ }<br>
-+<br>
-+ free (exp);<br>
-+}<br>
-+<br>
-+<br>
-+static int<br>
-+yylex (YYSTYPE *lval, const char **pexp)<br>
-+{<br>
-+ const char *exp = *pexp;<br>
-+ int result;<br>
-+<br>
-+ while (1)<br>
-+ {<br>
-+ if (exp[0] == '\0')<br>
-+ {<br>
-+ *pexp = exp;<br>
-+ return YYEOF;<br>
-+ }<br>
-+<br>
-+ if (exp[0] != ' ' && exp[0] != '\t')<br>
-+ break;<br>
-+<br>
-+ ++exp;<br>
-+ }<br>
-+<br>
-+ result = *exp++;<br>
-+ switch (result)<br>
-+ {<br>
-+ case '0': case '1': case '2': case '3': case '4':<br>
-+ case '5': case '6': case '7': case '8': case '9':<br>
-+ {<br>
-+ unsigned long int n = result - '0';<br>
-+ while (exp[0] >= '0' && exp[0] <= '9')<br>
-+ {<br>
-+ n *= 10;<br>
-+ n += exp[0] - '0';<br>
-+ ++exp;<br>
-+ }<br>
-+ lval->num = n;<br>
-+ result = NUMBER;<br>
-+ }<br>
-+ break;<br>
-+<br>
-+ case '=':<br>
-+ if (exp[0] == '=')<br>
-+ {<br>
-+ ++exp;<br>
-+ lval->op = equal;<br>
-+ result = EQUOP2;<br>
-+ }<br>
-+ else<br>
-+ result = YYERRCODE;<br>
-+ break;<br>
-+<br>
-+ case '!':<br>
-+ if (exp[0] == '=')<br>
-+ {<br>
-+ ++exp;<br>
-+ lval->op = not_equal;<br>
-+ result = EQUOP2;<br>
-+ }<br>
-+ break;<br>
-+<br>
-+ case '&':<br>
-+ case '|':<br>
-+ if (exp[0] == result)<br>
-+ ++exp;<br>
-+ else<br>
-+ result = YYERRCODE;<br>
-+ break;<br>
-+<br>
-+ case '<':<br>
-+ if (exp[0] == '=')<br>
-+ {<br>
-+ ++exp;<br>
-+ lval->op = less_or_equal;<br>
-+ }<br>
-+ else<br>
-+ lval->op = less_than;<br>
-+ result = CMPOP2;<br>
-+ break;<br>
-+<br>
-+ case '>':<br>
-+ if (exp[0] == '=')<br>
-+ {<br>
-+ ++exp;<br>
-+ lval->op = greater_or_equal;<br>
-+ }<br>
-+ else<br>
-+ lval->op = greater_than;<br>
-+ result = CMPOP2;<br>
-+ break;<br>
-+<br>
-+ case '*':<br>
-+ lval->op = mult;<br>
-+ result = MULOP2;<br>
-+ break;<br>
-+<br>
-+ case '/':<br>
-+ lval->op = divide;<br>
-+ result = MULOP2;<br>
-+ break;<br>
-+<br>
-+ case '%':<br>
-+ lval->op = module;<br>
-+ result = MULOP2;<br>
-+ break;<br>
-+<br>
-+ case '+':<br>
-+ lval->op = plus;<br>
-+ result = ADDOP2;<br>
-+ break;<br>
-+<br>
-+ case '-':<br>
-+ lval->op = minus;<br>
-+ result = ADDOP2;<br>
-+ break;<br>
-+<br>
-+ case 'n':<br>
-+ case '?':<br>
-+ case ':':<br>
-+ case '(':<br>
-+ case ')':<br>
-+ /* Nothing, just return the character. */<br>
-+ break;<br>
-+<br>
-+ case ';':<br>
-+ case '\n':<br>
-+ case '\0':<br>
-+ /* Be safe and let the user call this function again. */<br>
-+ --exp;<br>
-+ result = YYEOF;<br>
-+ break;<br>
-+<br>
-+ default:<br>
-+ result = YYERRCODE;<br>
-+#if YYDEBUG != 0<br>
-+ --exp;<br>
-+#endif<br>
-+ break;<br>
-+ }<br>
-+<br>
-+ *pexp = exp;<br>
-+<br>
-+ return result;<br>
-+}<br>
-+<br>
-+<br>
-+static void<br>
-+yyerror (const char *str)<br>
-+{<br>
-+ /* Do nothing. We don't print error messages here. */<br>
-+}<br>
---- lrzsz-0.12.20.safe/intl/plural-exp.c 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/intl/plural-exp.c 2004-09-12 14:40:34.578714192 -0400<br>
-@@ -0,0 +1,154 @@<br>
-+/* Expression parsing for plural form selection.<br>
-+ Copyright (C) 2000-2001, 2003 Free Software Foundation, Inc.<br>
-+ Written by Ulrich Drepper <<a href="mailto:drepper@cygnus.com" target="_blank">drepper@cygnus.com</a>>, 2000.<br>
-+<br>
-+ This program is free software; you can redistribute it and/or modify it<br>
-+ under the terms of the GNU Library General Public License as published<br>
-+ by the Free Software Foundation; either version 2, or (at your option)<br>
-+ any later version.<br>
-+<br>
-+ This program is distributed in the hope that it will be useful,<br>
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-+ Library General Public License for more details.<br>
-+<br>
-+ You should have received a copy of the GNU Library General Public<br>
-+ License along with this program; if not, write to the Free Software<br>
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,<br>
-+ USA. */<br>
-+<br>
-+#ifdef HAVE_CONFIG_H<br>
-+# include <config.h><br>
-+#endif<br>
-+<br>
-+#include <ctype.h><br>
-+#include <stdlib.h><br>
-+#include <string.h><br>
-+<br>
-+#include "plural-exp.h"<br>
-+<br>
-+#if (defined __GNUC__ && !defined __APPLE_CC__) \<br>
-+ || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L)<br>
-+<br>
-+/* These structs are the constant expression for the germanic plural<br>
-+ form determination. It represents the expression "n != 1". */<br>
-+static const struct expression plvar =<br>
-+{<br>
-+ .nargs = 0,<br>
-+ .operation = var,<br>
-+};<br>
-+static const struct expression plone =<br>
-+{<br>
-+ .nargs = 0,<br>
-+ .operation = num,<br>
-+ .val =<br>
-+ {<br>
-+ .num = 1<br>
-+ }<br>
-+};<br>
-+struct expression GERMANIC_PLURAL =<br>
-+{<br>
-+ .nargs = 2,<br>
-+ .operation = not_equal,<br>
-+ .val =<br>
-+ {<br>
-+ .args =<br>
-+ {<br>
-+ [0] = (struct expression *) &plvar,<br>
-+ [1] = (struct expression *) &plone<br>
-+ }<br>
-+ }<br>
-+};<br>
-+<br>
-+# define INIT_GERMANIC_PLURAL()<br>
-+<br>
-+#else<br>
-+<br>
-+/* For compilers without support for ISO C 99 struct/union initializers:<br>
-+ Initialization at run-time. */<br>
-+<br>
-+static struct expression plvar;<br>
-+static struct expression plone;<br>
-+struct expression GERMANIC_PLURAL;<br>
-+<br>
-+static void<br>
-+init_germanic_plural ()<br>
-+{<br>
-+ if (plone.val.num == 0)<br>
-+ {<br>
-+ plvar.nargs = 0;<br>
-+ plvar.operation = var;<br>
-+<br>
-+ plone.nargs = 0;<br>
-+ plone.operation = num;<br>
-+ plone.val.num = 1;<br>
-+<br>
-+ GERMANIC_PLURAL.nargs = 2;<br>
-+ GERMANIC_PLURAL.operation = not_equal;<br>
-+ GERMANIC_PLURAL.val.args[0] = &plvar;<br>
-+ GERMANIC_PLURAL.val.args[1] = &plone;<br>
-+ }<br>
-+}<br>
-+<br>
-+# define INIT_GERMANIC_PLURAL() init_germanic_plural ()<br>
-+<br>
-+#endif<br>
-+<br>
-+void<br>
-+internal_function<br>
-+EXTRACT_PLURAL_EXPRESSION (const char *nullentry, struct expression **pluralp,<br>
-+ unsigned long int *npluralsp)<br>
-+{<br>
-+ if (nullentry != NULL)<br>
-+ {<br>
-+ const char *plural;<br>
-+ const char *nplurals;<br>
-+<br>
-+ plural = strstr (nullentry, "plural=");<br>
-+ nplurals = strstr (nullentry, "nplurals=");<br>
-+ if (plural == NULL || nplurals == NULL)<br>
-+ goto no_plural;<br>
-+ else<br>
-+ {<br>
-+ char *endp;<br>
-+ unsigned long int n;<br>
-+ struct parse_args args;<br>
-+<br>
-+ /* First get the number. */<br>
-+ nplurals += 9;<br>
-+ while (*nplurals != '\0' && isspace ((unsigned char) *nplurals))<br>
-+ ++nplurals;<br>
-+ if (!(*nplurals >= '0' && *nplurals <= '9'))<br>
-+ goto no_plural;<br>
-+#if defined HAVE_STRTOUL || defined _LIBC<br>
-+ n = strtoul (nplurals, &endp, 10);<br>
-+#else<br>
-+ for (endp = nplurals, n = 0; *endp >= '0' && *endp <= '9'; endp++)<br>
-+ n = n * 10 + (*endp - '0');<br>
-+#endif<br>
-+ if (nplurals == endp)<br>
-+ goto no_plural;<br>
-+ *npluralsp = n;<br>
-+<br>
-+ /* Due to the restrictions bison imposes onto the interface of the<br>
-+ scanner function we have to put the input string and the result<br>
-+ passed up from the parser into the same structure which address<br>
-+ is passed down to the parser. */<br>
-+ plural += 7;<br>
-+ args.cp = plural;<br>
-+ if (PLURAL_PARSE (&args) != 0)<br>
-+ goto no_plural;<br>
-+ *pluralp = args.res;<br>
-+ }<br>
-+ }<br>
-+ else<br>
-+ {<br>
-+ /* By default we are using the Germanic form: singular form only<br>
-+ for `one', the plural form otherwise. Yes, this is also what<br>
-+ English is using since English is a Germanic language. */<br>
-+ no_plural:<br>
-+ INIT_GERMANIC_PLURAL ();<br>
-+ *pluralp = &GERMANIC_PLURAL;<br>
-+ *npluralsp = 2;<br>
-+ }<br>
-+}<br>
---- lrzsz-0.12.20.safe/intl/plural-exp.h 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/intl/plural-exp.h 2004-09-12 14:40:34.584713280 -0400<br>
-@@ -0,0 +1,118 @@<br>
-+/* Expression parsing and evaluation for plural form selection.<br>
-+ Copyright (C) 2000-2003 Free Software Foundation, Inc.<br>
-+ Written by Ulrich Drepper <<a href="mailto:drepper@cygnus.com" target="_blank">drepper@cygnus.com</a>>, 2000.<br>
-+<br>
-+ This program is free software; you can redistribute it and/or modify it<br>
-+ under the terms of the GNU Library General Public License as published<br>
-+ by the Free Software Foundation; either version 2, or (at your option)<br>
-+ any later version.<br>
-+<br>
-+ This program is distributed in the hope that it will be useful,<br>
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-+ Library General Public License for more details.<br>
-+<br>
-+ You should have received a copy of the GNU Library General Public<br>
-+ License along with this program; if not, write to the Free Software<br>
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,<br>
-+ USA. */<br>
-+<br>
-+#ifndef _PLURAL_EXP_H<br>
-+#define _PLURAL_EXP_H<br>
-+<br>
-+#ifndef internal_function<br>
-+# define internal_function<br>
-+#endif<br>
-+<br>
-+#ifndef attribute_hidden<br>
-+# define attribute_hidden<br>
-+#endif<br>
-+<br>
-+<br>
-+/* This is the representation of the expressions to determine the<br>
-+ plural form. */<br>
-+struct expression<br>
-+{<br>
-+ int nargs; /* Number of arguments. */<br>
-+ enum operator<br>
-+ {<br>
-+ /* Without arguments: */<br>
-+ var, /* The variable "n". */<br>
-+ num, /* Decimal number. */<br>
-+ /* Unary operators: */<br>
-+ lnot, /* Logical NOT. */<br>
-+ /* Binary operators: */<br>
-+ mult, /* Multiplication. */<br>
-+ divide, /* Division. */<br>
-+ module, /* Modulo operation. */<br>
-+ plus, /* Addition. */<br>
-+ minus, /* Subtraction. */<br>
-+ less_than, /* Comparison. */<br>
-+ greater_than, /* Comparison. */<br>
-+ less_or_equal, /* Comparison. */<br>
-+ greater_or_equal, /* Comparison. */<br>
-+ equal, /* Comparison for equality. */<br>
-+ not_equal, /* Comparison for inequality. */<br>
-+ land, /* Logical AND. */<br>
-+ lor, /* Logical OR. */<br>
-+ /* Ternary operators: */<br>
-+ qmop /* Question mark operator. */<br>
-+ } operation;<br>
-+ union<br>
-+ {<br>
-+ unsigned long int num; /* Number value for `num'. */<br>
-+ struct expression *args[3]; /* Up to three arguments. */<br>
-+ } val;<br>
-+};<br>
-+<br>
-+/* This is the data structure to pass information to the parser and get<br>
-+ the result in a thread-safe way. */<br>
-+struct parse_args<br>
-+{<br>
-+ const char *cp;<br>
-+ struct expression *res;<br>
-+};<br>
-+<br>
-+<br>
-+/* Names for the libintl functions are a problem. This source code is used<br>
-+ 1. in the GNU C Library library,<br>
-+ 2. in the GNU libintl library,<br>
-+ 3. in the GNU gettext tools.<br>
-+ The function names in each situation must be different, to allow for<br>
-+ binary incompatible changes in 'struct expression'. Furthermore,<br>
-+ 1. in the GNU C Library library, the names have a __ prefix,<br>
-+ 2.+3. in the GNU libintl library and in the GNU gettext tools, the names<br>
-+ must follow ANSI C and not start with __.<br>
-+ So we have to distinguish the three cases. */<br>
-+#ifdef _LIBC<br>
-+# define FREE_EXPRESSION __gettext_free_exp<br>
-+# define PLURAL_PARSE __gettextparse<br>
-+# define GERMANIC_PLURAL __gettext_germanic_plural<br>
-+# define EXTRACT_PLURAL_EXPRESSION __gettext_extract_plural<br>
-+#elif defined (IN_LIBINTL)<br>
-+# define FREE_EXPRESSION libintl_gettext_free_exp<br>
-+# define PLURAL_PARSE libintl_gettextparse<br>
-+# define GERMANIC_PLURAL libintl_gettext_germanic_plural<br>
-+# define EXTRACT_PLURAL_EXPRESSION libintl_gettext_extract_plural<br>
-+#else<br>
-+# define FREE_EXPRESSION free_plural_expression<br>
-+# define PLURAL_PARSE parse_plural_expression<br>
-+# define GERMANIC_PLURAL germanic_plural<br>
-+# define EXTRACT_PLURAL_EXPRESSION extract_plural_expression<br>
-+#endif<br>
-+<br>
-+extern void FREE_EXPRESSION (struct expression *exp)<br>
-+ internal_function;<br>
-+extern int PLURAL_PARSE (void *arg);<br>
-+extern struct expression GERMANIC_PLURAL attribute_hidden;<br>
-+extern void EXTRACT_PLURAL_EXPRESSION (const char *nullentry,<br>
-+ struct expression **pluralp,<br>
-+ unsigned long int *npluralsp)<br>
-+ internal_function;<br>
-+<br>
-+#if !defined (_LIBC) && !defined (IN_LIBINTL)<br>
-+extern unsigned long int plural_eval (struct expression *pexp,<br>
-+ unsigned long int n);<br>
-+#endif<br>
-+<br>
-+#endif /* _PLURAL_EXP_H */<br>
---- lrzsz-0.12.20.safe/intl/plural.y 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/intl/plural.y 2004-09-12 14:40:34.589712520 -0400<br>
-@@ -0,0 +1,381 @@<br>
-+%{<br>
-+/* Expression parsing for plural form selection.<br>
-+ Copyright (C) 2000-2001, 2003 Free Software Foundation, Inc.<br>
-+ Written by Ulrich Drepper <<a href="mailto:drepper@cygnus.com" target="_blank">drepper@cygnus.com</a>>, 2000.<br>
-+<br>
-+ This program is free software; you can redistribute it and/or modify it<br>
-+ under the terms of the GNU Library General Public License as published<br>
-+ by the Free Software Foundation; either version 2, or (at your option)<br>
-+ any later version.<br>
-+<br>
-+ This program is distributed in the hope that it will be useful,<br>
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-+ Library General Public License for more details.<br>
-+<br>
-+ You should have received a copy of the GNU Library General Public<br>
-+ License along with this program; if not, write to the Free Software<br>
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,<br>
-+ USA. */<br>
-+<br>
-+/* The bison generated parser uses alloca. AIX 3 forces us to put this<br>
-+ declaration at the beginning of the file. The declaration in bison's<br>
-+ skeleton file comes too late. This must come before <config.h><br>
-+ because <config.h> may include arbitrary system headers. */<br>
-+#if defined _AIX && !defined __GNUC__<br>
-+ #pragma alloca<br>
-+#endif<br>
-+<br>
-+#ifdef HAVE_CONFIG_H<br>
-+# include <config.h><br>
-+#endif<br>
-+<br>
-+#include <stddef.h><br>
-+#include <stdlib.h><br>
-+#include "plural-exp.h"<br>
-+<br>
-+/* The main function generated by the parser is called __gettextparse,<br>
-+ but we want it to be called PLURAL_PARSE. */<br>
-+#ifndef _LIBC<br>
-+# define __gettextparse PLURAL_PARSE<br>
-+#endif<br>
-+<br>
-+#define YYLEX_PARAM &((struct parse_args *) arg)->cp<br>
-+#define YYPARSE_PARAM arg<br>
-+%}<br>
-+%pure_parser<br>
-+%expect 7<br>
-+<br>
-+%union {<br>
-+ unsigned long int num;<br>
-+ enum operator op;<br>
-+ struct expression *exp;<br>
-+}<br>
-+<br>
-+%{<br>
-+/* Prototypes for local functions. */<br>
-+static int yylex (YYSTYPE *lval, const char **pexp);<br>
-+static void yyerror (const char *str);<br>
-+<br>
-+/* Allocation of expressions. */<br>
-+<br>
-+static struct expression *<br>
-+new_exp (int nargs, enum operator op, struct expression * const *args)<br>
-+{<br>
-+ int i;<br>
-+ struct expression *newp;<br>
-+<br>
-+ /* If any of the argument could not be malloc'ed, just return NULL. */<br>
-+ for (i = nargs - 1; i >= 0; i--)<br>
-+ if (args[i] == NULL)<br>
-+ goto fail;<br>
-+<br>
-+ /* Allocate a new expression. */<br>
-+ newp = (struct expression *) malloc (sizeof (*newp));<br>
-+ if (newp != NULL)<br>
-+ {<br>
-+ newp->nargs = nargs;<br>
-+ newp->operation = op;<br>
-+ for (i = nargs - 1; i >= 0; i--)<br>
-+ newp->val.args[i] = args[i];<br>
-+ return newp;<br>
-+ }<br>
-+<br>
-+ fail:<br>
-+ for (i = nargs - 1; i >= 0; i--)<br>
-+ FREE_EXPRESSION (args[i]);<br>
-+<br>
-+ return NULL;<br>
-+}<br>
-+<br>
-+static inline struct expression *<br>
-+new_exp_0 (enum operator op)<br>
-+{<br>
-+ return new_exp (0, op, NULL);<br>
-+}<br>
-+<br>
-+static inline struct expression *<br>
-+new_exp_1 (enum operator op, struct expression *right)<br>
-+{<br>
-+ struct expression *args[1];<br>
-+<br>
-+ args[0] = right;<br>
-+ return new_exp (1, op, args);<br>
-+}<br>
-+<br>
-+static struct expression *<br>
-+new_exp_2 (enum operator op, struct expression *left, struct expression *right)<br>
-+{<br>
-+ struct expression *args[2];<br>
-+<br>
-+ args[0] = left;<br>
-+ args[1] = right;<br>
-+ return new_exp (2, op, args);<br>
-+}<br>
-+<br>
-+static inline struct expression *<br>
-+new_exp_3 (enum operator op, struct expression *bexp,<br>
-+ struct expression *tbranch, struct expression *fbranch)<br>
-+{<br>
-+ struct expression *args[3];<br>
-+<br>
-+ args[0] = bexp;<br>
-+ args[1] = tbranch;<br>
-+ args[2] = fbranch;<br>
-+ return new_exp (3, op, args);<br>
-+}<br>
-+<br>
-+%}<br>
-+<br>
-+/* This declares that all operators have the same associativity and the<br>
-+ precedence order as in C. See [Harbison, Steele: C, A Reference Manual].<br>
-+ There is no unary minus and no bitwise operators.<br>
-+ Operators with the same syntactic behaviour have been merged into a single<br>
-+ token, to save space in the array generated by bison. */<br>
-+%right '?' /* ? */<br>
-+%left '|' /* || */<br>
-+%left '&' /* && */<br>
-+%left EQUOP2 /* == != */<br>
-+%left CMPOP2 /* < > <= >= */<br>
-+%left ADDOP2 /* + - */<br>
-+%left MULOP2 /* * / % */<br>
-+%right '!' /* ! */<br>
-+<br>
-+%token <op> EQUOP2 CMPOP2 ADDOP2 MULOP2<br>
-+%token <num> NUMBER<br>
-+%type <exp> exp<br>
-+<br>
-+%%<br>
-+<br>
-+start: exp<br>
-+ {<br>
-+ if ($1 == NULL)<br>
-+ YYABORT;<br>
-+ ((struct parse_args *) arg)->res = $1;<br>
-+ }<br>
-+ ;<br>
-+<br>
-+exp: exp '?' exp ':' exp<br>
-+ {<br>
-+ $$ = new_exp_3 (qmop, $1, $3, $5);<br>
-+ }<br>
-+ | exp '|' exp<br>
-+ {<br>
-+ $$ = new_exp_2 (lor, $1, $3);<br>
-+ }<br>
-+ | exp '&' exp<br>
-+ {<br>
-+ $$ = new_exp_2 (land, $1, $3);<br>
-+ }<br>
-+ | exp EQUOP2 exp<br>
-+ {<br>
-+ $$ = new_exp_2 ($2, $1, $3);<br>
-+ }<br>
-+ | exp CMPOP2 exp<br>
-+ {<br>
-+ $$ = new_exp_2 ($2, $1, $3);<br>
-+ }<br>
-+ | exp ADDOP2 exp<br>
-+ {<br>
-+ $$ = new_exp_2 ($2, $1, $3);<br>
-+ }<br>
-+ | exp MULOP2 exp<br>
-+ {<br>
-+ $$ = new_exp_2 ($2, $1, $3);<br>
-+ }<br>
-+ | '!' exp<br>
-+ {<br>
-+ $$ = new_exp_1 (lnot, $2);<br>
-+ }<br>
-+ | 'n'<br>
-+ {<br>
-+ $$ = new_exp_0 (var);<br>
-+ }<br>
-+ | NUMBER<br>
-+ {<br>
-+ if (($$ = new_exp_0 (num)) != NULL)<br>
-+ $$->val.num = $1;<br>
-+ }<br>
-+ | '(' exp ')'<br>
-+ {<br>
-+ $$ = $2;<br>
-+ }<br>
-+ ;<br>
-+<br>
-+%%<br>
-+<br>
-+void<br>
-+internal_function<br>
-+FREE_EXPRESSION (struct expression *exp)<br>
-+{<br>
-+ if (exp == NULL)<br>
-+ return;<br>
-+<br>
-+ /* Handle the recursive case. */<br>
-+ switch (exp->nargs)<br>
-+ {<br>
-+ case 3:<br>
-+ FREE_EXPRESSION (exp->val.args[2]);<br>
-+ /* FALLTHROUGH */<br>
-+ case 2:<br>
-+ FREE_EXPRESSION (exp->val.args[1]);<br>
-+ /* FALLTHROUGH */<br>
-+ case 1:<br>
-+ FREE_EXPRESSION (exp->val.args[0]);<br>
-+ /* FALLTHROUGH */<br>
-+ default:<br>
-+ break;<br>
-+ }<br>
-+<br>
-+ free (exp);<br>
-+}<br>
-+<br>
-+<br>
-+static int<br>
-+yylex (YYSTYPE *lval, const char **pexp)<br>
-+{<br>
-+ const char *exp = *pexp;<br>
-+ int result;<br>
-+<br>
-+ while (1)<br>
-+ {<br>
-+ if (exp[0] == '\0')<br>
-+ {<br>
-+ *pexp = exp;<br>
-+ return YYEOF;<br>
-+ }<br>
-+<br>
-+ if (exp[0] != ' ' && exp[0] != '\t')<br>
-+ break;<br>
-+<br>
-+ ++exp;<br>
-+ }<br>
-+<br>
-+ result = *exp++;<br>
-+ switch (result)<br>
-+ {<br>
-+ case '0': case '1': case '2': case '3': case '4':<br>
-+ case '5': case '6': case '7': case '8': case '9':<br>
-+ {<br>
-+ unsigned long int n = result - '0';<br>
-+ while (exp[0] >= '0' && exp[0] <= '9')<br>
-+ {<br>
-+ n *= 10;<br>
-+ n += exp[0] - '0';<br>
-+ ++exp;<br>
-+ }<br>
-+ lval->num = n;<br>
-+ result = NUMBER;<br>
-+ }<br>
-+ break;<br>
-+<br>
-+ case '=':<br>
-+ if (exp[0] == '=')<br>
-+ {<br>
-+ ++exp;<br>
-+ lval->op = equal;<br>
-+ result = EQUOP2;<br>
-+ }<br>
-+ else<br>
-+ result = YYERRCODE;<br>
-+ break;<br>
-+<br>
-+ case '!':<br>
-+ if (exp[0] == '=')<br>
-+ {<br>
-+ ++exp;<br>
-+ lval->op = not_equal;<br>
-+ result = EQUOP2;<br>
-+ }<br>
-+ break;<br>
-+<br>
-+ case '&':<br>
-+ case '|':<br>
-+ if (exp[0] == result)<br>
-+ ++exp;<br>
-+ else<br>
-+ result = YYERRCODE;<br>
-+ break;<br>
-+<br>
-+ case '<':<br>
-+ if (exp[0] == '=')<br>
-+ {<br>
-+ ++exp;<br>
-+ lval->op = less_or_equal;<br>
-+ }<br>
-+ else<br>
-+ lval->op = less_than;<br>
-+ result = CMPOP2;<br>
-+ break;<br>
-+<br>
-+ case '>':<br>
-+ if (exp[0] == '=')<br>
-+ {<br>
-+ ++exp;<br>
-+ lval->op = greater_or_equal;<br>
-+ }<br>
-+ else<br>
-+ lval->op = greater_than;<br>
-+ result = CMPOP2;<br>
-+ break;<br>
-+<br>
-+ case '*':<br>
-+ lval->op = mult;<br>
-+ result = MULOP2;<br>
-+ break;<br>
-+<br>
-+ case '/':<br>
-+ lval->op = divide;<br>
-+ result = MULOP2;<br>
-+ break;<br>
-+<br>
-+ case '%':<br>
-+ lval->op = module;<br>
-+ result = MULOP2;<br>
-+ break;<br>
-+<br>
-+ case '+':<br>
-+ lval->op = plus;<br>
-+ result = ADDOP2;<br>
-+ break;<br>
-+<br>
-+ case '-':<br>
-+ lval->op = minus;<br>
-+ result = ADDOP2;<br>
-+ break;<br>
-+<br>
-+ case 'n':<br>
-+ case '?':<br>
-+ case ':':<br>
-+ case '(':<br>
-+ case ')':<br>
-+ /* Nothing, just return the character. */<br>
-+ break;<br>
-+<br>
-+ case ';':<br>
-+ case '\n':<br>
-+ case '\0':<br>
-+ /* Be safe and let the user call this function again. */<br>
-+ --exp;<br>
-+ result = YYEOF;<br>
-+ break;<br>
-+<br>
-+ default:<br>
-+ result = YYERRCODE;<br>
-+#if YYDEBUG != 0<br>
-+ --exp;<br>
-+#endif<br>
-+ break;<br>
-+ }<br>
-+<br>
-+ *pexp = exp;<br>
-+<br>
-+ return result;<br>
-+}<br>
-+<br>
-+<br>
-+static void<br>
-+yyerror (const char *str)<br>
-+{<br>
-+ /* Do nothing. We don't print error messages here. */<br>
-+}<br>
---- lrzsz-0.12.20.safe/intl/<a href="http://po2tbl.sed.in" rel="noreferrer" target="_blank">po2tbl.sed.in</a> 1998-04-26 09:20:52.000000000 -0400<br>
-+++ lrzsz-0.12.20/intl/<a href="http://po2tbl.sed.in" rel="noreferrer" target="_blank">po2tbl.sed.in</a> 1969-12-31 19:00:00.000000000 -0500<br>
-@@ -1,102 +0,0 @@<br>
--# po2tbl.sed - Convert Uniforum style .po file to lookup table for catgets<br>
--# Copyright (C) 1995 Free Software Foundation, Inc.<br>
--# Ulrich Drepper <<a href="mailto:drepper@gnu.ai.mit.edu" target="_blank">drepper@gnu.ai.mit.edu</a>>, 1995.<br>
--#<br>
--# This program is free software; you can redistribute it and/or modify<br>
--# it under the terms of the GNU General Public License as published by<br>
--# the Free Software Foundation; either version 2, or (at your option)<br>
--# any later version.<br>
--#<br>
--# This program is distributed in the hope that it will be useful,<br>
--# but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
--# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the<br>
--# GNU General Public License for more details.<br>
--#<br>
--# You should have received a copy of the GNU General Public License<br>
--# along with this program; if not, write to the Free Software<br>
--# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.<br>
--#<br>
--1 {<br>
-- i\<br>
--/* Automatically generated by po2tbl.sed from @PACKAGE NAME@.pot. */\<br>
--\<br>
--#if HAVE_CONFIG_H\<br>
--# include <config.h>\<br>
--#endif\<br>
--\<br>
--#include "libgettext.h"\<br>
--\<br>
--const struct _msg_ent _msg_tbl[] = {<br>
-- h<br>
-- s/.*/0/<br>
-- x<br>
--}<br>
--#<br>
--# Write msgid entries in C array form.<br>
--#<br>
--/^msgid/ {<br>
-- s/msgid[ ]*\(".*"\)/ {\1/<br>
-- tb<br>
--# Append the next line<br>
-- :b<br>
-- N<br>
--# Look whether second part is continuation line.<br>
-- s/\(.*\)"\(\n\)"\(.*"\)/\1\2\3/<br>
--# Yes, then branch.<br>
-- ta<br>
--# Because we assume that the input file correctly formed the line<br>
--# just read cannot be again be a msgid line. So it's safe to ignore<br>
--# it.<br>
-- s/\(.*\)\n.*/\1/<br>
-- bc<br>
--# We found a continuation line. But before printing insert '\'.<br>
-- :a<br>
-- s/\(.*\)\(\n.*\)/\1\\\2/<br>
-- P<br>
--# We cannot use D here.<br>
-- s/.*\n\(.*\)/\1/<br>
--# Some buggy seds do not clear the `successful substitution since last ``t'''<br>
--# flag on `N', so we do a `t' here to clear it.<br>
-- tb<br>
--# Not reached<br>
-- :c<br>
-- x<br>
--# The following nice solution is by<br>
--# Bruno <<a href="mailto:Haible@ma2s2.mathematik.uni-karlsruhe.de" target="_blank">Haible@ma2s2.mathematik.uni-karlsruhe.de</a>><br>
-- td<br>
--# Increment a decimal number in pattern space.<br>
--# First hide trailing `9' digits.<br>
-- :d<br>
-- s/9\(_*\)$/_\1/<br>
-- td<br>
--# Assure at least one digit is available.<br>
-- s/^\(_*\)$/0\1/<br>
--# Increment the last digit.<br>
-- s/8\(_*\)$/9\1/<br>
-- s/7\(_*\)$/8\1/<br>
-- s/6\(_*\)$/7\1/<br>
-- s/5\(_*\)$/6\1/<br>
-- s/4\(_*\)$/5\1/<br>
-- s/3\(_*\)$/4\1/<br>
-- s/2\(_*\)$/3\1/<br>
-- s/1\(_*\)$/2\1/<br>
-- s/0\(_*\)$/1\1/<br>
--# Convert the hidden `9' digits to `0's.<br>
-- s/_/0/g<br>
-- x<br>
-- G<br>
-- s/\(.*\)\n\([0-9]*\)/\1, \2},/<br>
-- s/\(.*\)"$/\1/<br>
-- p<br>
--}<br>
--#<br>
--# Last line.<br>
--#<br>
--$ {<br>
-- i\<br>
--};\<br>
--<br>
-- g<br>
-- s/0*\(.*\)/int _msg_tbl_length = \1;/p<br>
--}<br>
--d<br>
---- lrzsz-0.12.20.safe/intl/printf-args.c 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/intl/printf-args.c 2004-09-12 14:40:34.595711608 -0400<br>
-@@ -0,0 +1,119 @@<br>
-+/* Decomposed printf argument list.<br>
-+ Copyright (C) 1999, 2002-2003 Free Software Foundation, Inc.<br>
-+<br>
-+ This program is free software; you can redistribute it and/or modify it<br>
-+ under the terms of the GNU Library General Public License as published<br>
-+ by the Free Software Foundation; either version 2, or (at your option)<br>
-+ any later version.<br>
-+<br>
-+ This program is distributed in the hope that it will be useful,<br>
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-+ Library General Public License for more details.<br>
-+<br>
-+ You should have received a copy of the GNU Library General Public<br>
-+ License along with this program; if not, write to the Free Software<br>
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,<br>
-+ USA. */<br>
-+<br>
-+#ifdef HAVE_CONFIG_H<br>
-+# include <config.h><br>
-+#endif<br>
-+<br>
-+/* Specification. */<br>
-+#include "printf-args.h"<br>
-+<br>
-+#ifdef STATIC<br>
-+STATIC<br>
-+#endif<br>
-+int<br>
-+printf_fetchargs (va_list args, arguments *a)<br>
-+{<br>
-+ size_t i;<br>
-+ argument *ap;<br>
-+<br>
-+ for (i = 0, ap = &a->arg[0]; i < a->count; i++, ap++)<br>
-+ switch (ap->type)<br>
-+ {<br>
-+ case TYPE_SCHAR:<br>
-+ ap->a.a_schar = va_arg (args, /*signed char*/ int);<br>
-+ break;<br>
-+ case TYPE_UCHAR:<br>
-+ ap->a.a_uchar = va_arg (args, /*unsigned char*/ int);<br>
-+ break;<br>
-+ case TYPE_SHORT:<br>
-+ ap->a.a_short = va_arg (args, /*short*/ int);<br>
-+ break;<br>
-+ case TYPE_USHORT:<br>
-+ ap->a.a_ushort = va_arg (args, /*unsigned short*/ int);<br>
-+ break;<br>
-+ case TYPE_INT:<br>
-+ ap->a.a_int = va_arg (args, int);<br>
-+ break;<br>
-+ case TYPE_UINT:<br>
-+ ap->a.a_uint = va_arg (args, unsigned int);<br>
-+ break;<br>
-+ case TYPE_LONGINT:<br>
-+ ap->a.a_longint = va_arg (args, long int);<br>
-+ break;<br>
-+ case TYPE_ULONGINT:<br>
-+ ap->a.a_ulongint = va_arg (args, unsigned long int);<br>
-+ break;<br>
-+#ifdef HAVE_LONG_LONG<br>
-+ case TYPE_LONGLONGINT:<br>
-+ ap->a.a_longlongint = va_arg (args, long long int);<br>
-+ break;<br>
-+ case TYPE_ULONGLONGINT:<br>
-+ ap->a.a_ulonglongint = va_arg (args, unsigned long long int);<br>
-+ break;<br>
-+#endif<br>
-+ case TYPE_DOUBLE:<br>
-+ ap->a.a_double = va_arg (args, double);<br>
-+ break;<br>
-+#ifdef HAVE_LONG_DOUBLE<br>
-+ case TYPE_LONGDOUBLE:<br>
-+ ap->a.a_longdouble = va_arg (args, long double);<br>
-+ break;<br>
-+#endif<br>
-+ case TYPE_CHAR:<br>
-+ ap->a.a_char = va_arg (args, int);<br>
-+ break;<br>
-+#ifdef HAVE_WINT_T<br>
-+ case TYPE_WIDE_CHAR:<br>
-+ ap->a.a_wide_char = va_arg (args, wint_t);<br>
-+ break;<br>
-+#endif<br>
-+ case TYPE_STRING:<br>
-+ ap->a.a_string = va_arg (args, const char *);<br>
-+ break;<br>
-+#ifdef HAVE_WCHAR_T<br>
-+ case TYPE_WIDE_STRING:<br>
-+ ap->a.a_wide_string = va_arg (args, const wchar_t *);<br>
-+ break;<br>
-+#endif<br>
-+ case TYPE_POINTER:<br>
-+ ap->a.a_pointer = va_arg (args, void *);<br>
-+ break;<br>
-+ case TYPE_COUNT_SCHAR_POINTER:<br>
-+ ap->a.a_count_schar_pointer = va_arg (args, signed char *);<br>
-+ break;<br>
-+ case TYPE_COUNT_SHORT_POINTER:<br>
-+ ap->a.a_count_short_pointer = va_arg (args, short *);<br>
-+ break;<br>
-+ case TYPE_COUNT_INT_POINTER:<br>
-+ ap->a.a_count_int_pointer = va_arg (args, int *);<br>
-+ break;<br>
-+ case TYPE_COUNT_LONGINT_POINTER:<br>
-+ ap->a.a_count_longint_pointer = va_arg (args, long int *);<br>
-+ break;<br>
-+#ifdef HAVE_LONG_LONG<br>
-+ case TYPE_COUNT_LONGLONGINT_POINTER:<br>
-+ ap->a.a_count_longlongint_pointer = va_arg (args, long long int *);<br>
-+ break;<br>
-+#endif<br>
-+ default:<br>
-+ /* Unknown type. */<br>
-+ return -1;<br>
-+ }<br>
-+ return 0;<br>
-+}<br>
---- lrzsz-0.12.20.safe/intl/printf-args.h 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/intl/printf-args.h 2004-09-12 14:40:34.601710696 -0400<br>
-@@ -0,0 +1,137 @@<br>
-+/* Decomposed printf argument list.<br>
-+ Copyright (C) 1999, 2002-2003 Free Software Foundation, Inc.<br>
-+<br>
-+ This program is free software; you can redistribute it and/or modify it<br>
-+ under the terms of the GNU Library General Public License as published<br>
-+ by the Free Software Foundation; either version 2, or (at your option)<br>
-+ any later version.<br>
-+<br>
-+ This program is distributed in the hope that it will be useful,<br>
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-+ Library General Public License for more details.<br>
-+<br>
-+ You should have received a copy of the GNU Library General Public<br>
-+ License along with this program; if not, write to the Free Software<br>
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,<br>
-+ USA. */<br>
-+<br>
-+#ifndef _PRINTF_ARGS_H<br>
-+#define _PRINTF_ARGS_H<br>
-+<br>
-+/* Get size_t. */<br>
-+#include <stddef.h><br>
-+<br>
-+/* Get wchar_t. */<br>
-+#ifdef HAVE_WCHAR_T<br>
-+# include <stddef.h><br>
-+#endif<br>
-+<br>
-+/* Get wint_t. */<br>
-+#ifdef HAVE_WINT_T<br>
-+# include <wchar.h><br>
-+#endif<br>
-+<br>
-+/* Get va_list. */<br>
-+#include <stdarg.h><br>
-+<br>
-+<br>
-+/* Argument types */<br>
-+typedef enum<br>
-+{<br>
-+ TYPE_NONE,<br>
-+ TYPE_SCHAR,<br>
-+ TYPE_UCHAR,<br>
-+ TYPE_SHORT,<br>
-+ TYPE_USHORT,<br>
-+ TYPE_INT,<br>
-+ TYPE_UINT,<br>
-+ TYPE_LONGINT,<br>
-+ TYPE_ULONGINT,<br>
-+#ifdef HAVE_LONG_LONG<br>
-+ TYPE_LONGLONGINT,<br>
-+ TYPE_ULONGLONGINT,<br>
-+#endif<br>
-+ TYPE_DOUBLE,<br>
-+#ifdef HAVE_LONG_DOUBLE<br>
-+ TYPE_LONGDOUBLE,<br>
-+#endif<br>
-+ TYPE_CHAR,<br>
-+#ifdef HAVE_WINT_T<br>
-+ TYPE_WIDE_CHAR,<br>
-+#endif<br>
-+ TYPE_STRING,<br>
-+#ifdef HAVE_WCHAR_T<br>
-+ TYPE_WIDE_STRING,<br>
-+#endif<br>
-+ TYPE_POINTER,<br>
-+ TYPE_COUNT_SCHAR_POINTER,<br>
-+ TYPE_COUNT_SHORT_POINTER,<br>
-+ TYPE_COUNT_INT_POINTER,<br>
-+ TYPE_COUNT_LONGINT_POINTER<br>
-+#ifdef HAVE_LONG_LONG<br>
-+, TYPE_COUNT_LONGLONGINT_POINTER<br>
-+#endif<br>
-+} arg_type;<br>
-+<br>
-+/* Polymorphic argument */<br>
-+typedef struct<br>
-+{<br>
-+ arg_type type;<br>
-+ union<br>
-+ {<br>
-+ signed char a_schar;<br>
-+ unsigned char a_uchar;<br>
-+ short a_short;<br>
-+ unsigned short a_ushort;<br>
-+ int a_int;<br>
-+ unsigned int a_uint;<br>
-+ long int a_longint;<br>
-+ unsigned long int a_ulongint;<br>
-+#ifdef HAVE_LONG_LONG<br>
-+ long long int a_longlongint;<br>
-+ unsigned long long int a_ulonglongint;<br>
-+#endif<br>
-+ float a_float;<br>
-+ double a_double;<br>
-+#ifdef HAVE_LONG_DOUBLE<br>
-+ long double a_longdouble;<br>
-+#endif<br>
-+ int a_char;<br>
-+#ifdef HAVE_WINT_T<br>
-+ wint_t a_wide_char;<br>
-+#endif<br>
-+ const char* a_string;<br>
-+#ifdef HAVE_WCHAR_T<br>
-+ const wchar_t* a_wide_string;<br>
-+#endif<br>
-+ void* a_pointer;<br>
-+ signed char * a_count_schar_pointer;<br>
-+ short * a_count_short_pointer;<br>
-+ int * a_count_int_pointer;<br>
-+ long int * a_count_longint_pointer;<br>
-+#ifdef HAVE_LONG_LONG<br>
-+ long long int * a_count_longlongint_pointer;<br>
-+#endif<br>
-+ }<br>
-+ a;<br>
-+}<br>
-+argument;<br>
-+<br>
-+typedef struct<br>
-+{<br>
-+ size_t count;<br>
-+ argument *arg;<br>
-+}<br>
-+arguments;<br>
-+<br>
-+<br>
-+/* Fetch the arguments, putting them into a. */<br>
-+#ifdef STATIC<br>
-+STATIC<br>
-+#else<br>
-+extern<br>
-+#endif<br>
-+int printf_fetchargs (va_list args, arguments *a);<br>
-+<br>
-+#endif /* _PRINTF_ARGS_H */<br>
---- lrzsz-0.12.20.safe/intl/printf.c 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/intl/printf.c 2004-09-12 14:40:34.607709784 -0400<br>
-@@ -0,0 +1,371 @@<br>
-+/* Formatted output to strings, using POSIX/XSI format strings with positions.<br>
-+ Copyright (C) 2003 Free Software Foundation, Inc.<br>
-+ Written by Bruno Haible <<a href="mailto:bruno@clisp.org" target="_blank">bruno@clisp.org</a>>, 2003.<br>
-+<br>
-+ This program is free software; you can redistribute it and/or modify it<br>
-+ under the terms of the GNU Library General Public License as published<br>
-+ by the Free Software Foundation; either version 2, or (at your option)<br>
-+ any later version.<br>
-+<br>
-+ This program is distributed in the hope that it will be useful,<br>
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-+ Library General Public License for more details.<br>
-+<br>
-+ You should have received a copy of the GNU Library General Public<br>
-+ License along with this program; if not, write to the Free Software<br>
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,<br>
-+ USA. */<br>
-+<br>
-+#ifdef HAVE_CONFIG_H<br>
-+# include <config.h><br>
-+#endif<br>
-+<br>
-+#ifdef __GNUC__<br>
-+# define alloca __builtin_alloca<br>
-+# define HAVE_ALLOCA 1<br>
-+#else<br>
-+# ifdef _MSC_VER<br>
-+# include <malloc.h><br>
-+# define alloca _alloca<br>
-+# else<br>
-+# if defined HAVE_ALLOCA_H || defined _LIBC<br>
-+# include <alloca.h><br>
-+# else<br>
-+# ifdef _AIX<br>
-+ #pragma alloca<br>
-+# else<br>
-+# ifndef alloca<br>
-+char *alloca ();<br>
-+# endif<br>
-+# endif<br>
-+# endif<br>
-+# endif<br>
-+#endif<br>
-+<br>
-+#include <stdio.h><br>
-+<br>
-+#if !HAVE_POSIX_PRINTF<br>
-+<br>
-+#include <stdlib.h><br>
-+#include <string.h><br>
-+<br>
-+/* When building a DLL, we must export some functions. Note that because<br>
-+ the functions are only defined for binary backward compatibility, we<br>
-+ don't need to use __declspec(dllimport) in any case. */<br>
-+#if defined _MSC_VER && BUILDING_DLL<br>
-+# define DLL_EXPORTED __declspec(dllexport)<br>
-+#else<br>
-+# define DLL_EXPORTED<br>
-+#endif<br>
-+<br>
-+#define STATIC static<br>
-+<br>
-+/* Define auxiliary functions declared in "printf-args.h". */<br>
-+#include "printf-args.c"<br>
-+<br>
-+/* Define auxiliary functions declared in "printf-parse.h". */<br>
-+#include "printf-parse.c"<br>
-+<br>
-+/* Define functions declared in "vasnprintf.h". */<br>
-+#define vasnprintf libintl_vasnprintf<br>
-+#include "vasnprintf.c"<br>
-+#if 0 /* not needed */<br>
-+#define asnprintf libintl_asnprintf<br>
-+#include "asnprintf.c"<br>
-+#endif<br>
-+<br>
-+DLL_EXPORTED<br>
-+int<br>
-+libintl_vfprintf (FILE *stream, const char *format, va_list args)<br>
-+{<br>
-+ if (strchr (format, '$') == NULL)<br>
-+ return vfprintf (stream, format, args);<br>
-+ else<br>
-+ {<br>
-+ size_t length;<br>
-+ char *result = libintl_vasnprintf (NULL, &length, format, args);<br>
-+ int retval = -1;<br>
-+ if (result != NULL)<br>
-+ {<br>
-+ if (fwrite (result, 1, length, stream) == length)<br>
-+ retval = length;<br>
-+ free (result);<br>
-+ }<br>
-+ return retval;<br>
-+ }<br>
-+}<br>
-+<br>
-+DLL_EXPORTED<br>
-+int<br>
-+libintl_fprintf (FILE *stream, const char *format, ...)<br>
-+{<br>
-+ va_list args;<br>
-+ int retval;<br>
-+<br>
-+ va_start (args, format);<br>
-+ retval = libintl_vfprintf (stream, format, args);<br>
-+ va_end (args);<br>
-+ return retval;<br>
-+}<br>
-+<br>
-+DLL_EXPORTED<br>
-+int<br>
-+libintl_vprintf (const char *format, va_list args)<br>
-+{<br>
-+ return libintl_vfprintf (stdout, format, args);<br>
-+}<br>
-+<br>
-+DLL_EXPORTED<br>
-+int<br>
-+libintl_printf (const char *format, ...)<br>
-+{<br>
-+ va_list args;<br>
-+ int retval;<br>
-+<br>
-+ va_start (args, format);<br>
-+ retval = libintl_vprintf (format, args);<br>
-+ va_end (args);<br>
-+ return retval;<br>
-+}<br>
-+<br>
-+DLL_EXPORTED<br>
-+int<br>
-+libintl_vsprintf (char *resultbuf, const char *format, va_list args)<br>
-+{<br>
-+ if (strchr (format, '$') == NULL)<br>
-+ return vsprintf (resultbuf, format, args);<br>
-+ else<br>
-+ {<br>
-+ size_t length = (size_t) ~0 / (4 * sizeof (char));<br>
-+ char *result = libintl_vasnprintf (resultbuf, &length, format, args);<br>
-+ if (result != resultbuf)<br>
-+ {<br>
-+ free (result);<br>
-+ return -1;<br>
-+ }<br>
-+ else<br>
-+ return length;<br>
-+ }<br>
-+}<br>
-+<br>
-+DLL_EXPORTED<br>
-+int<br>
-+libintl_sprintf (char *resultbuf, const char *format, ...)<br>
-+{<br>
-+ va_list args;<br>
-+ int retval;<br>
-+<br>
-+ va_start (args, format);<br>
-+ retval = libintl_vsprintf (resultbuf, format, args);<br>
-+ va_end (args);<br>
-+ return retval;<br>
-+}<br>
-+<br>
-+#if HAVE_SNPRINTF<br>
-+<br>
-+# if HAVE_DECL__SNPRINTF<br>
-+ /* Windows. */<br>
-+# define system_vsnprintf _vsnprintf<br>
-+# else<br>
-+ /* Unix. */<br>
-+# define system_vsnprintf vsnprintf<br>
-+# endif<br>
-+<br>
-+DLL_EXPORTED<br>
-+int<br>
-+libintl_vsnprintf (char *resultbuf, size_t length, const char *format, va_list args)<br>
-+{<br>
-+ if (strchr (format, '$') == NULL)<br>
-+ return system_vsnprintf (resultbuf, length, format, args);<br>
-+ else<br>
-+ {<br>
-+ size_t maxlength = length;<br>
-+ char *result = libintl_vasnprintf (resultbuf, &length, format, args);<br>
-+ if (result != resultbuf)<br>
-+ {<br>
-+ if (maxlength > 0)<br>
-+ {<br>
-+ if (length < maxlength)<br>
-+ abort ();<br>
-+ memcpy (resultbuf, result, maxlength - 1);<br>
-+ resultbuf[maxlength - 1] = '\0';<br>
-+ }<br>
-+ free (result);<br>
-+ return -1;<br>
-+ }<br>
-+ else<br>
-+ return length;<br>
-+ }<br>
-+}<br>
-+<br>
-+DLL_EXPORTED<br>
-+int<br>
-+libintl_snprintf (char *resultbuf, size_t length, const char *format, ...)<br>
-+{<br>
-+ va_list args;<br>
-+ int retval;<br>
-+<br>
-+ va_start (args, format);<br>
-+ retval = libintl_vsnprintf (resultbuf, length, format, args);<br>
-+ va_end (args);<br>
-+ return retval;<br>
-+}<br>
-+<br>
-+#endif<br>
-+<br>
-+#if HAVE_ASPRINTF<br>
-+<br>
-+DLL_EXPORTED<br>
-+int<br>
-+libintl_vasprintf (char **resultp, const char *format, va_list args)<br>
-+{<br>
-+ size_t length;<br>
-+ char *result = libintl_vasnprintf (NULL, &length, format, args);<br>
-+ if (result == NULL)<br>
-+ return -1;<br>
-+ *resultp = result;<br>
-+ return length;<br>
-+}<br>
-+<br>
-+DLL_EXPORTED<br>
-+int<br>
-+libintl_asprintf (char **resultp, const char *format, ...)<br>
-+{<br>
-+ va_list args;<br>
-+ int retval;<br>
-+<br>
-+ va_start (args, format);<br>
-+ retval = libintl_vasprintf (resultp, format, args);<br>
-+ va_end (args);<br>
-+ return retval;<br>
-+}<br>
-+<br>
-+#endif<br>
-+<br>
-+#if HAVE_FWPRINTF<br>
-+<br>
-+#include <wchar.h><br>
-+<br>
-+#define WIDE_CHAR_VERSION 1<br>
-+<br>
-+/* Define auxiliary functions declared in "wprintf-parse.h". */<br>
-+#include "printf-parse.c"<br>
-+<br>
-+/* Define functions declared in "vasnprintf.h". */<br>
-+#define vasnwprintf libintl_vasnwprintf<br>
-+#include "vasnprintf.c"<br>
-+#if 0 /* not needed */<br>
-+#define asnwprintf libintl_asnwprintf<br>
-+#include "asnprintf.c"<br>
-+#endif<br>
-+<br>
-+# if HAVE_DECL__SNWPRINTF<br>
-+ /* Windows. */<br>
-+# define system_vswprintf _vsnwprintf<br>
-+# else<br>
-+ /* Unix. */<br>
-+# define system_vswprintf vswprintf<br>
-+# endif<br>
-+<br>
-+DLL_EXPORTED<br>
-+int<br>
-+libintl_vfwprintf (FILE *stream, const wchar_t *format, va_list args)<br>
-+{<br>
-+ if (wcschr (format, '$') == NULL)<br>
-+ return vfwprintf (stream, format, args);<br>
-+ else<br>
-+ {<br>
-+ size_t length;<br>
-+ wchar_t *result = libintl_vasnwprintf (NULL, &length, format, args);<br>
-+ int retval = -1;<br>
-+ if (result != NULL)<br>
-+ {<br>
-+ size_t i;<br>
-+ for (i = 0; i < length; i++)<br>
-+ if (fputwc (result[i], stream) == WEOF)<br>
-+ break;<br>
-+ if (i == length)<br>
-+ retval = length;<br>
-+ free (result);<br>
-+ }<br>
-+ return retval;<br>
-+ }<br>
-+}<br>
-+<br>
-+DLL_EXPORTED<br>
-+int<br>
-+libintl_fwprintf (FILE *stream, const wchar_t *format, ...)<br>
-+{<br>
-+ va_list args;<br>
-+ int retval;<br>
-+<br>
-+ va_start (args, format);<br>
-+ retval = libintl_vfwprintf (stream, format, args);<br>
-+ va_end (args);<br>
-+ return retval;<br>
-+}<br>
-+<br>
-+DLL_EXPORTED<br>
-+int<br>
-+libintl_vwprintf (const wchar_t *format, va_list args)<br>
-+{<br>
-+ return libintl_vfwprintf (stdout, format, args);<br>
-+}<br>
-+<br>
-+DLL_EXPORTED<br>
-+int<br>
-+libintl_wprintf (const wchar_t *format, ...)<br>
-+{<br>
-+ va_list args;<br>
-+ int retval;<br>
-+<br>
-+ va_start (args, format);<br>
-+ retval = libintl_vwprintf (format, args);<br>
-+ va_end (args);<br>
-+ return retval;<br>
-+}<br>
-+<br>
-+DLL_EXPORTED<br>
-+int<br>
-+libintl_vswprintf (wchar_t *resultbuf, size_t length, const wchar_t *format, va_list args)<br>
-+{<br>
-+ if (wcschr (format, '$') == NULL)<br>
-+ return system_vswprintf (resultbuf, length, format, args);<br>
-+ else<br>
-+ {<br>
-+ size_t maxlength = length;<br>
-+ wchar_t *result = libintl_vasnwprintf (resultbuf, &length, format, args);<br>
-+ if (result != resultbuf)<br>
-+ {<br>
-+ if (maxlength > 0)<br>
-+ {<br>
-+ if (length < maxlength)<br>
-+ abort ();<br>
-+ memcpy (resultbuf, result, (maxlength - 1) * sizeof (wchar_t));<br>
-+ resultbuf[maxlength - 1] = 0;<br>
-+ }<br>
-+ free (result);<br>
-+ return -1;<br>
-+ }<br>
-+ else<br>
-+ return length;<br>
-+ }<br>
-+}<br>
-+<br>
-+DLL_EXPORTED<br>
-+int<br>
-+libintl_swprintf (wchar_t *resultbuf, size_t length, const wchar_t *format, ...)<br>
-+{<br>
-+ va_list args;<br>
-+ int retval;<br>
-+<br>
-+ va_start (args, format);<br>
-+ retval = libintl_vswprintf (resultbuf, length, format, args);<br>
-+ va_end (args);<br>
-+ return retval;<br>
-+}<br>
-+<br>
-+#endif<br>
-+<br>
-+#endif<br>
---- lrzsz-0.12.20.safe/intl/printf-parse.c 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/intl/printf-parse.c 2004-09-12 14:40:34.622707504 -0400<br>
-@@ -0,0 +1,537 @@<br>
-+/* Formatted output to strings.<br>
-+ Copyright (C) 1999-2000, 2002-2003 Free Software Foundation, Inc.<br>
-+<br>
-+ This program is free software; you can redistribute it and/or modify it<br>
-+ under the terms of the GNU Library General Public License as published<br>
-+ by the Free Software Foundation; either version 2, or (at your option)<br>
-+ any later version.<br>
-+<br>
-+ This program is distributed in the hope that it will be useful,<br>
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-+ Library General Public License for more details.<br>
-+<br>
-+ You should have received a copy of the GNU Library General Public<br>
-+ License along with this program; if not, write to the Free Software<br>
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,<br>
-+ USA. */<br>
-+<br>
-+#ifdef HAVE_CONFIG_H<br>
-+# include <config.h><br>
-+#endif<br>
-+<br>
-+/* Specification. */<br>
-+#if WIDE_CHAR_VERSION<br>
-+# include "wprintf-parse.h"<br>
-+#else<br>
-+# include "printf-parse.h"<br>
-+#endif<br>
-+<br>
-+/* Get size_t, NULL. */<br>
-+#include <stddef.h><br>
-+<br>
-+/* Get intmax_t. */<br>
-+#if HAVE_STDINT_H_WITH_UINTMAX<br>
-+# include <stdint.h><br>
-+#endif<br>
-+#if HAVE_INTTYPES_H_WITH_UINTMAX<br>
-+# include <inttypes.h><br>
-+#endif<br>
-+<br>
-+/* malloc(), realloc(), free(). */<br>
-+#include <stdlib.h><br>
-+<br>
-+/* Checked size_t computations. */<br>
-+#include "xsize.h"<br>
-+<br>
-+#if WIDE_CHAR_VERSION<br>
-+# define PRINTF_PARSE wprintf_parse<br>
-+# define CHAR_T wchar_t<br>
-+# define DIRECTIVE wchar_t_directive<br>
-+# define DIRECTIVES wchar_t_directives<br>
-+#else<br>
-+# define PRINTF_PARSE printf_parse<br>
-+# define CHAR_T char<br>
-+# define DIRECTIVE char_directive<br>
-+# define DIRECTIVES char_directives<br>
-+#endif<br>
-+<br>
-+#ifdef STATIC<br>
-+STATIC<br>
-+#endif<br>
-+int<br>
-+PRINTF_PARSE (const CHAR_T *format, DIRECTIVES *d, arguments *a)<br>
-+{<br>
-+ const CHAR_T *cp = format; /* pointer into format */<br>
-+ size_t arg_posn = 0; /* number of regular arguments consumed */<br>
-+ size_t d_allocated; /* allocated elements of d->dir */<br>
-+ size_t a_allocated; /* allocated elements of a->arg */<br>
-+ size_t max_width_length = 0;<br>
-+ size_t max_precision_length = 0;<br>
-+<br>
-+ d->count = 0;<br>
-+ d_allocated = 1;<br>
-+ d->dir = malloc (d_allocated * sizeof (DIRECTIVE));<br>
-+ if (d->dir == NULL)<br>
-+ /* Out of memory. */<br>
-+ return -1;<br>
-+<br>
-+ a->count = 0;<br>
-+ a_allocated = 0;<br>
-+ a->arg = NULL;<br>
-+<br>
-+#define REGISTER_ARG(_index_,_type_) \<br>
-+ { \<br>
-+ size_t n = (_index_); \<br>
-+ if (n >= a_allocated) \<br>
-+ { \<br>
-+ size_t memory_size; \<br>
-+ argument *memory; \<br>
-+ \<br>
-+ a_allocated = xtimes (a_allocated, 2); \<br>
-+ if (a_allocated <= n) \<br>
-+ a_allocated = xsum (n, 1); \<br>
-+ memory_size = xtimes (a_allocated, sizeof (argument)); \<br>
-+ if (size_overflow_p (memory_size)) \<br>
-+ /* Overflow, would lead to out of memory. */ \<br>
-+ goto error; \<br>
-+ memory = (a->arg \<br>
-+ ? realloc (a->arg, memory_size) \<br>
-+ : malloc (memory_size)); \<br>
-+ if (memory == NULL) \<br>
-+ /* Out of memory. */ \<br>
-+ goto error; \<br>
-+ a->arg = memory; \<br>
-+ } \<br>
-+ while (a->count <= n) \<br>
-+ a->arg[a->count++].type = TYPE_NONE; \<br>
-+ if (a->arg[n].type == TYPE_NONE) \<br>
-+ a->arg[n].type = (_type_); \<br>
-+ else if (a->arg[n].type != (_type_)) \<br>
-+ /* Ambiguous type for positional argument. */ \<br>
-+ goto error; \<br>
-+ }<br>
-+<br>
-+ while (*cp != '\0')<br>
-+ {<br>
-+ CHAR_T c = *cp++;<br>
-+ if (c == '%')<br>
-+ {<br>
-+ size_t arg_index = ARG_NONE;<br>
-+ DIRECTIVE *dp = &d->dir[d->count];/* pointer to next directive */<br>
-+<br>
-+ /* Initialize the next directive. */<br>
-+ dp->dir_start = cp - 1;<br>
-+ dp->flags = 0;<br>
-+ dp->width_start = NULL;<br>
-+ dp->width_end = NULL;<br>
-+ dp->width_arg_index = ARG_NONE;<br>
-+ dp->precision_start = NULL;<br>
-+ dp->precision_end = NULL;<br>
-+ dp->precision_arg_index = ARG_NONE;<br>
-+ dp->arg_index = ARG_NONE;<br>
-+<br>
-+ /* Test for positional argument. */<br>
-+ if (*cp >= '0' && *cp <= '9')<br>
-+ {<br>
-+ const CHAR_T *np;<br>
-+<br>
-+ for (np = cp; *np >= '0' && *np <= '9'; np++)<br>
-+ ;<br>
-+ if (*np == '$')<br>
-+ {<br>
-+ size_t n = 0;<br>
-+<br>
-+ for (np = cp; *np >= '0' && *np <= '9'; np++)<br>
-+ n = xsum (xtimes (n, 10), *np - '0');<br>
-+ if (n == 0)<br>
-+ /* Positional argument 0. */<br>
-+ goto error;<br>
-+ if (size_overflow_p (n))<br>
-+ /* n too large, would lead to out of memory later. */<br>
-+ goto error;<br>
-+ arg_index = n - 1;<br>
-+ cp = np + 1;<br>
-+ }<br>
-+ }<br>
-+<br>
-+ /* Read the flags. */<br>
-+ for (;;)<br>
-+ {<br>
-+ if (*cp == '\'')<br>
-+ {<br>
-+ dp->flags |= FLAG_GROUP;<br>
-+ cp++;<br>
-+ }<br>
-+ else if (*cp == '-')<br>
-+ {<br>
-+ dp->flags |= FLAG_LEFT;<br>
-+ cp++;<br>
-+ }<br>
-+ else if (*cp == '+')<br>
-+ {<br>
-+ dp->flags |= FLAG_SHOWSIGN;<br>
-+ cp++;<br>
-+ }<br>
-+ else if (*cp == ' ')<br>
-+ {<br>
-+ dp->flags |= FLAG_SPACE;<br>
-+ cp++;<br>
-+ }<br>
-+ else if (*cp == '#')<br>
-+ {<br>
-+ dp->flags |= FLAG_ALT;<br>
-+ cp++;<br>
-+ }<br>
-+ else if (*cp == '0')<br>
-+ {<br>
-+ dp->flags |= FLAG_ZERO;<br>
-+ cp++;<br>
-+ }<br>
-+ else<br>
-+ break;<br>
-+ }<br>
-+<br>
-+ /* Parse the field width. */<br>
-+ if (*cp == '*')<br>
-+ {<br>
-+ dp->width_start = cp;<br>
-+ cp++;<br>
-+ dp->width_end = cp;<br>
-+ if (max_width_length < 1)<br>
-+ max_width_length = 1;<br>
-+<br>
-+ /* Test for positional argument. */<br>
-+ if (*cp >= '0' && *cp <= '9')<br>
-+ {<br>
-+ const CHAR_T *np;<br>
-+<br>
-+ for (np = cp; *np >= '0' && *np <= '9'; np++)<br>
-+ ;<br>
-+ if (*np == '$')<br>
-+ {<br>
-+ size_t n = 0;<br>
-+<br>
-+ for (np = cp; *np >= '0' && *np <= '9'; np++)<br>
-+ n = xsum (xtimes (n, 10), *np - '0');<br>
-+ if (n == 0)<br>
-+ /* Positional argument 0. */<br>
-+ goto error;<br>
-+ if (size_overflow_p (n))<br>
-+ /* n too large, would lead to out of memory later. */<br>
-+ goto error;<br>
-+ dp->width_arg_index = n - 1;<br>
-+ cp = np + 1;<br>
-+ }<br>
-+ }<br>
-+ if (dp->width_arg_index == ARG_NONE)<br>
-+ {<br>
-+ dp->width_arg_index = arg_posn++;<br>
-+ if (dp->width_arg_index == ARG_NONE)<br>
-+ /* arg_posn wrapped around. */<br>
-+ goto error;<br>
-+ }<br>
-+ REGISTER_ARG (dp->width_arg_index, TYPE_INT);<br>
-+ }<br>
-+ else if (*cp >= '0' && *cp <= '9')<br>
-+ {<br>
-+ size_t width_length;<br>
-+<br>
-+ dp->width_start = cp;<br>
-+ for (; *cp >= '0' && *cp <= '9'; cp++)<br>
-+ ;<br>
-+ dp->width_end = cp;<br>
-+ width_length = dp->width_end - dp->width_start;<br>
-+ if (max_width_length < width_length)<br>
-+ max_width_length = width_length;<br>
-+ }<br>
-+<br>
-+ /* Parse the precision. */<br>
-+ if (*cp == '.')<br>
-+ {<br>
-+ cp++;<br>
-+ if (*cp == '*')<br>
-+ {<br>
-+ dp->precision_start = cp - 1;<br>
-+ cp++;<br>
-+ dp->precision_end = cp;<br>
-+ if (max_precision_length < 2)<br>
-+ max_precision_length = 2;<br>
-+<br>
-+ /* Test for positional argument. */<br>
-+ if (*cp >= '0' && *cp <= '9')<br>
-+ {<br>
-+ const CHAR_T *np;<br>
-+<br>
-+ for (np = cp; *np >= '0' && *np <= '9'; np++)<br>
-+ ;<br>
-+ if (*np == '$')<br>
-+ {<br>
-+ size_t n = 0;<br>
-+<br>
-+ for (np = cp; *np >= '0' && *np <= '9'; np++)<br>
-+ n = xsum (xtimes (n, 10), *np - '0');<br>
-+ if (n == 0)<br>
-+ /* Positional argument 0. */<br>
-+ goto error;<br>
-+ if (size_overflow_p (n))<br>
-+ /* n too large, would lead to out of memory<br>
-+ later. */<br>
-+ goto error;<br>
-+ dp->precision_arg_index = n - 1;<br>
-+ cp = np + 1;<br>
-+ }<br>
-+ }<br>
-+ if (dp->precision_arg_index == ARG_NONE)<br>
-+ {<br>
-+ dp->precision_arg_index = arg_posn++;<br>
-+ if (dp->precision_arg_index == ARG_NONE)<br>
-+ /* arg_posn wrapped around. */<br>
-+ goto error;<br>
-+ }<br>
-+ REGISTER_ARG (dp->precision_arg_index, TYPE_INT);<br>
-+ }<br>
-+ else<br>
-+ {<br>
-+ size_t precision_length;<br>
-+<br>
-+ dp->precision_start = cp - 1;<br>
-+ for (; *cp >= '0' && *cp <= '9'; cp++)<br>
-+ ;<br>
-+ dp->precision_end = cp;<br>
-+ precision_length = dp->precision_end - dp->precision_start;<br>
-+ if (max_precision_length < precision_length)<br>
-+ max_precision_length = precision_length;<br>
-+ }<br>
-+ }<br>
-+<br>
-+ {<br>
-+ arg_type type;<br>
-+<br>
-+ /* Parse argument type/size specifiers. */<br>
-+ {<br>
-+ int flags = 0;<br>
-+<br>
-+ for (;;)<br>
-+ {<br>
-+ if (*cp == 'h')<br>
-+ {<br>
-+ flags |= (1 << (flags & 1));<br>
-+ cp++;<br>
-+ }<br>
-+ else if (*cp == 'L')<br>
-+ {<br>
-+ flags |= 4;<br>
-+ cp++;<br>
-+ }<br>
-+ else if (*cp == 'l')<br>
-+ {<br>
-+ flags += 8;<br>
-+ cp++;<br>
-+ }<br>
-+#ifdef HAVE_INTMAX_T<br>
-+ else if (*cp == 'j')<br>
-+ {<br>
-+ if (sizeof (intmax_t) > sizeof (long))<br>
-+ {<br>
-+ /* intmax_t = long long */<br>
-+ flags += 16;<br>
-+ }<br>
-+ else if (sizeof (intmax_t) > sizeof (int))<br>
-+ {<br>
-+ /* intmax_t = long */<br>
-+ flags += 8;<br>
-+ }<br>
-+ cp++;<br>
-+ }<br>
-+#endif<br>
-+ else if (*cp == 'z' || *cp == 'Z')<br>
-+ {<br>
-+ /* 'z' is standardized in ISO C 99, but glibc uses 'Z'<br>
-+ because the warning facility in gcc-2.95.2 understands<br>
-+ only 'Z' (see gcc-2.95.2/gcc/c-common.c:1784). */<br>
-+ if (sizeof (size_t) > sizeof (long))<br>
-+ {<br>
-+ /* size_t = long long */<br>
-+ flags += 16;<br>
-+ }<br>
-+ else if (sizeof (size_t) > sizeof (int))<br>
-+ {<br>
-+ /* size_t = long */<br>
-+ flags += 8;<br>
-+ }<br>
-+ cp++;<br>
-+ }<br>
-+ else if (*cp == 't')<br>
-+ {<br>
-+ if (sizeof (ptrdiff_t) > sizeof (long))<br>
-+ {<br>
-+ /* ptrdiff_t = long long */<br>
-+ flags += 16;<br>
-+ }<br>
-+ else if (sizeof (ptrdiff_t) > sizeof (int))<br>
-+ {<br>
-+ /* ptrdiff_t = long */<br>
-+ flags += 8;<br>
-+ }<br>
-+ cp++;<br>
-+ }<br>
-+ else<br>
-+ break;<br>
-+ }<br>
-+<br>
-+ /* Read the conversion character. */<br>
-+ c = *cp++;<br>
-+ switch (c)<br>
-+ {<br>
-+ case 'd': case 'i':<br>
-+#ifdef HAVE_LONG_LONG<br>
-+ if (flags >= 16 || (flags & 4))<br>
-+ type = TYPE_LONGLONGINT;<br>
-+ else<br>
-+#endif<br>
-+ if (flags >= 8)<br>
-+ type = TYPE_LONGINT;<br>
-+ else if (flags & 2)<br>
-+ type = TYPE_SCHAR;<br>
-+ else if (flags & 1)<br>
-+ type = TYPE_SHORT;<br>
-+ else<br>
-+ type = TYPE_INT;<br>
-+ break;<br>
-+ case 'o': case 'u': case 'x': case 'X':<br>
-+#ifdef HAVE_LONG_LONG<br>
-+ if (flags >= 16 || (flags & 4))<br>
-+ type = TYPE_ULONGLONGINT;<br>
-+ else<br>
-+#endif<br>
-+ if (flags >= 8)<br>
-+ type = TYPE_ULONGINT;<br>
-+ else if (flags & 2)<br>
-+ type = TYPE_UCHAR;<br>
-+ else if (flags & 1)<br>
-+ type = TYPE_USHORT;<br>
-+ else<br>
-+ type = TYPE_UINT;<br>
-+ break;<br>
-+ case 'f': case 'F': case 'e': case 'E': case 'g': case 'G':<br>
-+ case 'a': case 'A':<br>
-+#ifdef HAVE_LONG_DOUBLE<br>
-+ if (flags >= 16 || (flags & 4))<br>
-+ type = TYPE_LONGDOUBLE;<br>
-+ else<br>
-+#endif<br>
-+ type = TYPE_DOUBLE;<br>
-+ break;<br>
-+ case 'c':<br>
-+ if (flags >= 8)<br>
-+#ifdef HAVE_WINT_T<br>
-+ type = TYPE_WIDE_CHAR;<br>
-+#else<br>
-+ goto error;<br>
-+#endif<br>
-+ else<br>
-+ type = TYPE_CHAR;<br>
-+ break;<br>
-+#ifdef HAVE_WINT_T<br>
-+ case 'C':<br>
-+ type = TYPE_WIDE_CHAR;<br>
-+ c = 'c';<br>
-+ break;<br>
-+#endif<br>
-+ case 's':<br>
-+ if (flags >= 8)<br>
-+#ifdef HAVE_WCHAR_T<br>
-+ type = TYPE_WIDE_STRING;<br>
-+#else<br>
-+ goto error;<br>
-+#endif<br>
-+ else<br>
-+ type = TYPE_STRING;<br>
-+ break;<br>
-+#ifdef HAVE_WCHAR_T<br>
-+ case 'S':<br>
-+ type = TYPE_WIDE_STRING;<br>
-+ c = 's';<br>
-+ break;<br>
-+#endif<br>
-+ case 'p':<br>
-+ type = TYPE_POINTER;<br>
-+ break;<br>
-+ case 'n':<br>
-+#ifdef HAVE_LONG_LONG<br>
-+ if (flags >= 16 || (flags & 4))<br>
-+ type = TYPE_COUNT_LONGLONGINT_POINTER;<br>
-+ else<br>
-+#endif<br>
-+ if (flags >= 8)<br>
-+ type = TYPE_COUNT_LONGINT_POINTER;<br>
-+ else if (flags & 2)<br>
-+ type = TYPE_COUNT_SCHAR_POINTER;<br>
-+ else if (flags & 1)<br>
-+ type = TYPE_COUNT_SHORT_POINTER;<br>
-+ else<br>
-+ type = TYPE_COUNT_INT_POINTER;<br>
-+ break;<br>
-+ case '%':<br>
-+ type = TYPE_NONE;<br>
-+ break;<br>
-+ default:<br>
-+ /* Unknown conversion character. */<br>
-+ goto error;<br>
-+ }<br>
-+ }<br>
-+<br>
-+ if (type != TYPE_NONE)<br>
-+ {<br>
-+ dp->arg_index = arg_index;<br>
-+ if (dp->arg_index == ARG_NONE)<br>
-+ {<br>
-+ dp->arg_index = arg_posn++;<br>
-+ if (dp->arg_index == ARG_NONE)<br>
-+ /* arg_posn wrapped around. */<br>
-+ goto error;<br>
-+ }<br>
-+ REGISTER_ARG (dp->arg_index, type);<br>
-+ }<br>
-+ dp->conversion = c;<br>
-+ dp->dir_end = cp;<br>
-+ }<br>
-+<br>
-+ d->count++;<br>
-+ if (d->count >= d_allocated)<br>
-+ {<br>
-+ size_t memory_size;<br>
-+ DIRECTIVE *memory;<br>
-+<br>
-+ d_allocated = xtimes (d_allocated, 2);<br>
-+ memory_size = xtimes (d_allocated, sizeof (DIRECTIVE));<br>
-+ if (size_overflow_p (memory_size))<br>
-+ /* Overflow, would lead to out of memory. */<br>
-+ goto error;<br>
-+ memory = realloc (d->dir, memory_size);<br>
-+ if (memory == NULL)<br>
-+ /* Out of memory. */<br>
-+ goto error;<br>
-+ d->dir = memory;<br>
-+ }<br>
-+ }<br>
-+ }<br>
-+ d->dir[d->count].dir_start = cp;<br>
-+<br>
-+ d->max_width_length = max_width_length;<br>
-+ d->max_precision_length = max_precision_length;<br>
-+ return 0;<br>
-+<br>
-+error:<br>
-+ if (a->arg)<br>
-+ free (a->arg);<br>
-+ if (d->dir)<br>
-+ free (d->dir);<br>
-+ return -1;<br>
-+}<br>
-+<br>
-+#undef DIRECTIVES<br>
-+#undef DIRECTIVE<br>
-+#undef CHAR_T<br>
-+#undef PRINTF_PARSE<br>
---- lrzsz-0.12.20.safe/intl/printf-parse.h 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/intl/printf-parse.h 2004-09-12 14:40:34.628706592 -0400<br>
-@@ -0,0 +1,75 @@<br>
-+/* Parse printf format string.<br>
-+ Copyright (C) 1999, 2002-2003 Free Software Foundation, Inc.<br>
-+<br>
-+ This program is free software; you can redistribute it and/or modify it<br>
-+ under the terms of the GNU Library General Public License as published<br>
-+ by the Free Software Foundation; either version 2, or (at your option)<br>
-+ any later version.<br>
-+<br>
-+ This program is distributed in the hope that it will be useful,<br>
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-+ Library General Public License for more details.<br>
-+<br>
-+ You should have received a copy of the GNU Library General Public<br>
-+ License along with this program; if not, write to the Free Software<br>
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,<br>
-+ USA. */<br>
-+<br>
-+#ifndef _PRINTF_PARSE_H<br>
-+#define _PRINTF_PARSE_H<br>
-+<br>
-+#include "printf-args.h"<br>
-+<br>
-+<br>
-+/* Flags */<br>
-+#define FLAG_GROUP 1 /* ' flag */<br>
-+#define FLAG_LEFT 2 /* - flag */<br>
-+#define FLAG_SHOWSIGN 4 /* + flag */<br>
-+#define FLAG_SPACE 8 /* space flag */<br>
-+#define FLAG_ALT 16 /* # flag */<br>
-+#define FLAG_ZERO 32<br>
-+<br>
-+/* arg_index value indicating that no argument is consumed. */<br>
-+#define ARG_NONE (~(size_t)0)<br>
-+<br>
-+/* A parsed directive. */<br>
-+typedef struct<br>
-+{<br>
-+ const char* dir_start;<br>
-+ const char* dir_end;<br>
-+ int flags;<br>
-+ const char* width_start;<br>
-+ const char* width_end;<br>
-+ size_t width_arg_index;<br>
-+ const char* precision_start;<br>
-+ const char* precision_end;<br>
-+ size_t precision_arg_index;<br>
-+ char conversion; /* d i o u x X f e E g G c s p n U % but not C S */<br>
-+ size_t arg_index;<br>
-+}<br>
-+char_directive;<br>
-+<br>
-+/* A parsed format string. */<br>
-+typedef struct<br>
-+{<br>
-+ size_t count;<br>
-+ char_directive *dir;<br>
-+ size_t max_width_length;<br>
-+ size_t max_precision_length;<br>
-+}<br>
-+char_directives;<br>
-+<br>
-+<br>
-+/* Parses the format string. Fills in the number N of directives, and fills<br>
-+ in directives[0], ..., directives[N-1], and sets directives[N].dir_start<br>
-+ to the end of the format string. Also fills in the arg_type fields of the<br>
-+ arguments and the needed count of arguments. */<br>
-+#ifdef STATIC<br>
-+STATIC<br>
-+#else<br>
-+extern<br>
-+#endif<br>
-+int printf_parse (const char *format, char_directives *d, arguments *a);<br>
-+<br>
-+#endif /* _PRINTF_PARSE_H */<br>
---- lrzsz-0.12.20.safe/intl/ref-add.sin 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/intl/ref-add.sin 2004-09-12 14:40:34.633705832 -0400<br>
-@@ -0,0 +1,31 @@<br>
-+# Add this package to a list of references stored in a text file.<br>
-+#<br>
-+# Copyright (C) 2000 Free Software Foundation, Inc.<br>
-+#<br>
-+# This program is free software; you can redistribute it and/or modify it<br>
-+# under the terms of the GNU Library General Public License as published<br>
-+# by the Free Software Foundation; either version 2, or (at your option)<br>
-+# any later version.<br>
-+#<br>
-+# This program is distributed in the hope that it will be useful,<br>
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-+# Library General Public License for more details.<br>
-+#<br>
-+# You should have received a copy of the GNU Library General Public<br>
-+# License along with this program; if not, write to the Free Software<br>
-+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,<br>
-+# USA.<br>
-+#<br>
-+# Written by Bruno Haible <<a href="mailto:haible@clisp.cons.org" target="_blank">haible@clisp.cons.org</a>>.<br>
-+#<br>
-+/^# Packages using this file: / {<br>
-+ s/# Packages using this file://<br>
-+ ta<br>
-+ :a<br>
-+ s/ @PACKAGE@ / @PACKAGE@ /<br>
-+ tb<br>
-+ s/ $/ @PACKAGE@ /<br>
-+ :b<br>
-+ s/^/# Packages using this file:/<br>
-+}<br>
---- lrzsz-0.12.20.safe/intl/ref-del.sin 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/intl/ref-del.sin 2004-09-12 14:40:34.638705072 -0400<br>
-@@ -0,0 +1,26 @@<br>
-+# Remove this package from a list of references stored in a text file.<br>
-+#<br>
-+# Copyright (C) 2000 Free Software Foundation, Inc.<br>
-+#<br>
-+# This program is free software; you can redistribute it and/or modify it<br>
-+# under the terms of the GNU Library General Public License as published<br>
-+# by the Free Software Foundation; either version 2, or (at your option)<br>
-+# any later version.<br>
-+#<br>
-+# This program is distributed in the hope that it will be useful,<br>
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-+# Library General Public License for more details.<br>
-+#<br>
-+# You should have received a copy of the GNU Library General Public<br>
-+# License along with this program; if not, write to the Free Software<br>
-+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,<br>
-+# USA.<br>
-+#<br>
-+# Written by Bruno Haible <<a href="mailto:haible@clisp.cons.org" target="_blank">haible@clisp.cons.org</a>>.<br>
-+#<br>
-+/^# Packages using this file: / {<br>
-+ s/# Packages using this file://<br>
-+ s/ @PACKAGE@ / /<br>
-+ s/^/# Packages using this file:/<br>
-+}<br>
---- lrzsz-0.12.20.safe/intl/relocatable.c 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/intl/relocatable.c 2004-09-12 14:40:34.644704160 -0400<br>
-@@ -0,0 +1,449 @@<br>
-+/* Provide relocatable packages.<br>
-+ Copyright (C) 2003 Free Software Foundation, Inc.<br>
-+ Written by Bruno Haible <<a href="mailto:bruno@clisp.org" target="_blank">bruno@clisp.org</a>>, 2003.<br>
-+<br>
-+ This program is free software; you can redistribute it and/or modify it<br>
-+ under the terms of the GNU Library General Public License as published<br>
-+ by the Free Software Foundation; either version 2, or (at your option)<br>
-+ any later version.<br>
-+<br>
-+ This program is distributed in the hope that it will be useful,<br>
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-+ Library General Public License for more details.<br>
-+<br>
-+ You should have received a copy of the GNU Library General Public<br>
-+ License along with this program; if not, write to the Free Software<br>
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,<br>
-+ USA. */<br>
-+<br>
-+<br>
-+/* Tell glibc's <stdio.h> to provide a prototype for getline().<br>
-+ This must come before <config.h> because <config.h> may include<br>
-+ <features.h>, and once <features.h> has been included, it's too late. */<br>
-+#ifndef _GNU_SOURCE<br>
-+# define _GNU_SOURCE 1<br>
-+#endif<br>
-+<br>
-+#ifdef HAVE_CONFIG_H<br>
-+# include "config.h"<br>
-+#endif<br>
-+<br>
-+/* Specification. */<br>
-+#include "relocatable.h"<br>
-+<br>
-+#if ENABLE_RELOCATABLE<br>
-+<br>
-+#include <stddef.h><br>
-+#include <stdio.h><br>
-+#include <stdlib.h><br>
-+#include <string.h><br>
-+<br>
-+#ifdef NO_XMALLOC<br>
-+# define xmalloc malloc<br>
-+#else<br>
-+# include "xalloc.h"<br>
-+#endif<br>
-+<br>
-+#if defined _WIN32 || defined __WIN32__<br>
-+# define WIN32_LEAN_AND_MEAN<br>
-+# include <windows.h><br>
-+#endif<br>
-+<br>
-+#if DEPENDS_ON_LIBCHARSET<br>
-+# include <libcharset.h><br>
-+#endif<br>
-+#if DEPENDS_ON_LIBICONV && HAVE_ICONV<br>
-+# include <iconv.h><br>
-+#endif<br>
-+#if DEPENDS_ON_LIBINTL && ENABLE_NLS<br>
-+# include <libintl.h><br>
-+#endif<br>
-+<br>
-+/* Faked cheap 'bool'. */<br>
-+#undef bool<br>
-+#undef false<br>
-+#undef true<br>
-+#define bool int<br>
-+#define false 0<br>
-+#define true 1<br>
-+<br>
-+/* Pathname support.<br>
-+ ISSLASH(C) tests whether C is a directory separator character.<br>
-+ IS_PATH_WITH_DIR(P) tests whether P contains a directory specification.<br>
-+ */<br>
-+#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__<br>
-+ /* Win32, OS/2, DOS */<br>
-+# define ISSLASH(C) ((C) == '/' || (C) == '\\')<br>
-+# define HAS_DEVICE(P) \<br>
-+ ((((P)[0] >= 'A' && (P)[0] <= 'Z') || ((P)[0] >= 'a' && (P)[0] <= 'z')) \<br>
-+ && (P)[1] == ':')<br>
-+# define IS_PATH_WITH_DIR(P) \<br>
-+ (strchr (P, '/') != NULL || strchr (P, '\\') != NULL || HAS_DEVICE (P))<br>
-+# define FILESYSTEM_PREFIX_LEN(P) (HAS_DEVICE (P) ? 2 : 0)<br>
-+#else<br>
-+ /* Unix */<br>
-+# define ISSLASH(C) ((C) == '/')<br>
-+# define IS_PATH_WITH_DIR(P) (strchr (P, '/') != NULL)<br>
-+# define FILESYSTEM_PREFIX_LEN(P) 0<br>
-+#endif<br>
-+<br>
-+/* Original installation prefix. */<br>
-+static char *orig_prefix;<br>
-+static size_t orig_prefix_len;<br>
-+/* Current installation prefix. */<br>
-+static char *curr_prefix;<br>
-+static size_t curr_prefix_len;<br>
-+/* These prefixes do not end in a slash. Anything that will be concatenated<br>
-+ to them must start with a slash. */<br>
-+<br>
-+/* Sets the original and the current installation prefix of this module.<br>
-+ Relocation simply replaces a pathname starting with the original prefix<br>
-+ by the corresponding pathname with the current prefix instead. Both<br>
-+ prefixes should be directory names without trailing slash (i.e. use ""<br>
-+ instead of "/"). */<br>
-+static void<br>
-+set_this_relocation_prefix (const char *orig_prefix_arg,<br>
-+ const char *curr_prefix_arg)<br>
-+{<br>
-+ if (orig_prefix_arg != NULL && curr_prefix_arg != NULL<br>
-+ /* Optimization: if orig_prefix and curr_prefix are equal, the<br>
-+ relocation is a nop. */<br>
-+ && strcmp (orig_prefix_arg, curr_prefix_arg) != 0)<br>
-+ {<br>
-+ /* Duplicate the argument strings. */<br>
-+ char *memory;<br>
-+<br>
-+ orig_prefix_len = strlen (orig_prefix_arg);<br>
-+ curr_prefix_len = strlen (curr_prefix_arg);<br>
-+ memory = (char *) xmalloc (orig_prefix_len + 1 + curr_prefix_len + 1);<br>
-+#ifdef NO_XMALLOC<br>
-+ if (memory != NULL)<br>
-+#endif<br>
-+ {<br>
-+ memcpy (memory, orig_prefix_arg, orig_prefix_len + 1);<br>
-+ orig_prefix = memory;<br>
-+ memory += orig_prefix_len + 1;<br>
-+ memcpy (memory, curr_prefix_arg, curr_prefix_len + 1);<br>
-+ curr_prefix = memory;<br>
-+ return;<br>
-+ }<br>
-+ }<br>
-+ orig_prefix = NULL;<br>
-+ curr_prefix = NULL;<br>
-+ /* Don't worry about wasted memory here - this function is usually only<br>
-+ called once. */<br>
-+}<br>
-+<br>
-+/* Sets the original and the current installation prefix of the package.<br>
-+ Relocation simply replaces a pathname starting with the original prefix<br>
-+ by the corresponding pathname with the current prefix instead. Both<br>
-+ prefixes should be directory names without trailing slash (i.e. use ""<br>
-+ instead of "/"). */<br>
-+void<br>
-+set_relocation_prefix (const char *orig_prefix_arg, const char *curr_prefix_arg)<br>
-+{<br>
-+ set_this_relocation_prefix (orig_prefix_arg, curr_prefix_arg);<br>
-+<br>
-+ /* Now notify all dependent libraries. */<br>
-+#if DEPENDS_ON_LIBCHARSET<br>
-+ libcharset_set_relocation_prefix (orig_prefix_arg, curr_prefix_arg);<br>
-+#endif<br>
-+#if DEPENDS_ON_LIBICONV && HAVE_ICONV && _LIBICONV_VERSION >= 0x0109<br>
-+ libiconv_set_relocation_prefix (orig_prefix_arg, curr_prefix_arg);<br>
-+#endif<br>
-+#if DEPENDS_ON_LIBINTL && ENABLE_NLS && defined libintl_set_relocation_prefix<br>
-+ libintl_set_relocation_prefix (orig_prefix_arg, curr_prefix_arg);<br>
-+#endif<br>
-+}<br>
-+<br>
-+#if !defined IN_LIBRARY || (defined PIC && defined INSTALLDIR)<br>
-+<br>
-+/* Convenience function:<br>
-+ Computes the current installation prefix, based on the original<br>
-+ installation prefix, the original installation directory of a particular<br>
-+ file, and the current pathname of this file. Returns NULL upon failure. */<br>
-+#ifdef IN_LIBRARY<br>
-+#define compute_curr_prefix local_compute_curr_prefix<br>
-+static<br>
-+#endif<br>
-+const char *<br>
-+compute_curr_prefix (const char *orig_installprefix,<br>
-+ const char *orig_installdir,<br>
-+ const char *curr_pathname)<br>
-+{<br>
-+ const char *curr_installdir;<br>
-+ const char *rel_installdir;<br>
-+<br>
-+ if (curr_pathname == NULL)<br>
-+ return NULL;<br>
-+<br>
-+ /* Determine the relative installation directory, relative to the prefix.<br>
-+ This is simply the difference between orig_installprefix and<br>
-+ orig_installdir. */<br>
-+ if (strncmp (orig_installprefix, orig_installdir, strlen (orig_installprefix))<br>
-+ != 0)<br>
-+ /* Shouldn't happen - nothing should be installed outside $(prefix). */<br>
-+ return NULL;<br>
-+ rel_installdir = orig_installdir + strlen (orig_installprefix);<br>
-+<br>
-+ /* Determine the current installation directory. */<br>
-+ {<br>
-+ const char *p_base = curr_pathname + FILESYSTEM_PREFIX_LEN (curr_pathname);<br>
-+ const char *p = curr_pathname + strlen (curr_pathname);<br>
-+ char *q;<br>
-+<br>
-+ while (p > p_base)<br>
-+ {<br>
-+ p--;<br>
-+ if (ISSLASH (*p))<br>
-+ break;<br>
-+ }<br>
-+<br>
-+ q = (char *) xmalloc (p - curr_pathname + 1);<br>
-+#ifdef NO_XMALLOC<br>
-+ if (q == NULL)<br>
-+ return NULL;<br>
-+#endif<br>
-+ memcpy (q, curr_pathname, p - curr_pathname);<br>
-+ q[p - curr_pathname] = '\0';<br>
-+ curr_installdir = q;<br>
-+ }<br>
-+<br>
-+ /* Compute the current installation prefix by removing the trailing<br>
-+ rel_installdir from it. */<br>
-+ {<br>
-+ const char *rp = rel_installdir + strlen (rel_installdir);<br>
-+ const char *cp = curr_installdir + strlen (curr_installdir);<br>
-+ const char *cp_base =<br>
-+ curr_installdir + FILESYSTEM_PREFIX_LEN (curr_installdir);<br>
-+<br>
-+ while (rp > rel_installdir && cp > cp_base)<br>
-+ {<br>
-+ bool same = false;<br>
-+ const char *rpi = rp;<br>
-+ const char *cpi = cp;<br>
-+<br>
-+ while (rpi > rel_installdir && cpi > cp_base)<br>
-+ {<br>
-+ rpi--;<br>
-+ cpi--;<br>
-+ if (ISSLASH (*rpi) || ISSLASH (*cpi))<br>
-+ {<br>
-+ if (ISSLASH (*rpi) && ISSLASH (*cpi))<br>
-+ same = true;<br>
-+ break;<br>
-+ }<br>
-+#if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__<br>
-+ /* Win32, OS/2, DOS - case insignificant filesystem */<br>
-+ if ((*rpi >= 'a' && *rpi <= 'z' ? *rpi - 'a' + 'A' : *rpi)<br>
-+ != (*cpi >= 'a' && *cpi <= 'z' ? *cpi - 'a' + 'A' : *cpi))<br>
-+ break;<br>
-+#else<br>
-+ if (*rpi != *cpi)<br>
-+ break;<br>
-+#endif<br>
-+ }<br>
-+ if (!same)<br>
-+ break;<br>
-+ /* The last pathname component was the same. opi and cpi now point<br>
-+ to the slash before it. */<br>
-+ rp = rpi;<br>
-+ cp = cpi;<br>
-+ }<br>
-+<br>
-+ if (rp > rel_installdir)<br>
-+ /* Unexpected: The curr_installdir does not end with rel_installdir. */<br>
-+ return NULL;<br>
-+<br>
-+ {<br>
-+ size_t curr_prefix_len = cp - curr_installdir;<br>
-+ char *curr_prefix;<br>
-+<br>
-+ curr_prefix = (char *) xmalloc (curr_prefix_len + 1);<br>
-+#ifdef NO_XMALLOC<br>
-+ if (curr_prefix == NULL)<br>
-+ return NULL;<br>
-+#endif<br>
-+ memcpy (curr_prefix, curr_installdir, curr_prefix_len);<br>
-+ curr_prefix[curr_prefix_len] = '\0';<br>
-+<br>
-+ return curr_prefix;<br>
-+ }<br>
-+ }<br>
-+}<br>
-+<br>
-+#endif /* !IN_LIBRARY || PIC */<br>
-+<br>
-+#if defined PIC && defined INSTALLDIR<br>
-+<br>
-+/* Full pathname of shared library, or NULL. */<br>
-+static char *shared_library_fullname;<br>
-+<br>
-+#if defined _WIN32 || defined __WIN32__<br>
-+<br>
-+/* Determine the full pathname of the shared library when it is loaded. */<br>
-+<br>
-+BOOL WINAPI<br>
-+DllMain (HINSTANCE module_handle, DWORD event, LPVOID reserved)<br>
-+{<br>
-+ (void) reserved;<br>
-+<br>
-+ if (event == DLL_PROCESS_ATTACH)<br>
-+ {<br>
-+ /* The DLL is being loaded into an application's address range. */<br>
-+ static char location[MAX_PATH];<br>
-+<br>
-+ if (!GetModuleFileName (module_handle, location, sizeof (location)))<br>
-+ /* Shouldn't happen. */<br>
-+ return FALSE;<br>
-+<br>
-+ if (!IS_PATH_WITH_DIR (location))<br>
-+ /* Shouldn't happen. */<br>
-+ return FALSE;<br>
-+<br>
-+ shared_library_fullname = strdup (location);<br>
-+ }<br>
-+<br>
-+ return TRUE;<br>
-+}<br>
-+<br>
-+#else /* Unix */<br>
-+<br>
-+static void<br>
-+find_shared_library_fullname ()<br>
-+{<br>
-+#if defined __linux__ && __GLIBC__ >= 2<br>
-+ /* Linux has /proc/self/maps. glibc 2 has the getline() function. */<br>
-+ FILE *fp;<br>
-+<br>
-+ /* Open the current process' maps file. It describes one VMA per line. */<br>
-+ fp = fopen ("/proc/self/maps", "r");<br>
-+ if (fp)<br>
-+ {<br>
-+ unsigned long address = (unsigned long) &find_shared_library_fullname;<br>
-+ for (;;)<br>
-+ {<br>
-+ unsigned long start, end;<br>
-+ int c;<br>
-+<br>
-+ if (fscanf (fp, "%lx-%lx", &start, &end) != 2)<br>
-+ break;<br>
-+ if (address >= start && address <= end - 1)<br>
-+ {<br>
-+ /* Found it. Now see if this line contains a filename. */<br>
-+ while (c = getc (fp), c != EOF && c != '\n' && c != '/')<br>
-+ continue;<br>
-+ if (c == '/')<br>
-+ {<br>
-+ size_t size;<br>
-+ int len;<br>
-+<br>
-+ ungetc (c, fp);<br>
-+ shared_library_fullname = NULL; size = 0;<br>
-+ len = getline (&shared_library_fullname, &size, fp);<br>
-+ if (len >= 0)<br>
-+ {<br>
-+ /* Success: filled shared_library_fullname. */<br>
-+ if (len > 0 && shared_library_fullname[len - 1] == '\n')<br>
-+ shared_library_fullname[len - 1] = '\0';<br>
-+ }<br>
-+ }<br>
-+ break;<br>
-+ }<br>
-+ while (c = getc (fp), c != EOF && c != '\n')<br>
-+ continue;<br>
-+ }<br>
-+ fclose (fp);<br>
-+ }<br>
-+#endif<br>
-+}<br>
-+<br>
-+#endif /* WIN32 / Unix */<br>
-+<br>
-+/* Return the full pathname of the current shared library.<br>
-+ Return NULL if unknown.<br>
-+ Guaranteed to work only on Linux and Woe32. */<br>
-+static char *<br>
-+get_shared_library_fullname ()<br>
-+{<br>
-+#if !(defined _WIN32 || defined __WIN32__)<br>
-+ static bool tried_find_shared_library_fullname;<br>
-+ if (!tried_find_shared_library_fullname)<br>
-+ {<br>
-+ find_shared_library_fullname ();<br>
-+ tried_find_shared_library_fullname = true;<br>
-+ }<br>
-+#endif<br>
-+ return shared_library_fullname;<br>
-+}<br>
-+<br>
-+#endif /* PIC */<br>
-+<br>
-+/* Returns the pathname, relocated according to the current installation<br>
-+ directory. */<br>
-+const char *<br>
-+relocate (const char *pathname)<br>
-+{<br>
-+#if defined PIC && defined INSTALLDIR<br>
-+ static int initialized;<br>
-+<br>
-+ /* Initialization code for a shared library. */<br>
-+ if (!initialized)<br>
-+ {<br>
-+ /* At this point, orig_prefix and curr_prefix likely have already been<br>
-+ set through the main program's set_program_name_and_installdir<br>
-+ function. This is sufficient in the case that the library has<br>
-+ initially been installed in the same orig_prefix. But we can do<br>
-+ better, to also cover the cases that 1. it has been installed<br>
-+ in a different prefix before being moved to orig_prefix and (later)<br>
-+ to curr_prefix, 2. unlike the program, it has not moved away from<br>
-+ orig_prefix. */<br>
-+ const char *orig_installprefix = INSTALLPREFIX;<br>
-+ const char *orig_installdir = INSTALLDIR;<br>
-+ const char *curr_prefix_better;<br>
-+<br>
-+ curr_prefix_better =<br>
-+ compute_curr_prefix (orig_installprefix, orig_installdir,<br>
-+ get_shared_library_fullname ());<br>
-+ if (curr_prefix_better == NULL)<br>
-+ curr_prefix_better = curr_prefix;<br>
-+<br>
-+ set_relocation_prefix (orig_installprefix, curr_prefix_better);<br>
-+<br>
-+ initialized = 1;<br>
-+ }<br>
-+#endif<br>
-+<br>
-+ /* Note: It is not necessary to perform case insensitive comparison here,<br>
-+ even for DOS-like filesystems, because the pathname argument was<br>
-+ typically created from the same Makefile variable as orig_prefix came<br>
-+ from. */<br>
-+ if (orig_prefix != NULL && curr_prefix != NULL<br>
-+ && strncmp (pathname, orig_prefix, orig_prefix_len) == 0)<br>
-+ {<br>
-+ if (pathname[orig_prefix_len] == '\0')<br>
-+ /* pathname equals orig_prefix. */<br>
-+ return curr_prefix;<br>
-+ if (ISSLASH (pathname[orig_prefix_len]))<br>
-+ {<br>
-+ /* pathname starts with orig_prefix. */<br>
-+ const char *pathname_tail = &pathname[orig_prefix_len];<br>
-+ char *result =<br>
-+ (char *) xmalloc (curr_prefix_len + strlen (pathname_tail) + 1);<br>
-+<br>
-+#ifdef NO_XMALLOC<br>
-+ if (result != NULL)<br>
-+#endif<br>
-+ {<br>
-+ memcpy (result, curr_prefix, curr_prefix_len);<br>
-+ strcpy (result + curr_prefix_len, pathname_tail);<br>
-+ return result;<br>
-+ }<br>
-+ }<br>
-+ }<br>
-+ /* Nothing to relocate. */<br>
-+ return pathname;<br>
-+}<br>
-+<br>
-+#endif<br>
---- lrzsz-0.12.20.safe/intl/relocatable.h 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/intl/relocatable.h 2004-09-12 14:40:34.651703096 -0400<br>
-@@ -0,0 +1,77 @@<br>
-+/* Provide relocatable packages.<br>
-+ Copyright (C) 2003 Free Software Foundation, Inc.<br>
-+ Written by Bruno Haible <<a href="mailto:bruno@clisp.org" target="_blank">bruno@clisp.org</a>>, 2003.<br>
-+<br>
-+ This program is free software; you can redistribute it and/or modify it<br>
-+ under the terms of the GNU Library General Public License as published<br>
-+ by the Free Software Foundation; either version 2, or (at your option)<br>
-+ any later version.<br>
-+<br>
-+ This program is distributed in the hope that it will be useful,<br>
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-+ Library General Public License for more details.<br>
-+<br>
-+ You should have received a copy of the GNU Library General Public<br>
-+ License along with this program; if not, write to the Free Software<br>
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,<br>
-+ USA. */<br>
-+<br>
-+#ifndef _RELOCATABLE_H<br>
-+#define _RELOCATABLE_H<br>
-+<br>
-+#ifdef __cplusplus<br>
-+extern "C" {<br>
-+#endif<br>
-+<br>
-+<br>
-+/* This can be enabled through the configure --enable-relocatable option. */<br>
-+#if ENABLE_RELOCATABLE<br>
-+<br>
-+/* When building a DLL, we must export some functions. Note that because<br>
-+ this is a private .h file, we don't need to use __declspec(dllimport)<br>
-+ in any case. */<br>
-+#if defined _MSC_VER && BUILDING_DLL<br>
-+# define RELOCATABLE_DLL_EXPORTED __declspec(dllexport)<br>
-+#else<br>
-+# define RELOCATABLE_DLL_EXPORTED<br>
-+#endif<br>
-+<br>
-+/* Sets the original and the current installation prefix of the package.<br>
-+ Relocation simply replaces a pathname starting with the original prefix<br>
-+ by the corresponding pathname with the current prefix instead. Both<br>
-+ prefixes should be directory names without trailing slash (i.e. use ""<br>
-+ instead of "/"). */<br>
-+extern RELOCATABLE_DLL_EXPORTED void<br>
-+ set_relocation_prefix (const char *orig_prefix,<br>
-+ const char *curr_prefix);<br>
-+<br>
-+/* Returns the pathname, relocated according to the current installation<br>
-+ directory. */<br>
-+extern const char * relocate (const char *pathname);<br>
-+<br>
-+/* Memory management: relocate() leaks memory, because it has to construct<br>
-+ a fresh pathname. If this is a problem because your program calls<br>
-+ relocate() frequently, think about caching the result. */<br>
-+<br>
-+/* Convenience function:<br>
-+ Computes the current installation prefix, based on the original<br>
-+ installation prefix, the original installation directory of a particular<br>
-+ file, and the current pathname of this file. Returns NULL upon failure. */<br>
-+extern const char * compute_curr_prefix (const char *orig_installprefix,<br>
-+ const char *orig_installdir,<br>
-+ const char *curr_pathname);<br>
-+<br>
-+#else<br>
-+<br>
-+/* By default, we use the hardwired pathnames. */<br>
-+#define relocate(pathname) (pathname)<br>
-+<br>
-+#endif<br>
-+<br>
-+<br>
-+#ifdef __cplusplus<br>
-+}<br>
-+#endif<br>
-+<br>
-+#endif /* _RELOCATABLE_H */<br>
---- lrzsz-0.12.20.safe/intl/textdomain.c 1998-04-26 09:22:37.000000000 -0400<br>
-+++ lrzsz-0.12.20/intl/textdomain.c 2004-09-12 14:40:34.656702336 -0400<br>
-@@ -1,51 +1,60 @@<br>
--/* Implementation of the textdomain(3) function<br>
-- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.<br>
-- Written by Ulrich Drepper <<a href="mailto:drepper@gnu.ai.mit.edu" target="_blank">drepper@gnu.ai.mit.edu</a>>, 1995.<br>
-+/* Implementation of the textdomain(3) function.<br>
-+ Copyright (C) 1995-1998, 2000-2003 Free Software Foundation, Inc.<br>
- <br>
-- This program is free software; you can redistribute it and/or modify<br>
-- it under the terms of the GNU General Public License as published by<br>
-- the Free Software Foundation; either version 2, or (at your option)<br>
-+ This program is free software; you can redistribute it and/or modify it<br>
-+ under the terms of the GNU Library General Public License as published<br>
-+ by the Free Software Foundation; either version 2, or (at your option)<br>
- any later version.<br>
- <br>
- This program is distributed in the hope that it will be useful,<br>
- but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the<br>
-- GNU General Public License for more details.<br>
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-+ Library General Public License for more details.<br>
- <br>
-- You should have received a copy of the GNU General Public License<br>
-- along with this program; if not, write to the Free Software Foundation,<br>
-- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */<br>
-+ You should have received a copy of the GNU Library General Public<br>
-+ License along with this program; if not, write to the Free Software<br>
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,<br>
-+ USA. */<br>
- <br>
- #ifdef HAVE_CONFIG_H<br>
- # include <config.h><br>
- #endif<br>
- <br>
--#if defined STDC_HEADERS || defined _LIBC<br>
--# include <stdlib.h><br>
--#endif<br>
-+#include <stdlib.h><br>
-+#include <string.h><br>
- <br>
--#if defined STDC_HEADERS || defined HAVE_STRING_H || defined _LIBC<br>
--# include <string.h><br>
-+#ifdef _LIBC<br>
-+# include <libintl.h><br>
- #else<br>
--# include <strings.h><br>
--# ifndef memcpy<br>
--# define memcpy(Dst, Src, Num) bcopy (Src, Dst, Num)<br>
--# endif<br>
-+# include "libgnuintl.h"<br>
- #endif<br>
-+#include "gettextP.h"<br>
- <br>
- #ifdef _LIBC<br>
--# include <libintl.h><br>
-+/* We have to handle multi-threaded applications. */<br>
-+# include <bits/libc-lock.h><br>
- #else<br>
--# include "libgettext.h"<br>
-+/* Provide dummy implementation if this is outside glibc. */<br>
-+# define __libc_rwlock_define(CLASS, NAME)<br>
-+# define __libc_rwlock_wrlock(NAME)<br>
-+# define __libc_rwlock_unlock(NAME)<br>
-+#endif<br>
-+<br>
-+/* The internal variables in the standalone libintl.a must have different<br>
-+ names than the internal variables in GNU libc, otherwise programs<br>
-+ using libintl.a cannot be linked statically. */<br>
-+#if !defined _LIBC<br>
-+# define _nl_default_default_domain libintl_nl_default_default_domain<br>
-+# define _nl_current_default_domain libintl_nl_current_default_domain<br>
- #endif<br>
- <br>
- /* @@ end of prolog @@ */<br>
- <br>
- /* Name of the default text domain. */<br>
--extern const char _nl_default_default_domain[];<br>
-+extern const char _nl_default_default_domain[] attribute_hidden;<br>
- <br>
- /* Default text domain in which entries for gettext(3) are to be found. */<br>
--extern const char *_nl_current_default_domain;<br>
-+extern const char *_nl_current_default_domain attribute_hidden;<br>
- <br>
- <br>
- /* Names for the libintl functions are a problem. They must not clash<br>
-@@ -54,50 +63,76 @@<br>
- prefix. So we have to make a difference here. */<br>
- #ifdef _LIBC<br>
- # define TEXTDOMAIN __textdomain<br>
--# define strdup(str) __strdup (str)<br>
-+# ifndef strdup<br>
-+# define strdup(str) __strdup (str)<br>
-+# endif<br>
- #else<br>
--# define TEXTDOMAIN textdomain__<br>
-+# define TEXTDOMAIN libintl_textdomain<br>
- #endif<br>
- <br>
-+/* Lock variable to protect the global data in the gettext implementation. */<br>
-+__libc_rwlock_define (extern, _nl_state_lock attribute_hidden)<br>
-+<br>
- /* Set the current default message catalog to DOMAINNAME.<br>
- If DOMAINNAME is null, return the current default.<br>
- If DOMAINNAME is "", reset to the default of "messages". */<br>
- char *<br>
--TEXTDOMAIN (domainname)<br>
-- const char *domainname;<br>
-+TEXTDOMAIN (const char *domainname)<br>
- {<br>
-- char *old;<br>
-+ char *new_domain;<br>
-+ char *old_domain;<br>
- <br>
- /* A NULL pointer requests the current setting. */<br>
- if (domainname == NULL)<br>
- return (char *) _nl_current_default_domain;<br>
- <br>
-- old = (char *) _nl_current_default_domain;<br>
-+ __libc_rwlock_wrlock (_nl_state_lock);<br>
-+<br>
-+ old_domain = (char *) _nl_current_default_domain;<br>
- <br>
- /* If domain name is the null string set to default domain "messages". */<br>
- if (domainname[0] == '\0'<br>
- || strcmp (domainname, _nl_default_default_domain) == 0)<br>
-- _nl_current_default_domain = _nl_default_default_domain;<br>
-+ {<br>
-+ _nl_current_default_domain = _nl_default_default_domain;<br>
-+ new_domain = (char *) _nl_current_default_domain;<br>
-+ }<br>
-+ else if (strcmp (domainname, old_domain) == 0)<br>
-+ /* This can happen and people will use it to signal that some<br>
-+ environment variable changed. */<br>
-+ new_domain = old_domain;<br>
- else<br>
- {<br>
- /* If the following malloc fails `_nl_current_default_domain'<br>
- will be NULL. This value will be returned and so signals we<br>
- are out of core. */<br>
- #if defined _LIBC || defined HAVE_STRDUP<br>
-- _nl_current_default_domain = strdup (domainname);<br>
-+ new_domain = strdup (domainname);<br>
- #else<br>
- size_t len = strlen (domainname) + 1;<br>
-- char *cp = (char *) malloc (len);<br>
-- if (cp != NULL)<br>
-- memcpy (cp, domainname, len);<br>
-- _nl_current_default_domain = cp;<br>
-+ new_domain = (char *) malloc (len);<br>
-+ if (new_domain != NULL)<br>
-+ memcpy (new_domain, domainname, len);<br>
- #endif<br>
-+<br>
-+ if (new_domain != NULL)<br>
-+ _nl_current_default_domain = new_domain;<br>
- }<br>
- <br>
-- if (old != _nl_default_default_domain)<br>
-- free (old);<br>
-+ /* We use this possibility to signal a change of the loaded catalogs<br>
-+ since this is most likely the case and there is no other easy we<br>
-+ to do it. Do it only when the call was successful. */<br>
-+ if (new_domain != NULL)<br>
-+ {<br>
-+ ++_nl_msg_cat_cntr;<br>
- <br>
-- return (char *) _nl_current_default_domain;<br>
-+ if (old_domain != new_domain && old_domain != _nl_default_default_domain)<br>
-+ free (old_domain);<br>
-+ }<br>
-+<br>
-+ __libc_rwlock_unlock (_nl_state_lock);<br>
-+<br>
-+ return new_domain;<br>
- }<br>
- <br>
- #ifdef _LIBC<br>
---- lrzsz-0.12.20.safe/intl/vasnprintf.c 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/intl/vasnprintf.c 2004-09-12 14:40:34.662701424 -0400<br>
-@@ -0,0 +1,887 @@<br>
-+/* vsprintf with automatic memory allocation.<br>
-+ Copyright (C) 1999, 2002-2003 Free Software Foundation, Inc.<br>
-+<br>
-+ This program is free software; you can redistribute it and/or modify it<br>
-+ under the terms of the GNU Library General Public License as published<br>
-+ by the Free Software Foundation; either version 2, or (at your option)<br>
-+ any later version.<br>
-+<br>
-+ This program is distributed in the hope that it will be useful,<br>
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-+ Library General Public License for more details.<br>
-+<br>
-+ You should have received a copy of the GNU Library General Public<br>
-+ License along with this program; if not, write to the Free Software<br>
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,<br>
-+ USA. */<br>
-+<br>
-+/* Tell glibc's <stdio.h> to provide a prototype for snprintf().<br>
-+ This must come before <config.h> because <config.h> may include<br>
-+ <features.h>, and once <features.h> has been included, it's too late. */<br>
-+#ifndef _GNU_SOURCE<br>
-+# define _GNU_SOURCE 1<br>
-+#endif<br>
-+<br>
-+#ifdef HAVE_CONFIG_H<br>
-+# include <config.h><br>
-+#endif<br>
-+#ifndef IN_LIBINTL<br>
-+# include <alloca.h><br>
-+#endif<br>
-+<br>
-+/* Specification. */<br>
-+#if WIDE_CHAR_VERSION<br>
-+# include "vasnwprintf.h"<br>
-+#else<br>
-+# include "vasnprintf.h"<br>
-+#endif<br>
-+<br>
-+#include <stdio.h> /* snprintf(), sprintf() */<br>
-+#include <stdlib.h> /* abort(), malloc(), realloc(), free() */<br>
-+#include <string.h> /* memcpy(), strlen() */<br>
-+#include <errno.h> /* errno */<br>
-+#include <limits.h> /* CHAR_BIT */<br>
-+#include <float.h> /* DBL_MAX_EXP, LDBL_MAX_EXP */<br>
-+#if WIDE_CHAR_VERSION<br>
-+# include "wprintf-parse.h"<br>
-+#else<br>
-+# include "printf-parse.h"<br>
-+#endif<br>
-+<br>
-+/* Checked size_t computations. */<br>
-+#include "xsize.h"<br>
-+<br>
-+#ifdef HAVE_WCHAR_T<br>
-+# ifdef HAVE_WCSLEN<br>
-+# define local_wcslen wcslen<br>
-+# else<br>
-+ /* Solaris 2.5.1 has wcslen() in a separate library libw.so. To avoid<br>
-+ a dependency towards this library, here is a local substitute.<br>
-+ Define this substitute only once, even if this file is included<br>
-+ twice in the same compilation unit. */<br>
-+# ifndef local_wcslen_defined<br>
-+# define local_wcslen_defined 1<br>
-+static size_t<br>
-+local_wcslen (const wchar_t *s)<br>
-+{<br>
-+ const wchar_t *ptr;<br>
-+<br>
-+ for (ptr = s; *ptr != (wchar_t) 0; ptr++)<br>
-+ ;<br>
-+ return ptr - s;<br>
-+}<br>
-+# endif<br>
-+# endif<br>
-+#endif<br>
-+<br>
-+#if WIDE_CHAR_VERSION<br>
-+# define VASNPRINTF vasnwprintf<br>
-+# define CHAR_T wchar_t<br>
-+# define DIRECTIVE wchar_t_directive<br>
-+# define DIRECTIVES wchar_t_directives<br>
-+# define PRINTF_PARSE wprintf_parse<br>
-+# define USE_SNPRINTF 1<br>
-+# if HAVE_DECL__SNWPRINTF<br>
-+ /* On Windows, the function swprintf() has a different signature than<br>
-+ on Unix; we use the _snwprintf() function instead. */<br>
-+# define SNPRINTF _snwprintf<br>
-+# else<br>
-+ /* Unix. */<br>
-+# define SNPRINTF swprintf<br>
-+# endif<br>
-+#else<br>
-+# define VASNPRINTF vasnprintf<br>
-+# define CHAR_T char<br>
-+# define DIRECTIVE char_directive<br>
-+# define DIRECTIVES char_directives<br>
-+# define PRINTF_PARSE printf_parse<br>
-+# define USE_SNPRINTF (HAVE_DECL__SNPRINTF || HAVE_SNPRINTF)<br>
-+# if HAVE_DECL__SNPRINTF<br>
-+ /* Windows. */<br>
-+# define SNPRINTF _snprintf<br>
-+# else<br>
-+ /* Unix. */<br>
-+# define SNPRINTF snprintf<br>
-+# endif<br>
-+#endif<br>
-+<br>
-+CHAR_T *<br>
-+VASNPRINTF (CHAR_T *resultbuf, size_t *lengthp, const CHAR_T *format, va_list args)<br>
-+{<br>
-+ DIRECTIVES d;<br>
-+ arguments a;<br>
-+<br>
-+ if (PRINTF_PARSE (format, &d, &a) < 0)<br>
-+ {<br>
-+ errno = EINVAL;<br>
-+ return NULL;<br>
-+ }<br>
-+<br>
-+#define CLEANUP() \<br>
-+ free (d.dir); \<br>
-+ if (a.arg) \<br>
-+ free (a.arg);<br>
-+<br>
-+ if (printf_fetchargs (args, &a) < 0)<br>
-+ {<br>
-+ CLEANUP ();<br>
-+ errno = EINVAL;<br>
-+ return NULL;<br>
-+ }<br>
-+<br>
-+ {<br>
-+ size_t buf_neededlength;<br>
-+ CHAR_T *buf;<br>
-+ CHAR_T *buf_malloced;<br>
-+ const CHAR_T *cp;<br>
-+ size_t i;<br>
-+ DIRECTIVE *dp;<br>
-+ /* Output string accumulator. */<br>
-+ CHAR_T *result;<br>
-+ size_t allocated;<br>
-+ size_t length;<br>
-+<br>
-+ /* Allocate a small buffer that will hold a directive passed to<br>
-+ sprintf or snprintf. */<br>
-+ buf_neededlength =<br>
-+ xsum4 (7, d.max_width_length, d.max_precision_length, 6);<br>
-+#if HAVE_ALLOCA<br>
-+ if (buf_neededlength < 4000 / sizeof (CHAR_T))<br>
-+ {<br>
-+ buf = (CHAR_T *) alloca (buf_neededlength * sizeof (CHAR_T));<br>
-+ buf_malloced = NULL;<br>
-+ }<br>
-+ else<br>
-+#endif<br>
-+ {<br>
-+ size_t buf_memsize = xtimes (buf_neededlength, sizeof (CHAR_T));<br>
-+ if (size_overflow_p (buf_memsize))<br>
-+ goto out_of_memory_1;<br>
-+ buf = (CHAR_T *) malloc (buf_memsize);<br>
-+ if (buf == NULL)<br>
-+ goto out_of_memory_1;<br>
-+ buf_malloced = buf;<br>
-+ }<br>
-+<br>
-+ if (resultbuf != NULL)<br>
-+ {<br>
-+ result = resultbuf;<br>
-+ allocated = *lengthp;<br>
-+ }<br>
-+ else<br>
-+ {<br>
-+ result = NULL;<br>
-+ allocated = 0;<br>
-+ }<br>
-+ length = 0;<br>
-+ /* Invariants:<br>
-+ result is either == resultbuf or == NULL or malloc-allocated.<br>
-+ If length > 0, then result != NULL. */<br>
-+<br>
-+ /* Ensures that allocated >= needed. Aborts through a jump to<br>
-+ out_of_memory if needed is SIZE_MAX or otherwise too big. */<br>
-+#define ENSURE_ALLOCATION(needed) \<br>
-+ if ((needed) > allocated) \<br>
-+ { \<br>
-+ size_t memory_size; \<br>
-+ CHAR_T *memory; \<br>
-+ \<br>
-+ allocated = (allocated > 0 ? xtimes (allocated, 2) : 12); \<br>
-+ if ((needed) > allocated) \<br>
-+ allocated = (needed); \<br>
-+ memory_size = xtimes (allocated, sizeof (CHAR_T)); \<br>
-+ if (size_overflow_p (memory_size)) \<br>
-+ goto out_of_memory; \<br>
-+ if (result == resultbuf || result == NULL) \<br>
-+ memory = (CHAR_T *) malloc (memory_size); \<br>
-+ else \<br>
-+ memory = (CHAR_T *) realloc (result, memory_size); \<br>
-+ if (memory == NULL) \<br>
-+ goto out_of_memory; \<br>
-+ if (result == resultbuf && length > 0) \<br>
-+ memcpy (memory, result, length * sizeof (CHAR_T)); \<br>
-+ result = memory; \<br>
-+ }<br>
-+<br>
-+ for (cp = format, i = 0, dp = &d.dir[0]; ; cp = dp->dir_end, i++, dp++)<br>
-+ {<br>
-+ if (cp != dp->dir_start)<br>
-+ {<br>
-+ size_t n = dp->dir_start - cp;<br>
-+ size_t augmented_length = xsum (length, n);<br>
-+<br>
-+ ENSURE_ALLOCATION (augmented_length);<br>
-+ memcpy (result + length, cp, n * sizeof (CHAR_T));<br>
-+ length = augmented_length;<br>
-+ }<br>
-+ if (i == d.count)<br>
-+ break;<br>
-+<br>
-+ /* Execute a single directive. */<br>
-+ if (dp->conversion == '%')<br>
-+ {<br>
-+ size_t augmented_length;<br>
-+<br>
-+ if (!(dp->arg_index == ARG_NONE))<br>
-+ abort ();<br>
-+ augmented_length = xsum (length, 1);<br>
-+ ENSURE_ALLOCATION (augmented_length);<br>
-+ result[length] = '%';<br>
-+ length = augmented_length;<br>
-+ }<br>
-+ else<br>
-+ {<br>
-+ if (!(dp->arg_index != ARG_NONE))<br>
-+ abort ();<br>
-+<br>
-+ if (dp->conversion == 'n')<br>
-+ {<br>
-+ switch (a.arg[dp->arg_index].type)<br>
-+ {<br>
-+ case TYPE_COUNT_SCHAR_POINTER:<br>
-+ *a.arg[dp->arg_index].a.a_count_schar_pointer = length;<br>
-+ break;<br>
-+ case TYPE_COUNT_SHORT_POINTER:<br>
-+ *a.arg[dp->arg_index].a.a_count_short_pointer = length;<br>
-+ break;<br>
-+ case TYPE_COUNT_INT_POINTER:<br>
-+ *a.arg[dp->arg_index].a.a_count_int_pointer = length;<br>
-+ break;<br>
-+ case TYPE_COUNT_LONGINT_POINTER:<br>
-+ *a.arg[dp->arg_index].a.a_count_longint_pointer = length;<br>
-+ break;<br>
-+#ifdef HAVE_LONG_LONG<br>
-+ case TYPE_COUNT_LONGLONGINT_POINTER:<br>
-+ *a.arg[dp->arg_index].a.a_count_longlongint_pointer = length;<br>
-+ break;<br>
-+#endif<br>
-+ default:<br>
-+ abort ();<br>
-+ }<br>
-+ }<br>
-+ else<br>
-+ {<br>
-+ arg_type type = a.arg[dp->arg_index].type;<br>
-+ CHAR_T *p;<br>
-+ unsigned int prefix_count;<br>
-+ int prefixes[2];<br>
-+#if !USE_SNPRINTF<br>
-+ size_t tmp_length;<br>
-+ CHAR_T tmpbuf[700];<br>
-+ CHAR_T *tmp;<br>
-+<br>
-+ /* Allocate a temporary buffer of sufficient size for calling<br>
-+ sprintf. */<br>
-+ {<br>
-+ size_t width;<br>
-+ size_t precision;<br>
-+<br>
-+ width = 0;<br>
-+ if (dp->width_start != dp->width_end)<br>
-+ {<br>
-+ if (dp->width_arg_index != ARG_NONE)<br>
-+ {<br>
-+ int arg;<br>
-+<br>
-+ if (!(a.arg[dp->width_arg_index].type == TYPE_INT))<br>
-+ abort ();<br>
-+ arg = a.arg[dp->width_arg_index].a.a_int;<br>
-+ width = (arg < 0 ? (unsigned int) (-arg) : arg);<br>
-+ }<br>
-+ else<br>
-+ {<br>
-+ const CHAR_T *digitp = dp->width_start;<br>
-+<br>
-+ do<br>
-+ width = xsum (xtimes (width, 10), *digitp++ - '0');<br>
-+ while (digitp != dp->width_end);<br>
-+ }<br>
-+ }<br>
-+<br>
-+ precision = 6;<br>
-+ if (dp->precision_start != dp->precision_end)<br>
-+ {<br>
-+ if (dp->precision_arg_index != ARG_NONE)<br>
-+ {<br>
-+ int arg;<br>
-+<br>
-+ if (!(a.arg[dp->precision_arg_index].type == TYPE_INT))<br>
-+ abort ();<br>
-+ arg = a.arg[dp->precision_arg_index].a.a_int;<br>
-+ precision = (arg < 0 ? 0 : arg);<br>
-+ }<br>
-+ else<br>
-+ {<br>
-+ const CHAR_T *digitp = dp->precision_start + 1;<br>
-+<br>
-+ precision = 0;<br>
-+ do<br>
-+ precision = xsum (xtimes (precision, 10), *digitp++ - '0');<br>
-+ while (digitp != dp->precision_end);<br>
-+ }<br>
-+ }<br>
-+<br>
-+ switch (dp->conversion)<br>
-+ {<br>
-+<br>
-+ case 'd': case 'i': case 'u':<br>
-+# ifdef HAVE_LONG_LONG<br>
-+ if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT)<br>
-+ tmp_length =<br>
-+ (unsigned int) (sizeof (unsigned long long) * CHAR_BIT<br>
-+ * 0.30103 /* binary -> decimal */<br>
-+ * 2 /* estimate for FLAG_GROUP */<br>
-+ )<br>
-+ + 1 /* turn floor into ceil */<br>
-+ + 1; /* account for leading sign */<br>
-+ else<br>
-+# endif<br>
-+ if (type == TYPE_LONGINT || type == TYPE_ULONGINT)<br>
-+ tmp_length =<br>
-+ (unsigned int) (sizeof (unsigned long) * CHAR_BIT<br>
-+ * 0.30103 /* binary -> decimal */<br>
-+ * 2 /* estimate for FLAG_GROUP */<br>
-+ )<br>
-+ + 1 /* turn floor into ceil */<br>
-+ + 1; /* account for leading sign */<br>
-+ else<br>
-+ tmp_length =<br>
-+ (unsigned int) (sizeof (unsigned int) * CHAR_BIT<br>
-+ * 0.30103 /* binary -> decimal */<br>
-+ * 2 /* estimate for FLAG_GROUP */<br>
-+ )<br>
-+ + 1 /* turn floor into ceil */<br>
-+ + 1; /* account for leading sign */<br>
-+ break;<br>
-+<br>
-+ case 'o':<br>
-+# ifdef HAVE_LONG_LONG<br>
-+ if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT)<br>
-+ tmp_length =<br>
-+ (unsigned int) (sizeof (unsigned long long) * CHAR_BIT<br>
-+ * 0.333334 /* binary -> octal */<br>
-+ )<br>
-+ + 1 /* turn floor into ceil */<br>
-+ + 1; /* account for leading sign */<br>
-+ else<br>
-+# endif<br>
-+ if (type == TYPE_LONGINT || type == TYPE_ULONGINT)<br>
-+ tmp_length =<br>
-+ (unsigned int) (sizeof (unsigned long) * CHAR_BIT<br>
-+ * 0.333334 /* binary -> octal */<br>
-+ )<br>
-+ + 1 /* turn floor into ceil */<br>
-+ + 1; /* account for leading sign */<br>
-+ else<br>
-+ tmp_length =<br>
-+ (unsigned int) (sizeof (unsigned int) * CHAR_BIT<br>
-+ * 0.333334 /* binary -> octal */<br>
-+ )<br>
-+ + 1 /* turn floor into ceil */<br>
-+ + 1; /* account for leading sign */<br>
-+ break;<br>
-+<br>
-+ case 'x': case 'X':<br>
-+# ifdef HAVE_LONG_LONG<br>
-+ if (type == TYPE_LONGLONGINT || type == TYPE_ULONGLONGINT)<br>
-+ tmp_length =<br>
-+ (unsigned int) (sizeof (unsigned long long) * CHAR_BIT<br>
-+ * 0.25 /* binary -> hexadecimal */<br>
-+ )<br>
-+ + 1 /* turn floor into ceil */<br>
-+ + 2; /* account for leading sign or alternate form */<br>
-+ else<br>
-+# endif<br>
-+ if (type == TYPE_LONGINT || type == TYPE_ULONGINT)<br>
-+ tmp_length =<br>
-+ (unsigned int) (sizeof (unsigned long) * CHAR_BIT<br>
-+ * 0.25 /* binary -> hexadecimal */<br>
-+ )<br>
-+ + 1 /* turn floor into ceil */<br>
-+ + 2; /* account for leading sign or alternate form */<br>
-+ else<br>
-+ tmp_length =<br>
-+ (unsigned int) (sizeof (unsigned int) * CHAR_BIT<br>
-+ * 0.25 /* binary -> hexadecimal */<br>
-+ )<br>
-+ + 1 /* turn floor into ceil */<br>
-+ + 2; /* account for leading sign or alternate form */<br>
-+ break;<br>
-+<br>
-+ case 'f': case 'F':<br>
-+# ifdef HAVE_LONG_DOUBLE<br>
-+ if (type == TYPE_LONGDOUBLE)<br>
-+ tmp_length =<br>
-+ (unsigned int) (LDBL_MAX_EXP<br>
-+ * 0.30103 /* binary -> decimal */<br>
-+ * 2 /* estimate for FLAG_GROUP */<br>
-+ )<br>
-+ + 1 /* turn floor into ceil */<br>
-+ + 10; /* sign, decimal point etc. */<br>
-+ else<br>
-+# endif<br>
-+ tmp_length =<br>
-+ (unsigned int) (DBL_MAX_EXP<br>
-+ * 0.30103 /* binary -> decimal */<br>
-+ * 2 /* estimate for FLAG_GROUP */<br>
-+ )<br>
-+ + 1 /* turn floor into ceil */<br>
-+ + 10; /* sign, decimal point etc. */<br>
-+ tmp_length = xsum (tmp_length, precision);<br>
-+ break;<br>
-+<br>
-+ case 'e': case 'E': case 'g': case 'G':<br>
-+ case 'a': case 'A':<br>
-+ tmp_length =<br>
-+ 12; /* sign, decimal point, exponent etc. */<br>
-+ tmp_length = xsum (tmp_length, precision);<br>
-+ break;<br>
-+<br>
-+ case 'c':<br>
-+# if defined HAVE_WINT_T && !WIDE_CHAR_VERSION<br>
-+ if (type == TYPE_WIDE_CHAR)<br>
-+ tmp_length = MB_CUR_MAX;<br>
-+ else<br>
-+# endif<br>
-+ tmp_length = 1;<br>
-+ break;<br>
-+<br>
-+ case 's':<br>
-+# ifdef HAVE_WCHAR_T<br>
-+ if (type == TYPE_WIDE_STRING)<br>
-+ {<br>
-+ tmp_length =<br>
-+ local_wcslen (a.arg[dp->arg_index].a.a_wide_string);<br>
-+<br>
-+# if !WIDE_CHAR_VERSION<br>
-+ tmp_length = xtimes (tmp_length, MB_CUR_MAX);<br>
-+# endif<br>
-+ }<br>
-+ else<br>
-+# endif<br>
-+ tmp_length = strlen (a.arg[dp->arg_index].a.a_string);<br>
-+ break;<br>
-+<br>
-+ case 'p':<br>
-+ tmp_length =<br>
-+ (unsigned int) (sizeof (void *) * CHAR_BIT<br>
-+ * 0.25 /* binary -> hexadecimal */<br>
-+ )<br>
-+ + 1 /* turn floor into ceil */<br>
-+ + 2; /* account for leading 0x */<br>
-+ break;<br>
-+<br>
-+ default:<br>
-+ abort ();<br>
-+ }<br>
-+<br>
-+ if (tmp_length < width)<br>
-+ tmp_length = width;<br>
-+<br>
-+ tmp_length = xsum (tmp_length, 1); /* account for trailing NUL */<br>
-+ }<br>
-+<br>
-+ if (tmp_length <= sizeof (tmpbuf) / sizeof (CHAR_T))<br>
-+ tmp = tmpbuf;<br>
-+ else<br>
-+ {<br>
-+ size_t tmp_memsize = xtimes (tmp_length, sizeof (CHAR_T));<br>
-+<br>
-+ if (size_overflow_p (tmp_memsize))<br>
-+ /* Overflow, would lead to out of memory. */<br>
-+ goto out_of_memory;<br>
-+ tmp = (CHAR_T *) malloc (tmp_memsize);<br>
-+ if (tmp == NULL)<br>
-+ /* Out of memory. */<br>
-+ goto out_of_memory;<br>
-+ }<br>
-+#endif<br>
-+<br>
-+ /* Construct the format string for calling snprintf or<br>
-+ sprintf. */<br>
-+ p = buf;<br>
-+ *p++ = '%';<br>
-+ if (dp->flags & FLAG_GROUP)<br>
-+ *p++ = '\'';<br>
-+ if (dp->flags & FLAG_LEFT)<br>
-+ *p++ = '-';<br>
-+ if (dp->flags & FLAG_SHOWSIGN)<br>
-+ *p++ = '+';<br>
-+ if (dp->flags & FLAG_SPACE)<br>
-+ *p++ = ' ';<br>
-+ if (dp->flags & FLAG_ALT)<br>
-+ *p++ = '#';<br>
-+ if (dp->flags & FLAG_ZERO)<br>
-+ *p++ = '0';<br>
-+ if (dp->width_start != dp->width_end)<br>
-+ {<br>
-+ size_t n = dp->width_end - dp->width_start;<br>
-+ memcpy (p, dp->width_start, n * sizeof (CHAR_T));<br>
-+ p += n;<br>
-+ }<br>
-+ if (dp->precision_start != dp->precision_end)<br>
-+ {<br>
-+ size_t n = dp->precision_end - dp->precision_start;<br>
-+ memcpy (p, dp->precision_start, n * sizeof (CHAR_T));<br>
-+ p += n;<br>
-+ }<br>
-+<br>
-+ switch (type)<br>
-+ {<br>
-+#ifdef HAVE_LONG_LONG<br>
-+ case TYPE_LONGLONGINT:<br>
-+ case TYPE_ULONGLONGINT:<br>
-+ *p++ = 'l';<br>
-+ /*FALLTHROUGH*/<br>
-+#endif<br>
-+ case TYPE_LONGINT:<br>
-+ case TYPE_ULONGINT:<br>
-+#ifdef HAVE_WINT_T<br>
-+ case TYPE_WIDE_CHAR:<br>
-+#endif<br>
-+#ifdef HAVE_WCHAR_T<br>
-+ case TYPE_WIDE_STRING:<br>
-+#endif<br>
-+ *p++ = 'l';<br>
-+ break;<br>
-+#ifdef HAVE_LONG_DOUBLE<br>
-+ case TYPE_LONGDOUBLE:<br>
-+ *p++ = 'L';<br>
-+ break;<br>
-+#endif<br>
-+ default:<br>
-+ break;<br>
-+ }<br>
-+ *p = dp->conversion;<br>
-+#if USE_SNPRINTF<br>
-+ p[1] = '%';<br>
-+ p[2] = 'n';<br>
-+ p[3] = '\0';<br>
-+#else<br>
-+ p[1] = '\0';<br>
-+#endif<br>
-+<br>
-+ /* Construct the arguments for calling snprintf or sprintf. */<br>
-+ prefix_count = 0;<br>
-+ if (dp->width_arg_index != ARG_NONE)<br>
-+ {<br>
-+ if (!(a.arg[dp->width_arg_index].type == TYPE_INT))<br>
-+ abort ();<br>
-+ prefixes[prefix_count++] = a.arg[dp->width_arg_index].a.a_int;<br>
-+ }<br>
-+ if (dp->precision_arg_index != ARG_NONE)<br>
-+ {<br>
-+ if (!(a.arg[dp->precision_arg_index].type == TYPE_INT))<br>
-+ abort ();<br>
-+ prefixes[prefix_count++] = a.arg[dp->precision_arg_index].a.a_int;<br>
-+ }<br>
-+<br>
-+#if USE_SNPRINTF<br>
-+ /* Prepare checking whether snprintf returns the count<br>
-+ via %n. */<br>
-+ ENSURE_ALLOCATION (xsum (length, 1));<br>
-+ result[length] = '\0';<br>
-+#endif<br>
-+<br>
-+ for (;;)<br>
-+ {<br>
-+ size_t maxlen;<br>
-+ int count;<br>
-+ int retcount;<br>
-+<br>
-+ maxlen = allocated - length;<br>
-+ count = -1;<br>
-+ retcount = 0;<br>
-+<br>
-+#if USE_SNPRINTF<br>
-+# define SNPRINTF_BUF(arg) \<br>
-+ switch (prefix_count) \<br>
-+ { \<br>
-+ case 0: \<br>
-+ retcount = SNPRINTF (result + length, maxlen, buf, \<br>
-+ arg, &count); \<br>
-+ break; \<br>
-+ case 1: \<br>
-+ retcount = SNPRINTF (result + length, maxlen, buf, \<br>
-+ prefixes[0], arg, &count); \<br>
-+ break; \<br>
-+ case 2: \<br>
-+ retcount = SNPRINTF (result + length, maxlen, buf, \<br>
-+ prefixes[0], prefixes[1], arg, \<br>
-+ &count); \<br>
-+ break; \<br>
-+ default: \<br>
-+ abort (); \<br>
-+ }<br>
-+#else<br>
-+# define SNPRINTF_BUF(arg) \<br>
-+ switch (prefix_count) \<br>
-+ { \<br>
-+ case 0: \<br>
-+ count = sprintf (tmp, buf, arg); \<br>
-+ break; \<br>
-+ case 1: \<br>
-+ count = sprintf (tmp, buf, prefixes[0], arg); \<br>
-+ break; \<br>
-+ case 2: \<br>
-+ count = sprintf (tmp, buf, prefixes[0], prefixes[1],\<br>
-+ arg); \<br>
-+ break; \<br>
-+ default: \<br>
-+ abort (); \<br>
-+ }<br>
-+#endif<br>
-+<br>
-+ switch (type)<br>
-+ {<br>
-+ case TYPE_SCHAR:<br>
-+ {<br>
-+ int arg = a.arg[dp->arg_index].a.a_schar;<br>
-+ SNPRINTF_BUF (arg);<br>
-+ }<br>
-+ break;<br>
-+ case TYPE_UCHAR:<br>
-+ {<br>
-+ unsigned int arg = a.arg[dp->arg_index].a.a_uchar;<br>
-+ SNPRINTF_BUF (arg);<br>
-+ }<br>
-+ break;<br>
-+ case TYPE_SHORT:<br>
-+ {<br>
-+ int arg = a.arg[dp->arg_index].a.a_short;<br>
-+ SNPRINTF_BUF (arg);<br>
-+ }<br>
-+ break;<br>
-+ case TYPE_USHORT:<br>
-+ {<br>
-+ unsigned int arg = a.arg[dp->arg_index].a.a_ushort;<br>
-+ SNPRINTF_BUF (arg);<br>
-+ }<br>
-+ break;<br>
-+ case TYPE_INT:<br>
-+ {<br>
-+ int arg = a.arg[dp->arg_index].a.a_int;<br>
-+ SNPRINTF_BUF (arg);<br>
-+ }<br>
-+ break;<br>
-+ case TYPE_UINT:<br>
-+ {<br>
-+ unsigned int arg = a.arg[dp->arg_index].a.a_uint;<br>
-+ SNPRINTF_BUF (arg);<br>
-+ }<br>
-+ break;<br>
-+ case TYPE_LONGINT:<br>
-+ {<br>
-+ long int arg = a.arg[dp->arg_index].a.a_longint;<br>
-+ SNPRINTF_BUF (arg);<br>
-+ }<br>
-+ break;<br>
-+ case TYPE_ULONGINT:<br>
-+ {<br>
-+ unsigned long int arg = a.arg[dp->arg_index].a.a_ulongint;<br>
-+ SNPRINTF_BUF (arg);<br>
-+ }<br>
-+ break;<br>
-+#ifdef HAVE_LONG_LONG<br>
-+ case TYPE_LONGLONGINT:<br>
-+ {<br>
-+ long long int arg = a.arg[dp->arg_index].a.a_longlongint;<br>
-+ SNPRINTF_BUF (arg);<br>
-+ }<br>
-+ break;<br>
-+ case TYPE_ULONGLONGINT:<br>
-+ {<br>
-+ unsigned long long int arg = a.arg[dp->arg_index].a.a_ulonglongint;<br>
-+ SNPRINTF_BUF (arg);<br>
-+ }<br>
-+ break;<br>
-+#endif<br>
-+ case TYPE_DOUBLE:<br>
-+ {<br>
-+ double arg = a.arg[dp->arg_index].a.a_double;<br>
-+ SNPRINTF_BUF (arg);<br>
-+ }<br>
-+ break;<br>
-+#ifdef HAVE_LONG_DOUBLE<br>
-+ case TYPE_LONGDOUBLE:<br>
-+ {<br>
-+ long double arg = a.arg[dp->arg_index].a.a_longdouble;<br>
-+ SNPRINTF_BUF (arg);<br>
-+ }<br>
-+ break;<br>
-+#endif<br>
-+ case TYPE_CHAR:<br>
-+ {<br>
-+ int arg = a.arg[dp->arg_index].a.a_char;<br>
-+ SNPRINTF_BUF (arg);<br>
-+ }<br>
-+ break;<br>
-+#ifdef HAVE_WINT_T<br>
-+ case TYPE_WIDE_CHAR:<br>
-+ {<br>
-+ wint_t arg = a.arg[dp->arg_index].a.a_wide_char;<br>
-+ SNPRINTF_BUF (arg);<br>
-+ }<br>
-+ break;<br>
-+#endif<br>
-+ case TYPE_STRING:<br>
-+ {<br>
-+ const char *arg = a.arg[dp->arg_index].a.a_string;<br>
-+ SNPRINTF_BUF (arg);<br>
-+ }<br>
-+ break;<br>
-+#ifdef HAVE_WCHAR_T<br>
-+ case TYPE_WIDE_STRING:<br>
-+ {<br>
-+ const wchar_t *arg = a.arg[dp->arg_index].a.a_wide_string;<br>
-+ SNPRINTF_BUF (arg);<br>
-+ }<br>
-+ break;<br>
-+#endif<br>
-+ case TYPE_POINTER:<br>
-+ {<br>
-+ void *arg = a.arg[dp->arg_index].a.a_pointer;<br>
-+ SNPRINTF_BUF (arg);<br>
-+ }<br>
-+ break;<br>
-+ default:<br>
-+ abort ();<br>
-+ }<br>
-+<br>
-+#if USE_SNPRINTF<br>
-+ /* Portability: Not all implementations of snprintf()<br>
-+ are ISO C 99 compliant. Determine the number of<br>
-+ bytes that snprintf() has produced or would have<br>
-+ produced. */<br>
-+ if (count >= 0)<br>
-+ {<br>
-+ /* Verify that snprintf() has NUL-terminated its<br>
-+ result. */<br>
-+ if (count < maxlen && result[length + count] != '\0')<br>
-+ abort ();<br>
-+ /* Portability hack. */<br>
-+ if (retcount > count)<br>
-+ count = retcount;<br>
-+ }<br>
-+ else<br>
-+ {<br>
-+ /* snprintf() doesn't understand the '%n'<br>
-+ directive. */<br>
-+ if (p[1] != '\0')<br>
-+ {<br>
-+ /* Don't use the '%n' directive; instead, look<br>
-+ at the snprintf() return value. */<br>
-+ p[1] = '\0';<br>
-+ continue;<br>
-+ }<br>
-+ else<br>
-+ {<br>
-+ /* Look at the snprintf() return value. */<br>
-+ if (retcount < 0)<br>
-+ {<br>
-+ /* HP-UX 10.20 snprintf() is doubly deficient:<br>
-+ It doesn't understand the '%n' directive,<br>
-+ *and* it returns -1 (rather than the length<br>
-+ that would have been required) when the<br>
-+ buffer is too small. */<br>
-+ size_t bigger_need =<br>
-+ xsum (xtimes (allocated, 2), 12);<br>
-+ ENSURE_ALLOCATION (bigger_need);<br>
-+ continue;<br>
-+ }<br>
-+ else<br>
-+ count = retcount;<br>
-+ }<br>
-+ }<br>
-+#endif<br>
-+<br>
-+ /* Attempt to handle failure. */<br>
-+ if (count < 0)<br>
-+ {<br>
-+ if (!(result == resultbuf || result == NULL))<br>
-+ free (result);<br>
-+ if (buf_malloced != NULL)<br>
-+ free (buf_malloced);<br>
-+ CLEANUP ();<br>
-+ errno = EINVAL;<br>
-+ return NULL;<br>
-+ }<br>
-+<br>
-+#if !USE_SNPRINTF<br>
-+ if (count >= tmp_length)<br>
-+ /* tmp_length was incorrectly calculated - fix the<br>
-+ code above! */<br>
-+ abort ();<br>
-+#endif<br>
-+<br>
-+ /* Make room for the result. */<br>
-+ if (count >= maxlen)<br>
-+ {<br>
-+ /* Need at least count bytes. But allocate<br>
-+ proportionally, to avoid looping eternally if<br>
-+ snprintf() reports a too small count. */<br>
-+ size_t n =<br>
-+ xmax (xsum (length, count), xtimes (allocated, 2));<br>
-+<br>
-+ ENSURE_ALLOCATION (n);<br>
-+#if USE_SNPRINTF<br>
-+ continue;<br>
-+#endif<br>
-+ }<br>
-+<br>
-+#if USE_SNPRINTF<br>
-+ /* The snprintf() result did fit. */<br>
-+#else<br>
-+ /* Append the sprintf() result. */<br>
-+ memcpy (result + length, tmp, count * sizeof (CHAR_T));<br>
-+ if (tmp != tmpbuf)<br>
-+ free (tmp);<br>
-+#endif<br>
-+<br>
-+ length += count;<br>
-+ break;<br>
-+ }<br>
-+ }<br>
-+ }<br>
-+ }<br>
-+<br>
-+ /* Add the final NUL. */<br>
-+ ENSURE_ALLOCATION (xsum (length, 1));<br>
-+ result[length] = '\0';<br>
-+<br>
-+ if (result != resultbuf && length + 1 < allocated)<br>
-+ {<br>
-+ /* Shrink the allocated memory if possible. */<br>
-+ CHAR_T *memory;<br>
-+<br>
-+ memory = (CHAR_T *) realloc (result, (length + 1) * sizeof (CHAR_T));<br>
-+ if (memory != NULL)<br>
-+ result = memory;<br>
-+ }<br>
-+<br>
-+ if (buf_malloced != NULL)<br>
-+ free (buf_malloced);<br>
-+ CLEANUP ();<br>
-+ *lengthp = length;<br>
-+ return result;<br>
-+<br>
-+ out_of_memory:<br>
-+ if (!(result == resultbuf || result == NULL))<br>
-+ free (result);<br>
-+ if (buf_malloced != NULL)<br>
-+ free (buf_malloced);<br>
-+ out_of_memory_1:<br>
-+ CLEANUP ();<br>
-+ errno = ENOMEM;<br>
-+ return NULL;<br>
-+ }<br>
-+}<br>
-+<br>
-+#undef SNPRINTF<br>
-+#undef USE_SNPRINTF<br>
-+#undef PRINTF_PARSE<br>
-+#undef DIRECTIVES<br>
-+#undef DIRECTIVE<br>
-+#undef CHAR_T<br>
-+#undef VASNPRINTF<br>
---- lrzsz-0.12.20.safe/intl/vasnprintf.h 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/intl/vasnprintf.h 2004-09-12 14:40:34.667700664 -0400<br>
-@@ -0,0 +1,61 @@<br>
-+/* vsprintf with automatic memory allocation.<br>
-+ Copyright (C) 2002-2003 Free Software Foundation, Inc.<br>
-+<br>
-+ This program is free software; you can redistribute it and/or modify it<br>
-+ under the terms of the GNU Library General Public License as published<br>
-+ by the Free Software Foundation; either version 2, or (at your option)<br>
-+ any later version.<br>
-+<br>
-+ This program is distributed in the hope that it will be useful,<br>
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-+ Library General Public License for more details.<br>
-+<br>
-+ You should have received a copy of the GNU Library General Public<br>
-+ License along with this program; if not, write to the Free Software<br>
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,<br>
-+ USA. */<br>
-+<br>
-+#ifndef _VASNPRINTF_H<br>
-+#define _VASNPRINTF_H<br>
-+<br>
-+/* Get va_list. */<br>
-+#include <stdarg.h><br>
-+<br>
-+/* Get size_t. */<br>
-+#include <stddef.h><br>
-+<br>
-+#ifndef __attribute__<br>
-+/* This feature is available in gcc versions 2.5 and later. */<br>
-+# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || __STRICT_ANSI__<br>
-+# define __attribute__(Spec) /* empty */<br>
-+# endif<br>
-+/* The __-protected variants of `format' and `printf' attributes<br>
-+ are accepted by gcc versions 2.6.4 (effectively 2.7) and later. */<br>
-+# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7)<br>
-+# define __format__ format<br>
-+# define __printf__ printf<br>
-+# endif<br>
-+#endif<br>
-+<br>
-+#ifdef __cplusplus<br>
-+extern "C" {<br>
-+#endif<br>
-+<br>
-+/* Write formatted output to a string dynamically allocated with malloc().<br>
-+ You can pass a preallocated buffer for the result in RESULTBUF and its<br>
-+ size in *LENGTHP; otherwise you pass RESULTBUF = NULL.<br>
-+ If successful, return the address of the string (this may be = RESULTBUF<br>
-+ if no dynamic memory allocation was necessary) and set *LENGTHP to the<br>
-+ number of resulting bytes, excluding the trailing NUL. Upon error, set<br>
-+ errno and return NULL. */<br>
-+extern char * asnprintf (char *resultbuf, size_t *lengthp, const char *format, ...)<br>
-+ __attribute__ ((__format__ (__printf__, 3, 4)));<br>
-+extern char * vasnprintf (char *resultbuf, size_t *lengthp, const char *format, va_list args)<br>
-+ __attribute__ ((__format__ (__printf__, 3, 0)));<br>
-+<br>
-+#ifdef __cplusplus<br>
-+}<br>
-+#endif<br>
-+<br>
-+#endif /* _VASNPRINTF_H */<br>
---- lrzsz-0.12.20.safe/intl/vasnwprintf.h 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/intl/vasnwprintf.h 2004-09-12 14:40:34.673699752 -0400<br>
-@@ -0,0 +1,46 @@<br>
-+/* vswprintf with automatic memory allocation.<br>
-+ Copyright (C) 2002-2003 Free Software Foundation, Inc.<br>
-+<br>
-+ This program is free software; you can redistribute it and/or modify it<br>
-+ under the terms of the GNU Library General Public License as published<br>
-+ by the Free Software Foundation; either version 2, or (at your option)<br>
-+ any later version.<br>
-+<br>
-+ This program is distributed in the hope that it will be useful,<br>
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-+ Library General Public License for more details.<br>
-+<br>
-+ You should have received a copy of the GNU Library General Public<br>
-+ License along with this program; if not, write to the Free Software<br>
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,<br>
-+ USA. */<br>
-+<br>
-+#ifndef _VASNWPRINTF_H<br>
-+#define _VASNWPRINTF_H<br>
-+<br>
-+/* Get va_list. */<br>
-+#include <stdarg.h><br>
-+<br>
-+/* Get wchar_t, size_t. */<br>
-+#include <stddef.h><br>
-+<br>
-+#ifdef __cplusplus<br>
-+extern "C" {<br>
-+#endif<br>
-+<br>
-+/* Write formatted output to a string dynamically allocated with malloc().<br>
-+ You can pass a preallocated buffer for the result in RESULTBUF and its<br>
-+ size in *LENGTHP; otherwise you pass RESULTBUF = NULL.<br>
-+ If successful, return the address of the string (this may be = RESULTBUF<br>
-+ if no dynamic memory allocation was necessary) and set *LENGTHP to the<br>
-+ number of resulting bytes, excluding the trailing NUL. Upon error, set<br>
-+ errno and return NULL. */<br>
-+extern wchar_t * asnwprintf (wchar_t *resultbuf, size_t *lengthp, const wchar_t *format, ...);<br>
-+extern wchar_t * vasnwprintf (wchar_t *resultbuf, size_t *lengthp, const wchar_t *format, va_list args);<br>
-+<br>
-+#ifdef __cplusplus<br>
-+}<br>
-+#endif<br>
-+<br>
-+#endif /* _VASNWPRINTF_H */<br>
---- lrzsz-0.12.20.safe/intl/VERSION 1998-04-26 09:22:37.000000000 -0400<br>
-+++ lrzsz-0.12.20/intl/VERSION 2004-09-12 14:40:34.679698840 -0400<br>
-@@ -1 +1 @@<br>
--GNU gettext library from gettext-0.10.32<br>
-+GNU gettext library from gettext-0.14.1<br>
---- lrzsz-0.12.20.safe/intl/wprintf-parse.h 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/intl/wprintf-parse.h 2004-09-12 14:40:34.695696408 -0400<br>
-@@ -0,0 +1,75 @@<br>
-+/* Parse printf format string.<br>
-+ Copyright (C) 1999, 2002-2003 Free Software Foundation, Inc.<br>
-+<br>
-+ This program is free software; you can redistribute it and/or modify it<br>
-+ under the terms of the GNU Library General Public License as published<br>
-+ by the Free Software Foundation; either version 2, or (at your option)<br>
-+ any later version.<br>
-+<br>
-+ This program is distributed in the hope that it will be useful,<br>
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-+ Library General Public License for more details.<br>
-+<br>
-+ You should have received a copy of the GNU Library General Public<br>
-+ License along with this program; if not, write to the Free Software<br>
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,<br>
-+ USA. */<br>
-+<br>
-+#ifndef _WPRINTF_PARSE_H<br>
-+#define _WPRINTF_PARSE_H<br>
-+<br>
-+#include "printf-args.h"<br>
-+<br>
-+<br>
-+/* Flags */<br>
-+#define FLAG_GROUP 1 /* ' flag */<br>
-+#define FLAG_LEFT 2 /* - flag */<br>
-+#define FLAG_SHOWSIGN 4 /* + flag */<br>
-+#define FLAG_SPACE 8 /* space flag */<br>
-+#define FLAG_ALT 16 /* # flag */<br>
-+#define FLAG_ZERO 32<br>
-+<br>
-+/* arg_index value indicating that no argument is consumed. */<br>
-+#define ARG_NONE (~(size_t)0)<br>
-+<br>
-+/* A parsed directive. */<br>
-+typedef struct<br>
-+{<br>
-+ const wchar_t* dir_start;<br>
-+ const wchar_t* dir_end;<br>
-+ int flags;<br>
-+ const wchar_t* width_start;<br>
-+ const wchar_t* width_end;<br>
-+ size_t width_arg_index;<br>
-+ const wchar_t* precision_start;<br>
-+ const wchar_t* precision_end;<br>
-+ size_t precision_arg_index;<br>
-+ wchar_t conversion; /* d i o u x X f e E g G c s p n U % but not C S */<br>
-+ size_t arg_index;<br>
-+}<br>
-+wchar_t_directive;<br>
-+<br>
-+/* A parsed format string. */<br>
-+typedef struct<br>
-+{<br>
-+ size_t count;<br>
-+ wchar_t_directive *dir;<br>
-+ size_t max_width_length;<br>
-+ size_t max_precision_length;<br>
-+}<br>
-+wchar_t_directives;<br>
-+<br>
-+<br>
-+/* Parses the format string. Fills in the number N of directives, and fills<br>
-+ in directives[0], ..., directives[N-1], and sets directives[N].dir_start<br>
-+ to the end of the format string. Also fills in the arg_type fields of the<br>
-+ arguments and the needed count of arguments. */<br>
-+#ifdef STATIC<br>
-+STATIC<br>
-+#else<br>
-+extern<br>
-+#endif<br>
-+int wprintf_parse (const wchar_t *format, wchar_t_directives *d, arguments *a);<br>
-+<br>
-+#endif /* _WPRINTF_PARSE_H */<br>
---- lrzsz-0.12.20.safe/intl/xopen-msg.sed 1998-04-26 09:20:52.000000000 -0400<br>
-+++ lrzsz-0.12.20/intl/xopen-msg.sed 1969-12-31 19:00:00.000000000 -0500<br>
-@@ -1,104 +0,0 @@<br>
--# po2msg.sed - Convert Uniforum style .po file to X/Open style .msg file<br>
--# Copyright (C) 1995 Free Software Foundation, Inc.<br>
--# Ulrich Drepper <<a href="mailto:drepper@gnu.ai.mit.edu" target="_blank">drepper@gnu.ai.mit.edu</a>>, 1995.<br>
--#<br>
--# This program is free software; you can redistribute it and/or modify<br>
--# it under the terms of the GNU General Public License as published by<br>
--# the Free Software Foundation; either version 2, or (at your option)<br>
--# any later version.<br>
--#<br>
--# This program is distributed in the hope that it will be useful,<br>
--# but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
--# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the<br>
--# GNU General Public License for more details.<br>
--#<br>
--# You should have received a copy of the GNU General Public License<br>
--# along with this program; if not, write to the Free Software<br>
--# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.<br>
--#<br>
--#<br>
--# The first directive in the .msg should be the definition of the<br>
--# message set number. We use always set number 1.<br>
--#<br>
--1 {<br>
-- i\<br>
--$set 1 # Automatically created by po2msg.sed<br>
-- h<br>
-- s/.*/0/<br>
-- x<br>
--}<br>
--#<br>
--# We copy all comments into the .msg file. Perhaps they can help.<br>
--#<br>
--/^#/ s/^#[ ]*/$ /p<br>
--#<br>
--# We copy the original message as a comment into the .msg file.<br>
--#<br>
--/^msgid/ {<br>
--# Does not work now<br>
--# /"$/! {<br>
--# s/\\$//<br>
--# s/$/ ... (more lines following)"/<br>
--# }<br>
-- s/^msgid[ ]*"\(.*\)"$/$ Original Message: \1/<br>
-- p<br>
--}<br>
--#<br>
--# The .msg file contains, other then the .po file, only the translations<br>
--# but each given a unique ID. Starting from 1 and incrementing by 1 for<br>
--# each message we assign them to the messages.<br>
--# It is important that the .po file used to generate the cat-id-tbl.c file<br>
--# (with po-to-tbl) is the same as the one used here. (At least the order<br>
--# of declarations must not be changed.)<br>
--#<br>
--/^msgstr/ {<br>
-- s/msgstr[ ]*"\(.*\)"/\1/<br>
-- x<br>
--# The following nice solution is by<br>
--# Bruno <<a href="mailto:Haible@ma2s2.mathematik.uni-karlsruhe.de" target="_blank">Haible@ma2s2.mathematik.uni-karlsruhe.de</a>><br>
-- td<br>
--# Increment a decimal number in pattern space.<br>
--# First hide trailing `9' digits.<br>
-- :d<br>
-- s/9\(_*\)$/_\1/<br>
-- td<br>
--# Assure at least one digit is available.<br>
-- s/^\(_*\)$/0\1/<br>
--# Increment the last digit.<br>
-- s/8\(_*\)$/9\1/<br>
-- s/7\(_*\)$/8\1/<br>
-- s/6\(_*\)$/7\1/<br>
-- s/5\(_*\)$/6\1/<br>
-- s/4\(_*\)$/5\1/<br>
-- s/3\(_*\)$/4\1/<br>
-- s/2\(_*\)$/3\1/<br>
-- s/1\(_*\)$/2\1/<br>
-- s/0\(_*\)$/1\1/<br>
--# Convert the hidden `9' digits to `0's.<br>
-- s/_/0/g<br>
-- x<br>
--# Bring the line in the format `<number> <message>'<br>
-- G<br>
-- s/^[^\n]*$/& /<br>
-- s/\(.*\)\n\([0-9]*\)/\2 \1/<br>
--# Clear flag from last substitution.<br>
-- tb<br>
--# Append the next line.<br>
-- :b<br>
-- N<br>
--# Look whether second part is a continuation line.<br>
-- s/\(.*\n\)"\(.*\)"/\1\2/<br>
--# Yes, then branch.<br>
-- ta<br>
-- P<br>
-- D<br>
--# Note that `D' includes a jump to the start!!<br>
--# We found a continuation line. But before printing insert '\'.<br>
-- :a<br>
-- s/\(.*\)\(\n.*\)/\1\\\2/<br>
-- P<br>
--# We cannot use the sed command `D' here<br>
-- s/.*\n\(.*\)/\1/<br>
-- tb<br>
--}<br>
--d<br>
---- lrzsz-0.12.20.safe/intl/xsize.h 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/intl/xsize.h 2004-09-12 14:40:34.700695648 -0400<br>
-@@ -0,0 +1,109 @@<br>
-+/* xsize.h -- Checked size_t computations.<br>
-+<br>
-+ Copyright (C) 2003 Free Software Foundation, Inc.<br>
-+<br>
-+ This program is free software; you can redistribute it and/or modify it<br>
-+ under the terms of the GNU Library General Public License as published<br>
-+ by the Free Software Foundation; either version 2, or (at your option)<br>
-+ any later version.<br>
-+<br>
-+ This program is distributed in the hope that it will be useful,<br>
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
-+ Library General Public License for more details.<br>
-+<br>
-+ You should have received a copy of the GNU Library General Public<br>
-+ License along with this program; if not, write to the Free Software<br>
-+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,<br>
-+ USA. */<br>
-+<br>
-+#ifndef _XSIZE_H<br>
-+#define _XSIZE_H<br>
-+<br>
-+/* Get size_t. */<br>
-+#include <stddef.h><br>
-+<br>
-+/* Get SIZE_MAX. */<br>
-+#include <limits.h><br>
-+#if HAVE_STDINT_H<br>
-+# include <stdint.h><br>
-+#endif<br>
-+<br>
-+/* The size of memory objects is often computed through expressions of<br>
-+ type size_t. Example:<br>
-+ void* p = malloc (header_size + n * element_size).<br>
-+ These computations can lead to overflow. When this happens, malloc()<br>
-+ returns a piece of memory that is way too small, and the program then<br>
-+ crashes while attempting to fill the memory.<br>
-+ To avoid this, the functions and macros in this file check for overflow.<br>
-+ The convention is that SIZE_MAX represents overflow.<br>
-+ malloc (SIZE_MAX) is not guaranteed to fail -- think of a malloc<br>
-+ implementation that uses mmap --, it's recommended to use size_overflow_p()<br>
-+ or size_in_bounds_p() before invoking malloc().<br>
-+ The example thus becomes:<br>
-+ size_t size = xsum (header_size, xtimes (n, element_size));<br>
-+ void *p = (size_in_bounds_p (size) ? malloc (size) : NULL);<br>
-+*/<br>
-+<br>
-+/* Convert an arbitrary value >= 0 to type size_t. */<br>
-+#define xcast_size_t(N) \<br>
-+ ((N) <= SIZE_MAX ? (size_t) (N) : SIZE_MAX)<br>
-+<br>
-+/* Sum of two sizes, with overflow check. */<br>
-+static inline size_t<br>
-+#if __GNUC__ >= 3<br>
-+__attribute__ ((__pure__))<br>
-+#endif<br>
-+xsum (size_t size1, size_t size2)<br>
-+{<br>
-+ size_t sum = size1 + size2;<br>
-+ return (sum >= size1 ? sum : SIZE_MAX);<br>
-+}<br>
-+<br>
-+/* Sum of three sizes, with overflow check. */<br>
-+static inline size_t<br>
-+#if __GNUC__ >= 3<br>
-+__attribute__ ((__pure__))<br>
-+#endif<br>
-+xsum3 (size_t size1, size_t size2, size_t size3)<br>
-+{<br>
-+ return xsum (xsum (size1, size2), size3);<br>
-+}<br>
-+<br>
-+/* Sum of four sizes, with overflow check. */<br>
-+static inline size_t<br>
-+#if __GNUC__ >= 3<br>
-+__attribute__ ((__pure__))<br>
-+#endif<br>
-+xsum4 (size_t size1, size_t size2, size_t size3, size_t size4)<br>
-+{<br>
-+ return xsum (xsum (xsum (size1, size2), size3), size4);<br>
-+}<br>
-+<br>
-+/* Maximum of two sizes, with overflow check. */<br>
-+static inline size_t<br>
-+#if __GNUC__ >= 3<br>
-+__attribute__ ((__pure__))<br>
-+#endif<br>
-+xmax (size_t size1, size_t size2)<br>
-+{<br>
-+ /* No explicit check is needed here, because for any n:<br>
-+ max (SIZE_MAX, n) == SIZE_MAX and max (n, SIZE_MAX) == SIZE_MAX. */<br>
-+ return (size1 >= size2 ? size1 : size2);<br>
-+}<br>
-+<br>
-+/* Multiplication of a count with an element size, with overflow check.<br>
-+ The count must be >= 0 and the element size must be > 0.<br>
-+ This is a macro, not an inline function, so that it works correctly even<br>
-+ when N is of a wider tupe and N > SIZE_MAX. */<br>
-+#define xtimes(N, ELSIZE) \<br>
-+ ((N) <= SIZE_MAX / (ELSIZE) ? (size_t) (N) * (ELSIZE) : SIZE_MAX)<br>
-+<br>
-+/* Check for overflow. */<br>
-+#define size_overflow_p(SIZE) \<br>
-+ ((SIZE) == SIZE_MAX)<br>
-+/* Check against overflow. */<br>
-+#define size_in_bounds_p(SIZE) \<br>
-+ ((SIZE) != SIZE_MAX)<br>
-+<br>
-+#endif /* _XSIZE_H */<br>
---- lrzsz-0.12.20.safe/m4/ChangeLog 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/m4/ChangeLog 2004-09-12 14:40:35.054641840 -0400<br>
-@@ -0,0 +1,32 @@<br>
-+2004-09-12 gettextize <<a href="mailto:bug-gnu-gettext@gnu.org" target="_blank">bug-gnu-gettext@gnu.org</a>><br>
-+<br>
-+ * codeset.m4: New file, from gettext-0.14.1.<br>
-+ * gettext.m4: New file, from gettext-0.14.1.<br>
-+ * glibc21.m4: New file, from gettext-0.14.1.<br>
-+ * iconv.m4: New file, from gettext-0.14.1.<br>
-+ * intdiv0.m4: New file, from gettext-0.14.1.<br>
-+ * intmax.m4: New file, from gettext-0.14.1.<br>
-+ * inttypes.m4: New file, from gettext-0.14.1.<br>
-+ * inttypes_h.m4: New file, from gettext-0.14.1.<br>
-+ * inttypes-pri.m4: New file, from gettext-0.14.1.<br>
-+ * isc-posix.m4: New file, from gettext-0.14.1.<br>
-+ * lcmessage.m4: New file, from gettext-0.14.1.<br>
-+ * lib-ld.m4: New file, from gettext-0.14.1.<br>
-+ * lib-link.m4: New file, from gettext-0.14.1.<br>
-+ * lib-prefix.m4: New file, from gettext-0.14.1.<br>
-+ * longdouble.m4: New file, from gettext-0.14.1.<br>
-+ * longlong.m4: New file, from gettext-0.14.1.<br>
-+ * nls.m4: New file, from gettext-0.14.1.<br>
-+ * po.m4: New file, from gettext-0.14.1.<br>
-+ * printf-posix.m4: New file, from gettext-0.14.1.<br>
-+ * progtest.m4: New file, from gettext-0.14.1.<br>
-+ * signed.m4: New file, from gettext-0.14.1.<br>
-+ * size_max.m4: New file, from gettext-0.14.1.<br>
-+ * stdint_h.m4: New file, from gettext-0.14.1.<br>
-+ * uintmax_t.m4: New file, from gettext-0.14.1.<br>
-+ * ulonglong.m4: New file, from gettext-0.14.1.<br>
-+ * wchar_t.m4: New file, from gettext-0.14.1.<br>
-+ * wint_t.m4: New file, from gettext-0.14.1.<br>
-+ * xsize.m4: New file, from gettext-0.14.1.<br>
-+ * Makefile.am: New file.<br>
-+<br>
---- lrzsz-0.12.20.safe/m4/codeset.m4 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/m4/codeset.m4 2004-09-12 14:40:34.820677408 -0400<br>
-@@ -0,0 +1,23 @@<br>
-+# codeset.m4 serial AM1 (gettext-0.10.40)<br>
-+dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.<br>
-+dnl This file is free software, distributed under the terms of the GNU<br>
-+dnl General Public License. As a special exception to the GNU General<br>
-+dnl Public License, this file may be distributed as part of a program<br>
-+dnl that contains a configuration script generated by Autoconf, under<br>
-+dnl the same distribution terms as the rest of that program.<br>
-+<br>
-+dnl From Bruno Haible.<br>
-+<br>
-+AC_DEFUN([AM_LANGINFO_CODESET],<br>
-+[<br>
-+ AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset,<br>
-+ [AC_TRY_LINK([#include <langinfo.h>],<br>
-+ [char* cs = nl_langinfo(CODESET);],<br>
-+ am_cv_langinfo_codeset=yes,<br>
-+ am_cv_langinfo_codeset=no)<br>
-+ ])<br>
-+ if test $am_cv_langinfo_codeset = yes; then<br>
-+ AC_DEFINE(HAVE_LANGINFO_CODESET, 1,<br>
-+ [Define if you have <langinfo.h> and nl_langinfo(CODESET).])<br>
-+ fi<br>
-+])<br>
---- lrzsz-0.12.20.safe/m4/gettext.m4 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/m4/gettext.m4 2004-09-12 14:40:34.826676496 -0400<br>
-@@ -0,0 +1,487 @@<br>
-+# gettext.m4 serial 28 (gettext-0.13)<br>
-+dnl Copyright (C) 1995-2003 Free Software Foundation, Inc.<br>
-+dnl This file is free software, distributed under the terms of the GNU<br>
-+dnl General Public License. As a special exception to the GNU General<br>
-+dnl Public License, this file may be distributed as part of a program<br>
-+dnl that contains a configuration script generated by Autoconf, under<br>
-+dnl the same distribution terms as the rest of that program.<br>
-+dnl<br>
-+dnl This file can can be used in projects which are not available under<br>
-+dnl the GNU General Public License or the GNU Library General Public<br>
-+dnl License but which still want to provide support for the GNU gettext<br>
-+dnl functionality.<br>
-+dnl Please note that the actual code of the GNU gettext library is covered<br>
-+dnl by the GNU Library General Public License, and the rest of the GNU<br>
-+dnl gettext package package is covered by the GNU General Public License.<br>
-+dnl They are *not* in the public domain.<br>
-+<br>
-+dnl Authors:<br>
-+dnl Ulrich Drepper <<a href="mailto:drepper@cygnus.com" target="_blank">drepper@cygnus.com</a>>, 1995-2000.<br>
-+dnl Bruno Haible <<a href="mailto:haible@clisp.cons.org" target="_blank">haible@clisp.cons.org</a>>, 2000-2003.<br>
-+<br>
-+dnl Macro to add for using GNU gettext.<br>
-+<br>
-+dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]).<br>
-+dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The<br>
-+dnl default (if it is not specified or empty) is 'no-libtool'.<br>
-+dnl INTLSYMBOL should be 'external' for packages with no intl directory,<br>
-+dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory.<br>
-+dnl If INTLSYMBOL is 'use-libtool', then a libtool library<br>
-+dnl $(top_builddir)/intl/<a href="http://libintl.la" rel="noreferrer" target="_blank">libintl.la</a> will be created (shared and/or static,<br>
-+dnl depending on --{enable,disable}-{shared,static} and on the presence of<br>
-+dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library<br>
-+dnl $(top_builddir)/intl/libintl.a will be created.<br>
-+dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext<br>
-+dnl implementations (in libc or libintl) without the ngettext() function<br>
-+dnl will be ignored. If NEEDSYMBOL is specified and is<br>
-+dnl 'need-formatstring-macros', then GNU gettext implementations that don't<br>
-+dnl support the ISO C 99 <inttypes.h> formatstring macros will be ignored.<br>
-+dnl INTLDIR is used to find the intl libraries. If empty,<br>
-+dnl the value `$(top_builddir)/intl/' is used.<br>
-+dnl<br>
-+dnl The result of the configuration is one of three cases:<br>
-+dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled<br>
-+dnl and used.<br>
-+dnl Catalog format: GNU --> install in $(datadir)<br>
-+dnl Catalog extension: .mo after installation, .gmo in source tree<br>
-+dnl 2) GNU gettext has been found in the system's C library.<br>
-+dnl Catalog format: GNU --> install in $(datadir)<br>
-+dnl Catalog extension: .mo after installation, .gmo in source tree<br>
-+dnl 3) No internationalization, always use English msgid.<br>
-+dnl Catalog format: none<br>
-+dnl Catalog extension: none<br>
-+dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur.<br>
-+dnl The use of .gmo is historical (it was needed to avoid overwriting the<br>
-+dnl GNU format catalogs when building on a platform with an X/Open gettext),<br>
-+dnl but we keep it in order not to force irrelevant filename changes on the<br>
-+dnl maintainers.<br>
-+dnl<br>
-+AC_DEFUN([AM_GNU_GETTEXT],<br>
-+[<br>
-+ dnl Argument checking.<br>
-+ ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], ,<br>
-+ [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT<br>
-+])])])])])<br>
-+ ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,<br>
-+ [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT<br>
-+])])])])<br>
-+ define(gt_included_intl, ifelse([$1], [external], [no], [yes]))<br>
-+ define(gt_libtool_suffix_prefix, ifelse([$1], [use-libtool], [l], []))<br>
-+<br>
-+ AC_REQUIRE([AM_PO_SUBDIRS])dnl<br>
-+ ifelse(gt_included_intl, yes, [<br>
-+ AC_REQUIRE([AM_INTL_SUBDIR])dnl<br>
-+ ])<br>
-+<br>
-+ dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.<br>
-+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])<br>
-+ AC_REQUIRE([AC_LIB_RPATH])<br>
-+<br>
-+ dnl Sometimes libintl requires libiconv, so first search for libiconv.<br>
-+ dnl Ideally we would do this search only after the<br>
-+ dnl if test "$USE_NLS" = "yes"; then<br>
-+ dnl if test "$gt_cv_func_gnugettext_libc" != "yes"; then<br>
-+ dnl tests. But if <a href="http://configure.in" rel="noreferrer" target="_blank">configure.in</a> invokes AM_ICONV after AM_GNU_GETTEXT<br>
-+ dnl the configure script would need to contain the same shell code<br>
-+ dnl again, outside any 'if'. There are two solutions:<br>
-+ dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'.<br>
-+ dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE.<br>
-+ dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not<br>
-+ dnl documented, we avoid it.<br>
-+ ifelse(gt_included_intl, yes, , [<br>
-+ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])<br>
-+ ])<br>
-+<br>
-+ dnl Set USE_NLS.<br>
-+ AM_NLS<br>
-+<br>
-+ ifelse(gt_included_intl, yes, [<br>
-+ BUILD_INCLUDED_LIBINTL=no<br>
-+ USE_INCLUDED_LIBINTL=no<br>
-+ ])<br>
-+ LIBINTL=<br>
-+ LTLIBINTL=<br>
-+ POSUB=<br>
-+<br>
-+ dnl If we use NLS figure out what method<br>
-+ if test "$USE_NLS" = "yes"; then<br>
-+ gt_use_preinstalled_gnugettext=no<br>
-+ ifelse(gt_included_intl, yes, [<br>
-+ AC_MSG_CHECKING([whether included gettext is requested])<br>
-+ AC_ARG_WITH(included-gettext,<br>
-+ [ --with-included-gettext use the GNU gettext library included here],<br>
-+ nls_cv_force_use_gnu_gettext=$withval,<br>
-+ nls_cv_force_use_gnu_gettext=no)<br>
-+ AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)<br>
-+<br>
-+ nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"<br>
-+ if test "$nls_cv_force_use_gnu_gettext" != "yes"; then<br>
-+ ])<br>
-+ dnl User does not insist on using GNU NLS library. Figure out what<br>
-+ dnl to use. If GNU gettext is available we use this. Else we have<br>
-+ dnl to fall back to GNU NLS library.<br>
-+<br>
-+ dnl Add a version number to the cache macros.<br>
-+ define([gt_api_version], ifelse([$2], [need-formatstring-macros], 3, ifelse([$2], [need-ngettext], 2, 1)))<br>
-+ define([gt_cv_func_gnugettext_libc], [gt_cv_func_gnugettext]gt_api_version[_libc])<br>
-+ define([gt_cv_func_gnugettext_libintl], [gt_cv_func_gnugettext]gt_api_version[_libintl])<br>
-+<br>
-+ AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,<br>
-+ [AC_TRY_LINK([#include <libintl.h><br>
-+]ifelse([$2], [need-formatstring-macros],<br>
-+[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION<br>
-+#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)<br>
-+#endif<br>
-+changequote(,)dnl<br>
-+typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];<br>
-+changequote([,])dnl<br>
-+], [])[extern int _nl_msg_cat_cntr;<br>
-+extern int *_nl_domain_bindings;],<br>
-+ [bindtextdomain ("", "");<br>
-+return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings],<br>
-+ gt_cv_func_gnugettext_libc=yes,<br>
-+ gt_cv_func_gnugettext_libc=no)])<br>
-+<br>
-+ if test "$gt_cv_func_gnugettext_libc" != "yes"; then<br>
-+ dnl Sometimes libintl requires libiconv, so first search for libiconv.<br>
-+ ifelse(gt_included_intl, yes, , [<br>
-+ AM_ICONV_LINK<br>
-+ ])<br>
-+ dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL<br>
-+ dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv])<br>
-+ dnl because that would add "-liconv" to LIBINTL and LTLIBINTL<br>
-+ dnl even if libiconv doesn't exist.<br>
-+ AC_LIB_LINKFLAGS_BODY([intl])<br>
-+ AC_CACHE_CHECK([for GNU gettext in libintl],<br>
-+ gt_cv_func_gnugettext_libintl,<br>
-+ [gt_save_CPPFLAGS="$CPPFLAGS"<br>
-+ CPPFLAGS="$CPPFLAGS $INCINTL"<br>
-+ gt_save_LIBS="$LIBS"<br>
-+ LIBS="$LIBS $LIBINTL"<br>
-+ dnl Now see whether libintl exists and does not depend on libiconv.<br>
-+ AC_TRY_LINK([#include <libintl.h><br>
-+]ifelse([$2], [need-formatstring-macros],<br>
-+[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION<br>
-+#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)<br>
-+#endif<br>
-+changequote(,)dnl<br>
-+typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];<br>
-+changequote([,])dnl<br>
-+], [])[extern int _nl_msg_cat_cntr;<br>
-+extern<br>
-+#ifdef __cplusplus<br>
-+"C"<br>
-+#endif<br>
-+const char *_nl_expand_alias ();],<br>
-+ [bindtextdomain ("", "");<br>
-+return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],<br>
-+ gt_cv_func_gnugettext_libintl=yes,<br>
-+ gt_cv_func_gnugettext_libintl=no)<br>
-+ dnl Now see whether libintl exists and depends on libiconv.<br>
-+ if test "$gt_cv_func_gnugettext_libintl" != yes && test -n "$LIBICONV"; then<br>
-+ LIBS="$LIBS $LIBICONV"<br>
-+ AC_TRY_LINK([#include <libintl.h><br>
-+]ifelse([$2], [need-formatstring-macros],<br>
-+[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION<br>
-+#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)<br>
-+#endif<br>
-+changequote(,)dnl<br>
-+typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];<br>
-+changequote([,])dnl<br>
-+], [])[extern int _nl_msg_cat_cntr;<br>
-+extern<br>
-+#ifdef __cplusplus<br>
-+"C"<br>
-+#endif<br>
-+const char *_nl_expand_alias ();],<br>
-+ [bindtextdomain ("", "");<br>
-+return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],<br>
-+ [LIBINTL="$LIBINTL $LIBICONV"<br>
-+ LTLIBINTL="$LTLIBINTL $LTLIBICONV"<br>
-+ gt_cv_func_gnugettext_libintl=yes<br>
-+ ])<br>
-+ fi<br>
-+ CPPFLAGS="$gt_save_CPPFLAGS"<br>
-+ LIBS="$gt_save_LIBS"])<br>
-+ fi<br>
-+<br>
-+ dnl If an already present or preinstalled GNU gettext() is found,<br>
-+ dnl use it. But if this macro is used in GNU gettext, and GNU<br>
-+ dnl gettext is already preinstalled in libintl, we update this<br>
-+ dnl libintl. (Cf. the install rule in intl/Makefile.in.)<br>
-+ if test "$gt_cv_func_gnugettext_libc" = "yes" \<br>
-+ || { test "$gt_cv_func_gnugettext_libintl" = "yes" \<br>
-+ && test "$PACKAGE" != gettext-runtime \<br>
-+ && test "$PACKAGE" != gettext-tools; }; then<br>
-+ gt_use_preinstalled_gnugettext=yes<br>
-+ else<br>
-+ dnl Reset the values set by searching for libintl.<br>
-+ LIBINTL=<br>
-+ LTLIBINTL=<br>
-+ INCINTL=<br>
-+ fi<br>
-+<br>
-+ ifelse(gt_included_intl, yes, [<br>
-+ if test "$gt_use_preinstalled_gnugettext" != "yes"; then<br>
-+ dnl GNU gettext is not found in the C library.<br>
-+ dnl Fall back on included GNU gettext library.<br>
-+ nls_cv_use_gnu_gettext=yes<br>
-+ fi<br>
-+ fi<br>
-+<br>
-+ if test "$nls_cv_use_gnu_gettext" = "yes"; then<br>
-+ dnl Mark actions used to generate GNU NLS library.<br>
-+ BUILD_INCLUDED_LIBINTL=yes<br>
-+ USE_INCLUDED_LIBINTL=yes<br>
-+ LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV"<br>
-+ LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV"<br>
-+ LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`<br>
-+ fi<br>
-+<br>
-+ if test "$gt_use_preinstalled_gnugettext" = "yes" \<br>
-+ || test "$nls_cv_use_gnu_gettext" = "yes"; then<br>
-+ dnl Mark actions to use GNU gettext tools.<br>
-+ CATOBJEXT=.gmo<br>
-+ fi<br>
-+ ])<br>
-+<br>
-+ if test "$gt_use_preinstalled_gnugettext" = "yes" \<br>
-+ || test "$nls_cv_use_gnu_gettext" = "yes"; then<br>
-+ AC_DEFINE(ENABLE_NLS, 1,<br>
-+ [Define to 1 if translation of program messages to the user's native language<br>
-+ is requested.])<br>
-+ else<br>
-+ USE_NLS=no<br>
-+ fi<br>
-+ fi<br>
-+<br>
-+ AC_MSG_CHECKING([whether to use NLS])<br>
-+ AC_MSG_RESULT([$USE_NLS])<br>
-+ if test "$USE_NLS" = "yes"; then<br>
-+ AC_MSG_CHECKING([where the gettext function comes from])<br>
-+ if test "$gt_use_preinstalled_gnugettext" = "yes"; then<br>
-+ if test "$gt_cv_func_gnugettext_libintl" = "yes"; then<br>
-+ gt_source="external libintl"<br>
-+ else<br>
-+ gt_source="libc"<br>
-+ fi<br>
-+ else<br>
-+ gt_source="included intl directory"<br>
-+ fi<br>
-+ AC_MSG_RESULT([$gt_source])<br>
-+ fi<br>
-+<br>
-+ if test "$USE_NLS" = "yes"; then<br>
-+<br>
-+ if test "$gt_use_preinstalled_gnugettext" = "yes"; then<br>
-+ if test "$gt_cv_func_gnugettext_libintl" = "yes"; then<br>
-+ AC_MSG_CHECKING([how to link with libintl])<br>
-+ AC_MSG_RESULT([$LIBINTL])<br>
-+ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])<br>
-+ fi<br>
-+<br>
-+ dnl For backward compatibility. Some packages may be using this.<br>
-+ AC_DEFINE(HAVE_GETTEXT, 1,<br>
-+ [Define if the GNU gettext() function is already present or preinstalled.])<br>
-+ AC_DEFINE(HAVE_DCGETTEXT, 1,<br>
-+ [Define if the GNU dcgettext() function is already present or preinstalled.])<br>
-+ fi<br>
-+<br>
-+ dnl We need to process the po/ directory.<br>
-+ POSUB=po<br>
-+ fi<br>
-+<br>
-+ ifelse(gt_included_intl, yes, [<br>
-+ dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL<br>
-+ dnl to 'yes' because some of the testsuite requires it.<br>
-+ if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then<br>
-+ BUILD_INCLUDED_LIBINTL=yes<br>
-+ fi<br>
-+<br>
-+ dnl Make all variables we use known to autoconf.<br>
-+ AC_SUBST(BUILD_INCLUDED_LIBINTL)<br>
-+ AC_SUBST(USE_INCLUDED_LIBINTL)<br>
-+ AC_SUBST(CATOBJEXT)<br>
-+<br>
-+ dnl For backward compatibility. Some configure.ins may be using this.<br>
-+ nls_cv_header_intl=<br>
-+ nls_cv_header_libgt=<br>
-+<br>
-+ dnl For backward compatibility. Some Makefiles may be using this.<br>
-+ DATADIRNAME=share<br>
-+ AC_SUBST(DATADIRNAME)<br>
-+<br>
-+ dnl For backward compatibility. Some Makefiles may be using this.<br>
-+ INSTOBJEXT=.mo<br>
-+ AC_SUBST(INSTOBJEXT)<br>
-+<br>
-+ dnl For backward compatibility. Some Makefiles may be using this.<br>
-+ GENCAT=gencat<br>
-+ AC_SUBST(GENCAT)<br>
-+<br>
-+ dnl For backward compatibility. Some Makefiles may be using this.<br>
-+ if test "$USE_INCLUDED_LIBINTL" = yes; then<br>
-+ INTLOBJS="\$(GETTOBJS)"<br>
-+ fi<br>
-+ AC_SUBST(INTLOBJS)<br>
-+<br>
-+ dnl Enable libtool support if the surrounding package wishes it.<br>
-+ INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix<br>
-+ AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)<br>
-+ ])<br>
-+<br>
-+ dnl For backward compatibility. Some Makefiles may be using this.<br>
-+ INTLLIBS="$LIBINTL"<br>
-+ AC_SUBST(INTLLIBS)<br>
-+<br>
-+ dnl Make all documented variables known to autoconf.<br>
-+ AC_SUBST(LIBINTL)<br>
-+ AC_SUBST(LTLIBINTL)<br>
-+ AC_SUBST(POSUB)<br>
-+])<br>
-+<br>
-+<br>
-+dnl Checks for all prerequisites of the intl subdirectory,<br>
-+dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS,<br>
-+dnl USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL.<br>
-+AC_DEFUN([AM_INTL_SUBDIR],<br>
-+[<br>
-+ AC_REQUIRE([AC_PROG_INSTALL])dnl<br>
-+ AC_REQUIRE([AM_MKINSTALLDIRS])dnl<br>
-+ AC_REQUIRE([AC_PROG_CC])dnl<br>
-+ AC_REQUIRE([AC_CANONICAL_HOST])dnl<br>
-+ AC_REQUIRE([AC_PROG_RANLIB])dnl<br>
-+ AC_REQUIRE([AC_ISC_POSIX])dnl<br>
-+ AC_REQUIRE([AC_HEADER_STDC])dnl<br>
-+ AC_REQUIRE([AC_C_CONST])dnl<br>
-+ AC_REQUIRE([bh_C_SIGNED])dnl<br>
-+ AC_REQUIRE([AC_C_INLINE])dnl<br>
-+ AC_REQUIRE([AC_TYPE_OFF_T])dnl<br>
-+ AC_REQUIRE([AC_TYPE_SIZE_T])dnl<br>
-+ AC_REQUIRE([jm_AC_TYPE_LONG_LONG])dnl<br>
-+ AC_REQUIRE([gt_TYPE_LONGDOUBLE])dnl<br>
-+ AC_REQUIRE([gt_TYPE_WCHAR_T])dnl<br>
-+ AC_REQUIRE([gt_TYPE_WINT_T])dnl<br>
-+ AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])<br>
-+ AC_REQUIRE([jm_AC_HEADER_STDINT_H])<br>
-+ AC_REQUIRE([gt_TYPE_INTMAX_T])<br>
-+ AC_REQUIRE([gt_PRINTF_POSIX])<br>
-+ AC_REQUIRE([AC_FUNC_ALLOCA])dnl<br>
-+ AC_REQUIRE([AC_FUNC_MMAP])dnl<br>
-+ AC_REQUIRE([jm_GLIBC21])dnl<br>
-+ AC_REQUIRE([gt_INTDIV0])dnl<br>
-+ AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])dnl<br>
-+ AC_REQUIRE([gt_HEADER_INTTYPES_H])dnl<br>
-+ AC_REQUIRE([gt_INTTYPES_PRI])dnl<br>
-+ AC_REQUIRE([gl_XSIZE])dnl<br>
-+<br>
-+ AC_CHECK_TYPE([ptrdiff_t], ,<br>
-+ [AC_DEFINE([ptrdiff_t], [long],<br>
-+ [Define as the type of the result of subtracting two pointers, if the system doesn't define it.])<br>
-+ ])<br>
-+ AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \<br>
-+stdlib.h string.h unistd.h sys/param.h])<br>
-+ AC_CHECK_FUNCS([asprintf fwprintf getcwd getegid geteuid getgid getuid \<br>
-+mempcpy munmap putenv setenv setlocale snprintf stpcpy strcasecmp strdup \<br>
-+strtoul tsearch wcslen __argz_count __argz_stringify __argz_next \<br>
-+__fsetlocking])<br>
-+<br>
-+ dnl Use the _snprintf function only if it is declared (because on NetBSD it<br>
-+ dnl is defined as a weak alias of snprintf; we prefer to use the latter).<br>
-+ gt_CHECK_DECL(_snprintf, [#include <stdio.h>])<br>
-+ gt_CHECK_DECL(_snwprintf, [#include <stdio.h>])<br>
-+<br>
-+ dnl Use the *_unlocked functions only if they are declared.<br>
-+ dnl (because some of them were defined without being declared in Solaris<br>
-+ dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built<br>
-+ dnl on Solaris 2.5.1 to run on Solaris 2.6).<br>
-+ dnl Don't use AC_CHECK_DECLS because it isn't supported in autoconf-2.13.<br>
-+ gt_CHECK_DECL(feof_unlocked, [#include <stdio.h>])<br>
-+ gt_CHECK_DECL(fgets_unlocked, [#include <stdio.h>])<br>
-+ gt_CHECK_DECL(getc_unlocked, [#include <stdio.h>])<br>
-+<br>
-+ case $gt_cv_func_printf_posix in<br>
-+ *yes) HAVE_POSIX_PRINTF=1 ;;<br>
-+ *) HAVE_POSIX_PRINTF=0 ;;<br>
-+ esac<br>
-+ AC_SUBST([HAVE_POSIX_PRINTF])<br>
-+ if test "$ac_cv_func_asprintf" = yes; then<br>
-+ HAVE_ASPRINTF=1<br>
-+ else<br>
-+ HAVE_ASPRINTF=0<br>
-+ fi<br>
-+ AC_SUBST([HAVE_ASPRINTF])<br>
-+ if test "$ac_cv_func_snprintf" = yes; then<br>
-+ HAVE_SNPRINTF=1<br>
-+ else<br>
-+ HAVE_SNPRINTF=0<br>
-+ fi<br>
-+ AC_SUBST([HAVE_SNPRINTF])<br>
-+ if test "$ac_cv_func_wprintf" = yes; then<br>
-+ HAVE_WPRINTF=1<br>
-+ else<br>
-+ HAVE_WPRINTF=0<br>
-+ fi<br>
-+ AC_SUBST([HAVE_WPRINTF])<br>
-+<br>
-+ AM_ICONV<br>
-+ AM_LANGINFO_CODESET<br>
-+ if test $ac_cv_header_locale_h = yes; then<br>
-+ AM_LC_MESSAGES<br>
-+ fi<br>
-+<br>
-+ dnl intl/plural.c is generated from intl/plural.y. It requires bison,<br>
-+ dnl because plural.y uses bison specific features. It requires at least<br>
-+ dnl bison-1.26 because earlier versions generate a plural.c that doesn't<br>
-+ dnl compile.<br>
-+ dnl bison is only needed for the maintainer (who touches plural.y). But in<br>
-+ dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put<br>
-+ dnl the rule in general Makefile. Now, some people carelessly touch the<br>
-+ dnl files or have a broken "make" program, hence the plural.c rule will<br>
-+ dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not<br>
-+ dnl present or too old.<br>
-+ AC_CHECK_PROGS([INTLBISON], [bison])<br>
-+ if test -z "$INTLBISON"; then<br>
-+ ac_verc_fail=yes<br>
-+ else<br>
-+ dnl Found it, now check the version.<br>
-+ AC_MSG_CHECKING([version of bison])<br>
-+changequote(<<,>>)dnl<br>
-+ ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`<br>
-+ case $ac_prog_version in<br>
-+ '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;<br>
-+ 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)<br>
-+changequote([,])dnl<br>
-+ ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;<br>
-+ *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;<br>
-+ esac<br>
-+ AC_MSG_RESULT([$ac_prog_version])<br>
-+ fi<br>
-+ if test $ac_verc_fail = yes; then<br>
-+ INTLBISON=:<br>
-+ fi<br>
-+])<br>
-+<br>
-+<br>
-+dnl gt_CHECK_DECL(FUNC, INCLUDES)<br>
-+dnl Check whether a function is declared.<br>
-+AC_DEFUN([gt_CHECK_DECL],<br>
-+[<br>
-+ AC_CACHE_CHECK([whether $1 is declared], ac_cv_have_decl_$1,<br>
-+ [AC_TRY_COMPILE([$2], [<br>
-+#ifndef $1<br>
-+ char *p = (char *) $1;<br>
-+#endif<br>
-+], ac_cv_have_decl_$1=yes, ac_cv_have_decl_$1=no)])<br>
-+ if test $ac_cv_have_decl_$1 = yes; then<br>
-+ gt_value=1<br>
-+ else<br>
-+ gt_value=0<br>
-+ fi<br>
-+ AC_DEFINE_UNQUOTED([HAVE_DECL_]translit($1, [a-z], [A-Z]), [$gt_value],<br>
-+ [Define to 1 if you have the declaration of `$1', and to 0 if you don't.])<br>
-+])<br>
-+<br>
-+<br>
-+dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version])<br>
-+AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])<br>
---- lrzsz-0.12.20.safe/m4/glibc21.m4 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/m4/glibc21.m4 2004-09-12 14:40:34.833675432 -0400<br>
-@@ -0,0 +1,32 @@<br>
-+# glibc21.m4 serial 2 (fileutils-4.1.3, gettext-0.10.40)<br>
-+dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.<br>
-+dnl This file is free software, distributed under the terms of the GNU<br>
-+dnl General Public License. As a special exception to the GNU General<br>
-+dnl Public License, this file may be distributed as part of a program<br>
-+dnl that contains a configuration script generated by Autoconf, under<br>
-+dnl the same distribution terms as the rest of that program.<br>
-+<br>
-+# Test for the GNU C Library, version 2.1 or newer.<br>
-+# From Bruno Haible.<br>
-+<br>
-+AC_DEFUN([jm_GLIBC21],<br>
-+ [<br>
-+ AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer,<br>
-+ ac_cv_gnu_library_2_1,<br>
-+ [AC_EGREP_CPP([Lucky GNU user],<br>
-+ [<br>
-+#include <features.h><br>
-+#ifdef __GNU_LIBRARY__<br>
-+ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)<br>
-+ Lucky GNU user<br>
-+ #endif<br>
-+#endif<br>
-+ ],<br>
-+ ac_cv_gnu_library_2_1=yes,<br>
-+ ac_cv_gnu_library_2_1=no)<br>
-+ ]<br>
-+ )<br>
-+ AC_SUBST(GLIBC21)<br>
-+ GLIBC21="$ac_cv_gnu_library_2_1"<br>
-+ ]<br>
-+)<br>
---- lrzsz-0.12.20.safe/m4/iconv.m4 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/m4/iconv.m4 2004-09-12 14:40:34.839674520 -0400<br>
-@@ -0,0 +1,103 @@<br>
-+# iconv.m4 serial AM4 (gettext-0.11.3)<br>
-+dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.<br>
-+dnl This file is free software, distributed under the terms of the GNU<br>
-+dnl General Public License. As a special exception to the GNU General<br>
-+dnl Public License, this file may be distributed as part of a program<br>
-+dnl that contains a configuration script generated by Autoconf, under<br>
-+dnl the same distribution terms as the rest of that program.<br>
-+<br>
-+dnl From Bruno Haible.<br>
-+<br>
-+AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],<br>
-+[<br>
-+ dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.<br>
-+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])<br>
-+ AC_REQUIRE([AC_LIB_RPATH])<br>
-+<br>
-+ dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV<br>
-+ dnl accordingly.<br>
-+ AC_LIB_LINKFLAGS_BODY([iconv])<br>
-+])<br>
-+<br>
-+AC_DEFUN([AM_ICONV_LINK],<br>
-+[<br>
-+ dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and<br>
-+ dnl those with the standalone portable GNU libiconv installed).<br>
-+<br>
-+ dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV<br>
-+ dnl accordingly.<br>
-+ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])<br>
-+<br>
-+ dnl Add $INCICONV to CPPFLAGS before performing the following checks,<br>
-+ dnl because if the user has installed libiconv and not disabled its use<br>
-+ dnl via --without-libiconv-prefix, he wants to use it. The first<br>
-+ dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed.<br>
-+ am_save_CPPFLAGS="$CPPFLAGS"<br>
-+ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])<br>
-+<br>
-+ AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [<br>
-+ am_cv_func_iconv="no, consider installing GNU libiconv"<br>
-+ am_cv_lib_iconv=no<br>
-+ AC_TRY_LINK([#include <stdlib.h><br>
-+#include <iconv.h>],<br>
-+ [iconv_t cd = iconv_open("","");<br>
-+ iconv(cd,NULL,NULL,NULL,NULL);<br>
-+ iconv_close(cd);],<br>
-+ am_cv_func_iconv=yes)<br>
-+ if test "$am_cv_func_iconv" != yes; then<br>
-+ am_save_LIBS="$LIBS"<br>
-+ LIBS="$LIBS $LIBICONV"<br>
-+ AC_TRY_LINK([#include <stdlib.h><br>
-+#include <iconv.h>],<br>
-+ [iconv_t cd = iconv_open("","");<br>
-+ iconv(cd,NULL,NULL,NULL,NULL);<br>
-+ iconv_close(cd);],<br>
-+ am_cv_lib_iconv=yes<br>
-+ am_cv_func_iconv=yes)<br>
-+ LIBS="$am_save_LIBS"<br>
-+ fi<br>
-+ ])<br>
-+ if test "$am_cv_func_iconv" = yes; then<br>
-+ AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])<br>
-+ fi<br>
-+ if test "$am_cv_lib_iconv" = yes; then<br>
-+ AC_MSG_CHECKING([how to link with libiconv])<br>
-+ AC_MSG_RESULT([$LIBICONV])<br>
-+ else<br>
-+ dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV<br>
-+ dnl either.<br>
-+ CPPFLAGS="$am_save_CPPFLAGS"<br>
-+ LIBICONV=<br>
-+ LTLIBICONV=<br>
-+ fi<br>
-+ AC_SUBST(LIBICONV)<br>
-+ AC_SUBST(LTLIBICONV)<br>
-+])<br>
-+<br>
-+AC_DEFUN([AM_ICONV],<br>
-+[<br>
-+ AM_ICONV_LINK<br>
-+ if test "$am_cv_func_iconv" = yes; then<br>
-+ AC_MSG_CHECKING([for iconv declaration])<br>
-+ AC_CACHE_VAL(am_cv_proto_iconv, [<br>
-+ AC_TRY_COMPILE([<br>
-+#include <stdlib.h><br>
-+#include <iconv.h><br>
-+extern<br>
-+#ifdef __cplusplus<br>
-+"C"<br>
-+#endif<br>
-+#if defined(__STDC__) || defined(__cplusplus)<br>
-+size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);<br>
-+#else<br>
-+size_t iconv();<br>
-+#endif<br>
-+], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")<br>
-+ 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);"])<br>
-+ am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`<br>
-+ AC_MSG_RESULT([$]{ac_t:-<br>
-+ }[$]am_cv_proto_iconv)<br>
-+ AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,<br>
-+ [Define as const if the declaration of iconv() needs const.])<br>
-+ fi<br>
-+])<br>
---- lrzsz-0.12.20.safe/m4/intdiv0.m4 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/m4/intdiv0.m4 2004-09-12 14:40:34.845673608 -0400<br>
-@@ -0,0 +1,72 @@<br>
-+# intdiv0.m4 serial 1 (gettext-0.11.3)<br>
-+dnl Copyright (C) 2002 Free Software Foundation, Inc.<br>
-+dnl This file is free software, distributed under the terms of the GNU<br>
-+dnl General Public License. As a special exception to the GNU General<br>
-+dnl Public License, this file may be distributed as part of a program<br>
-+dnl that contains a configuration script generated by Autoconf, under<br>
-+dnl the same distribution terms as the rest of that program.<br>
-+<br>
-+dnl From Bruno Haible.<br>
-+<br>
-+AC_DEFUN([gt_INTDIV0],<br>
-+[<br>
-+ AC_REQUIRE([AC_PROG_CC])dnl<br>
-+ AC_REQUIRE([AC_CANONICAL_HOST])dnl<br>
-+<br>
-+ AC_CACHE_CHECK([whether integer division by zero raises SIGFPE],<br>
-+ gt_cv_int_divbyzero_sigfpe,<br>
-+ [<br>
-+ AC_TRY_RUN([<br>
-+#include <stdlib.h><br>
-+#include <signal.h><br>
-+<br>
-+static void<br>
-+#ifdef __cplusplus<br>
-+sigfpe_handler (int sig)<br>
-+#else<br>
-+sigfpe_handler (sig) int sig;<br>
-+#endif<br>
-+{<br>
-+ /* Exit with code 0 if SIGFPE, with code 1 if any other signal. */<br>
-+ exit (sig != SIGFPE);<br>
-+}<br>
-+<br>
-+int x = 1;<br>
-+int y = 0;<br>
-+int z;<br>
-+int nan;<br>
-+<br>
-+int main ()<br>
-+{<br>
-+ signal (SIGFPE, sigfpe_handler);<br>
-+/* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */<br>
-+#if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP)<br>
-+ signal (SIGTRAP, sigfpe_handler);<br>
-+#endif<br>
-+/* Linux/SPARC yields signal SIGILL. */<br>
-+#if defined (__sparc__) && defined (__linux__)<br>
-+ signal (SIGILL, sigfpe_handler);<br>
-+#endif<br>
-+<br>
-+ z = x / y;<br>
-+ nan = y / y;<br>
-+ exit (1);<br>
-+}<br>
-+], gt_cv_int_divbyzero_sigfpe=yes, gt_cv_int_divbyzero_sigfpe=no,<br>
-+ [<br>
-+ # Guess based on the CPU.<br>
-+ case "$host_cpu" in<br>
-+ alpha* | i[34567]86 | m68k | s390*)<br>
-+ gt_cv_int_divbyzero_sigfpe="guessing yes";;<br>
-+ *)<br>
-+ gt_cv_int_divbyzero_sigfpe="guessing no";;<br>
-+ esac<br>
-+ ])<br>
-+ ])<br>
-+ case "$gt_cv_int_divbyzero_sigfpe" in<br>
-+ *yes) value=1;;<br>
-+ *) value=0;;<br>
-+ esac<br>
-+ AC_DEFINE_UNQUOTED(INTDIV0_RAISES_SIGFPE, $value,<br>
-+ [Define if integer division by zero raises signal SIGFPE.])<br>
-+])<br>
---- lrzsz-0.12.20.safe/m4/intmax.m4 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/m4/intmax.m4 2004-09-12 14:40:34.855672088 -0400<br>
-@@ -0,0 +1,32 @@<br>
-+# intmax.m4 serial 1 (gettext-0.12)<br>
-+dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.<br>
-+dnl This file is free software, distributed under the terms of the GNU<br>
-+dnl General Public License. As a special exception to the GNU General<br>
-+dnl Public License, this file may be distributed as part of a program<br>
-+dnl that contains a configuration script generated by Autoconf, under<br>
-+dnl the same distribution terms as the rest of that program.<br>
-+<br>
-+dnl From Bruno Haible.<br>
-+dnl Test whether the system has the 'intmax_t' type, but don't attempt to<br>
-+dnl find a replacement if it is lacking.<br>
-+<br>
-+AC_DEFUN([gt_TYPE_INTMAX_T],<br>
-+[<br>
-+ AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])<br>
-+ AC_REQUIRE([jm_AC_HEADER_STDINT_H])<br>
-+ AC_CACHE_CHECK(for intmax_t, gt_cv_c_intmax_t,<br>
-+ [AC_TRY_COMPILE([<br>
-+#include <stddef.h> <br>
-+#include <stdlib.h><br>
-+#if HAVE_STDINT_H_WITH_UINTMAX<br>
-+#include <stdint.h><br>
-+#endif<br>
-+#if HAVE_INTTYPES_H_WITH_UINTMAX<br>
-+#include <inttypes.h><br>
-+#endif<br>
-+], [intmax_t x = -1;], gt_cv_c_intmax_t=yes, gt_cv_c_intmax_t=no)])<br>
-+ if test $gt_cv_c_intmax_t = yes; then<br>
-+ AC_DEFINE(HAVE_INTMAX_T, 1,<br>
-+ [Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>.])<br>
-+ fi<br>
-+])<br>
---- lrzsz-0.12.20.safe/m4/inttypes_h.m4 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/m4/inttypes_h.m4 2004-09-12 14:40:34.868670112 -0400<br>
-@@ -0,0 +1,28 @@<br>
-+# inttypes_h.m4 serial 5 (gettext-0.12)<br>
-+dnl Copyright (C) 1997-2003 Free Software Foundation, Inc.<br>
-+dnl This file is free software, distributed under the terms of the GNU<br>
-+dnl General Public License. As a special exception to the GNU General<br>
-+dnl Public License, this file may be distributed as part of a program<br>
-+dnl that contains a configuration script generated by Autoconf, under<br>
-+dnl the same distribution terms as the rest of that program.<br>
-+<br>
-+dnl From Paul Eggert.<br>
-+<br>
-+# Define HAVE_INTTYPES_H_WITH_UINTMAX if <inttypes.h> exists,<br>
-+# doesn't clash with <sys/types.h>, and declares uintmax_t.<br>
-+<br>
-+AC_DEFUN([jm_AC_HEADER_INTTYPES_H],<br>
-+[<br>
-+ AC_CACHE_CHECK([for inttypes.h], jm_ac_cv_header_inttypes_h,<br>
-+ [AC_TRY_COMPILE(<br>
-+ [#include <sys/types.h><br>
-+#include <inttypes.h>],<br>
-+ [uintmax_t i = (uintmax_t) -1;],<br>
-+ jm_ac_cv_header_inttypes_h=yes,<br>
-+ jm_ac_cv_header_inttypes_h=no)])<br>
-+ if test $jm_ac_cv_header_inttypes_h = yes; then<br>
-+ AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1,<br>
-+ [Define if <inttypes.h> exists, doesn't clash with <sys/types.h>,<br>
-+ and declares uintmax_t. ])<br>
-+ fi<br>
-+])<br>
---- lrzsz-0.12.20.safe/m4/inttypes.m4 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/m4/inttypes.m4 2004-09-12 14:40:34.861671176 -0400<br>
-@@ -0,0 +1,27 @@<br>
-+# inttypes.m4 serial 1 (gettext-0.11.4)<br>
-+dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.<br>
-+dnl This file is free software, distributed under the terms of the GNU<br>
-+dnl General Public License. As a special exception to the GNU General<br>
-+dnl Public License, this file may be distributed as part of a program<br>
-+dnl that contains a configuration script generated by Autoconf, under<br>
-+dnl the same distribution terms as the rest of that program.<br>
-+<br>
-+dnl From Paul Eggert.<br>
-+<br>
-+# Define HAVE_INTTYPES_H if <inttypes.h> exists and doesn't clash with<br>
-+# <sys/types.h>.<br>
-+<br>
-+AC_DEFUN([gt_HEADER_INTTYPES_H],<br>
-+[<br>
-+ AC_CACHE_CHECK([for inttypes.h], gt_cv_header_inttypes_h,<br>
-+ [<br>
-+ AC_TRY_COMPILE(<br>
-+ [#include <sys/types.h><br>
-+#include <inttypes.h>],<br>
-+ [], gt_cv_header_inttypes_h=yes, gt_cv_header_inttypes_h=no)<br>
-+ ])<br>
-+ if test $gt_cv_header_inttypes_h = yes; then<br>
-+ AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H, 1,<br>
-+ [Define if <inttypes.h> exists and doesn't clash with <sys/types.h>.])<br>
-+ fi<br>
-+])<br>
---- lrzsz-0.12.20.safe/m4/inttypes-pri.m4 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/m4/inttypes-pri.m4 2004-09-12 14:40:34.874669200 -0400<br>
-@@ -0,0 +1,32 @@<br>
-+# inttypes-pri.m4 serial 1 (gettext-0.11.4)<br>
-+dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.<br>
-+dnl This file is free software, distributed under the terms of the GNU<br>
-+dnl General Public License. As a special exception to the GNU General<br>
-+dnl Public License, this file may be distributed as part of a program<br>
-+dnl that contains a configuration script generated by Autoconf, under<br>
-+dnl the same distribution terms as the rest of that program.<br>
-+<br>
-+dnl From Bruno Haible.<br>
-+<br>
-+# Define PRI_MACROS_BROKEN if <inttypes.h> exists and defines the PRI*<br>
-+# macros to non-string values. This is the case on AIX 4.3.3.<br>
-+<br>
-+AC_DEFUN([gt_INTTYPES_PRI],<br>
-+[<br>
-+ AC_REQUIRE([gt_HEADER_INTTYPES_H])<br>
-+ if test $gt_cv_header_inttypes_h = yes; then<br>
-+ AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken],<br>
-+ gt_cv_inttypes_pri_broken,<br>
-+ [<br>
-+ AC_TRY_COMPILE([#include <inttypes.h><br>
-+#ifdef PRId32<br>
-+char *p = PRId32;<br>
-+#endif<br>
-+], [], gt_cv_inttypes_pri_broken=no, gt_cv_inttypes_pri_broken=yes)<br>
-+ ])<br>
-+ fi<br>
-+ if test "$gt_cv_inttypes_pri_broken" = yes; then<br>
-+ AC_DEFINE_UNQUOTED(PRI_MACROS_BROKEN, 1,<br>
-+ [Define if <inttypes.h> exists and defines unusable PRI* macros.])<br>
-+ fi<br>
-+])<br>
---- lrzsz-0.12.20.safe/m4/isc-posix.m4 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/m4/isc-posix.m4 2004-09-12 14:40:34.885667528 -0400<br>
-@@ -0,0 +1,26 @@<br>
-+# isc-posix.m4 serial 2 (gettext-0.11.2)<br>
-+dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.<br>
-+dnl This file is free software, distributed under the terms of the GNU<br>
-+dnl General Public License. As a special exception to the GNU General<br>
-+dnl Public License, this file may be distributed as part of a program<br>
-+dnl that contains a configuration script generated by Autoconf, under<br>
-+dnl the same distribution terms as the rest of that program.<br>
-+<br>
-+# This file is not needed with autoconf-2.53 and newer. Remove it in 2005.<br>
-+<br>
-+# This test replaces the one in autoconf.<br>
-+# Currently this macro should have the same name as the autoconf macro<br>
-+# because gettext's gettext.m4 (distributed in the automake package)<br>
-+# still uses it. Otherwise, the use in gettext.m4 makes autoheader<br>
-+# give these diagnostics:<br>
-+# <a href="http://configure.in:556" rel="noreferrer" target="_blank">configure.in:556</a>: AC_TRY_COMPILE was called before AC_ISC_POSIX<br>
-+# <a href="http://configure.in:556" rel="noreferrer" target="_blank">configure.in:556</a>: AC_TRY_RUN was called before AC_ISC_POSIX<br>
-+<br>
-+undefine([AC_ISC_POSIX])<br>
-+<br>
-+AC_DEFUN([AC_ISC_POSIX],<br>
-+ [<br>
-+ dnl This test replaces the obsolescent AC_ISC_POSIX kludge.<br>
-+ AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"])<br>
-+ ]<br>
-+)<br>
---- lrzsz-0.12.20.safe/m4/lcmessage.m4 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/m4/lcmessage.m4 2004-09-12 14:40:34.902664944 -0400<br>
-@@ -0,0 +1,32 @@<br>
-+# lcmessage.m4 serial 3 (gettext-0.11.3)<br>
-+dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.<br>
-+dnl This file is free software, distributed under the terms of the GNU<br>
-+dnl General Public License. As a special exception to the GNU General<br>
-+dnl Public License, this file may be distributed as part of a program<br>
-+dnl that contains a configuration script generated by Autoconf, under<br>
-+dnl the same distribution terms as the rest of that program.<br>
-+dnl<br>
-+dnl This file can can be used in projects which are not available under<br>
-+dnl the GNU General Public License or the GNU Library General Public<br>
-+dnl License but which still want to provide support for the GNU gettext<br>
-+dnl functionality.<br>
-+dnl Please note that the actual code of the GNU gettext library is covered<br>
-+dnl by the GNU Library General Public License, and the rest of the GNU<br>
-+dnl gettext package package is covered by the GNU General Public License.<br>
-+dnl They are *not* in the public domain.<br>
-+<br>
-+dnl Authors:<br>
-+dnl Ulrich Drepper <<a href="mailto:drepper@cygnus.com" target="_blank">drepper@cygnus.com</a>>, 1995.<br>
-+<br>
-+# Check whether LC_MESSAGES is available in <locale.h>.<br>
-+<br>
-+AC_DEFUN([AM_LC_MESSAGES],<br>
-+[<br>
-+ AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,<br>
-+ [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],<br>
-+ am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])<br>
-+ if test $am_cv_val_LC_MESSAGES = yes; then<br>
-+ AC_DEFINE(HAVE_LC_MESSAGES, 1,<br>
-+ [Define if your <locale.h> file defines LC_MESSAGES.])<br>
-+ fi<br>
-+])<br>
---- lrzsz-0.12.20.safe/m4/lib-ld.m4 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/m4/lib-ld.m4 2004-09-12 14:40:34.908664032 -0400<br>
-@@ -0,0 +1,112 @@<br>
-+# lib-ld.m4 serial 3 (gettext-0.13)<br>
-+dnl Copyright (C) 1996-2003 Free Software Foundation, Inc.<br>
-+dnl This file is free software, distributed under the terms of the GNU<br>
-+dnl General Public License. As a special exception to the GNU General<br>
-+dnl Public License, this file may be distributed as part of a program<br>
-+dnl that contains a configuration script generated by Autoconf, under<br>
-+dnl the same distribution terms as the rest of that program.<br>
-+<br>
-+dnl Subroutines of libtool.m4,<br>
-+dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision<br>
-+dnl with libtool.m4.<br>
-+<br>
-+dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no.<br>
-+AC_DEFUN([AC_LIB_PROG_LD_GNU],<br>
-+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld,<br>
-+[# I'd rather use --version here, but apparently some GNU ld's only accept -v.<br>
-+case `$LD -v 2>&1 </dev/null` in<br>
-+*GNU* | *'with BFD'*)<br>
-+ acl_cv_prog_gnu_ld=yes ;;<br>
-+*)<br>
-+ acl_cv_prog_gnu_ld=no ;;<br>
-+esac])<br>
-+with_gnu_ld=$acl_cv_prog_gnu_ld<br>
-+])<br>
-+<br>
-+dnl From libtool-1.4. Sets the variable LD.<br>
-+AC_DEFUN([AC_LIB_PROG_LD],<br>
-+[AC_ARG_WITH(gnu-ld,<br>
-+[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],<br>
-+test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)<br>
-+AC_REQUIRE([AC_PROG_CC])dnl<br>
-+AC_REQUIRE([AC_CANONICAL_HOST])dnl<br>
-+# Prepare PATH_SEPARATOR.<br>
-+# The user is always right.<br>
-+if test "${PATH_SEPARATOR+set}" != set; then<br>
-+ echo "#! /bin/sh" >conf$$.sh<br>
-+ echo "exit 0" >>conf$$.sh<br>
-+ chmod +x conf$$.sh<br>
-+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then<br>
-+ PATH_SEPARATOR=';'<br>
-+ else<br>
-+ PATH_SEPARATOR=:<br>
-+ fi<br>
-+ rm -f conf$$.sh<br>
-+fi<br>
-+ac_prog=ld<br>
-+if test "$GCC" = yes; then<br>
-+ # Check if gcc -print-prog-name=ld gives a path.<br>
-+ AC_MSG_CHECKING([for ld used by GCC])<br>
-+ case $host in<br>
-+ *-*-mingw*)<br>
-+ # gcc leaves a trailing carriage return which upsets mingw<br>
-+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;<br>
-+ *)<br>
-+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;<br>
-+ esac<br>
-+ case $ac_prog in<br>
-+ # Accept absolute paths.<br>
-+ [[\\/]* | [A-Za-z]:[\\/]*)]<br>
-+ [re_direlt='/[^/][^/]*/\.\./']<br>
-+ # Canonicalize the path of ld<br>
-+ ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`<br>
-+ while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do<br>
-+ ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`<br>
-+ done<br>
-+ test -z "$LD" && LD="$ac_prog"<br>
-+ ;;<br>
-+ "")<br>
-+ # If it fails, then pretend we aren't using GCC.<br>
-+ ac_prog=ld<br>
-+ ;;<br>
-+ *)<br>
-+ # If it is relative, then search for the first ld in PATH.<br>
-+ with_gnu_ld=unknown<br>
-+ ;;<br>
-+ esac<br>
-+elif test "$with_gnu_ld" = yes; then<br>
-+ AC_MSG_CHECKING([for GNU ld])<br>
-+else<br>
-+ AC_MSG_CHECKING([for non-GNU ld])<br>
-+fi<br>
-+AC_CACHE_VAL(acl_cv_path_LD,<br>
-+[if test -z "$LD"; then<br>
-+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"<br>
-+ for ac_dir in $PATH; do<br>
-+ test -z "$ac_dir" && ac_dir=.<br>
-+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then<br>
-+ acl_cv_path_LD="$ac_dir/$ac_prog"<br>
-+ # Check to see if the program is GNU ld. I'd rather use --version,<br>
-+ # but apparently some GNU ld's only accept -v.<br>
-+ # Break only if it was the GNU/non-GNU ld that we prefer.<br>
-+ case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in<br>
-+ *GNU* | *'with BFD'*)<br>
-+ test "$with_gnu_ld" != no && break ;;<br>
-+ *)<br>
-+ test "$with_gnu_ld" != yes && break ;;<br>
-+ esac<br>
-+ fi<br>
-+ done<br>
-+ IFS="$ac_save_ifs"<br>
-+else<br>
-+ acl_cv_path_LD="$LD" # Let the user override the test with a path.<br>
-+fi])<br>
-+LD="$acl_cv_path_LD"<br>
-+if test -n "$LD"; then<br>
-+ AC_MSG_RESULT($LD)<br>
-+else<br>
-+ AC_MSG_RESULT(no)<br>
-+fi<br>
-+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])<br>
-+AC_LIB_PROG_LD_GNU<br>
-+])<br>
---- lrzsz-0.12.20.safe/m4/lib-link.m4 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/m4/lib-link.m4 2004-09-12 14:40:34.914663120 -0400<br>
-@@ -0,0 +1,551 @@<br>
-+# lib-link.m4 serial 4 (gettext-0.12)<br>
-+dnl Copyright (C) 2001-2003 Free Software Foundation, Inc.<br>
-+dnl This file is free software, distributed under the terms of the GNU<br>
-+dnl General Public License. As a special exception to the GNU General<br>
-+dnl Public License, this file may be distributed as part of a program<br>
-+dnl that contains a configuration script generated by Autoconf, under<br>
-+dnl the same distribution terms as the rest of that program.<br>
-+<br>
-+dnl From Bruno Haible.<br>
-+<br>
-+dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and<br>
-+dnl the libraries corresponding to explicit and implicit dependencies.<br>
-+dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and<br>
-+dnl augments the CPPFLAGS variable.<br>
-+AC_DEFUN([AC_LIB_LINKFLAGS],<br>
-+[<br>
-+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])<br>
-+ AC_REQUIRE([AC_LIB_RPATH])<br>
-+ define([Name],[translit([$1],[./-], [___])])<br>
-+ define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],<br>
-+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])<br>
-+ AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [<br>
-+ AC_LIB_LINKFLAGS_BODY([$1], [$2])<br>
-+ ac_cv_lib[]Name[]_libs="$LIB[]NAME"<br>
-+ ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"<br>
-+ ac_cv_lib[]Name[]_cppflags="$INC[]NAME"<br>
-+ ])<br>
-+ LIB[]NAME="$ac_cv_lib[]Name[]_libs"<br>
-+ LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"<br>
-+ INC[]NAME="$ac_cv_lib[]Name[]_cppflags"<br>
-+ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)<br>
-+ AC_SUBST([LIB]NAME)<br>
-+ AC_SUBST([LTLIB]NAME)<br>
-+ dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the<br>
-+ dnl results of this search when this library appears as a dependency.<br>
-+ HAVE_LIB[]NAME=yes<br>
-+ undefine([Name])<br>
-+ undefine([NAME])<br>
-+])<br>
-+<br>
-+dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode)<br>
-+dnl searches for libname and the libraries corresponding to explicit and<br>
-+dnl implicit dependencies, together with the specified include files and<br>
-+dnl the ability to compile and link the specified testcode. If found, it<br>
-+dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and<br>
-+dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and<br>
-+dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs<br>
-+dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.<br>
-+AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],<br>
-+[<br>
-+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])<br>
-+ AC_REQUIRE([AC_LIB_RPATH])<br>
-+ define([Name],[translit([$1],[./-], [___])])<br>
-+ define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],<br>
-+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])<br>
-+<br>
-+ dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME<br>
-+ dnl accordingly.<br>
-+ AC_LIB_LINKFLAGS_BODY([$1], [$2])<br>
-+<br>
-+ dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,<br>
-+ dnl because if the user has installed lib[]Name and not disabled its use<br>
-+ dnl via --without-lib[]Name-prefix, he wants to use it.<br>
-+ ac_save_CPPFLAGS="$CPPFLAGS"<br>
-+ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)<br>
-+<br>
-+ AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [<br>
-+ ac_save_LIBS="$LIBS"<br>
-+ LIBS="$LIBS $LIB[]NAME"<br>
-+ AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no])<br>
-+ LIBS="$ac_save_LIBS"<br>
-+ ])<br>
-+ if test "$ac_cv_lib[]Name" = yes; then<br>
-+ HAVE_LIB[]NAME=yes<br>
-+ AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.])<br>
-+ AC_MSG_CHECKING([how to link with lib[]$1])<br>
-+ AC_MSG_RESULT([$LIB[]NAME])<br>
-+ else<br>
-+ HAVE_LIB[]NAME=no<br>
-+ dnl If $LIB[]NAME didn't lead to a usable library, we don't need<br>
-+ dnl $INC[]NAME either.<br>
-+ CPPFLAGS="$ac_save_CPPFLAGS"<br>
-+ LIB[]NAME=<br>
-+ LTLIB[]NAME=<br>
-+ fi<br>
-+ AC_SUBST([HAVE_LIB]NAME)<br>
-+ AC_SUBST([LIB]NAME)<br>
-+ AC_SUBST([LTLIB]NAME)<br>
-+ undefine([Name])<br>
-+ undefine([NAME])<br>
-+])<br>
-+<br>
-+dnl Determine the platform dependent parameters needed to use rpath:<br>
-+dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator,<br>
-+dnl hardcode_direct, hardcode_minus_L.<br>
-+AC_DEFUN([AC_LIB_RPATH],<br>
-+[<br>
-+ AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS<br>
-+ AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld<br>
-+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host<br>
-+ AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir<br>
-+ AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [<br>
-+ CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \<br>
-+ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh<br>
-+ . ./conftest.sh<br>
-+ rm -f ./conftest.sh<br>
-+ acl_cv_rpath=done<br>
-+ ])<br>
-+ wl="$acl_cv_wl"<br>
-+ libext="$acl_cv_libext"<br>
-+ shlibext="$acl_cv_shlibext"<br>
-+ hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"<br>
-+ hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"<br>
-+ hardcode_direct="$acl_cv_hardcode_direct"<br>
-+ hardcode_minus_L="$acl_cv_hardcode_minus_L"<br>
-+ dnl Determine whether the user wants rpath handling at all.<br>
-+ AC_ARG_ENABLE(rpath,<br>
-+ [ --disable-rpath do not hardcode runtime library paths],<br>
-+ :, enable_rpath=yes)<br>
-+])<br>
-+<br>
-+dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and<br>
-+dnl the libraries corresponding to explicit and implicit dependencies.<br>
-+dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.<br>
-+AC_DEFUN([AC_LIB_LINKFLAGS_BODY],<br>
-+[<br>
-+ define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],<br>
-+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])<br>
-+ dnl By default, look in $includedir and $libdir.<br>
-+ use_additional=yes<br>
-+ AC_LIB_WITH_FINAL_PREFIX([<br>
-+ eval additional_includedir=\"$includedir\"<br>
-+ eval additional_libdir=\"$libdir\"<br>
-+ ])<br>
-+ AC_LIB_ARG_WITH([lib$1-prefix],<br>
-+[ --with-lib$1-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib<br>
-+ --without-lib$1-prefix don't search for lib$1 in includedir and libdir],<br>
-+[<br>
-+ if test "X$withval" = "Xno"; then<br>
-+ use_additional=no<br>
-+ else<br>
-+ if test "X$withval" = "X"; then<br>
-+ AC_LIB_WITH_FINAL_PREFIX([<br>
-+ eval additional_includedir=\"$includedir\"<br>
-+ eval additional_libdir=\"$libdir\"<br>
-+ ])<br>
-+ else<br>
-+ additional_includedir="$withval/include"<br>
-+ additional_libdir="$withval/lib"<br>
-+ fi<br>
-+ fi<br>
-+])<br>
-+ dnl Search the library and its dependencies in $additional_libdir and<br>
-+ dnl $LDFLAGS. Using breadth-first-seach.<br>
-+ LIB[]NAME=<br>
-+ LTLIB[]NAME=<br>
-+ INC[]NAME=<br>
-+ rpathdirs=<br>
-+ ltrpathdirs=<br>
-+ names_already_handled=<br>
-+ names_next_round='$1 $2'<br>
-+ while test -n "$names_next_round"; do<br>
-+ names_this_round="$names_next_round"<br>
-+ names_next_round=<br>
-+ for name in $names_this_round; do<br>
-+ already_handled=<br>
-+ for n in $names_already_handled; do<br>
-+ if test "$n" = "$name"; then<br>
-+ already_handled=yes<br>
-+ break<br>
-+ fi<br>
-+ done<br>
-+ if test -z "$already_handled"; then<br>
-+ names_already_handled="$names_already_handled $name"<br>
-+ dnl See if it was already located by an earlier AC_LIB_LINKFLAGS<br>
-+ dnl or AC_LIB_HAVE_LINKFLAGS call.<br>
-+ uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`<br>
-+ eval value=\"\$HAVE_LIB$uppername\"<br>
-+ if test -n "$value"; then<br>
-+ if test "$value" = yes; then<br>
-+ eval value=\"\$LIB$uppername\"<br>
-+ test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"<br>
-+ eval value=\"\$LTLIB$uppername\"<br>
-+ test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"<br>
-+ else<br>
-+ dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined<br>
-+ dnl that this library doesn't exist. So just drop it.<br>
-+ :<br>
-+ fi<br>
-+ else<br>
-+ dnl Search the library lib$name in $additional_libdir and $LDFLAGS<br>
-+ dnl and the already constructed $LIBNAME/$LTLIBNAME.<br>
-+ found_dir=<br>
-+ found_la=<br>
-+ found_so=<br>
-+ found_a=<br>
-+ if test $use_additional = yes; then<br>
-+ if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then<br>
-+ found_dir="$additional_libdir"<br>
-+ found_so="$additional_libdir/lib$name.$shlibext"<br>
-+ if test -f "$additional_libdir/lib$<a href="http://name.la" rel="noreferrer" target="_blank">name.la</a>"; then<br>
-+ found_la="$additional_libdir/lib$<a href="http://name.la" rel="noreferrer" target="_blank">name.la</a>"<br>
-+ fi<br>
-+ else<br>
-+ if test -f "$additional_libdir/lib$name.$libext"; then<br>
-+ found_dir="$additional_libdir"<br>
-+ found_a="$additional_libdir/lib$name.$libext"<br>
-+ if test -f "$additional_libdir/lib$<a href="http://name.la" rel="noreferrer" target="_blank">name.la</a>"; then<br>
-+ found_la="$additional_libdir/lib$<a href="http://name.la" rel="noreferrer" target="_blank">name.la</a>"<br>
-+ fi<br>
-+ fi<br>
-+ fi<br>
-+ fi<br>
-+ if test "X$found_dir" = "X"; then<br>
-+ for x in $LDFLAGS $LTLIB[]NAME; do<br>
-+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])<br>
-+ case "$x" in<br>
-+ -L*)<br>
-+ dir=`echo "X$x" | sed -e 's/^X-L//'`<br>
-+ if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then<br>
-+ found_dir="$dir"<br>
-+ found_so="$dir/lib$name.$shlibext"<br>
-+ if test -f "$dir/lib$<a href="http://name.la" rel="noreferrer" target="_blank">name.la</a>"; then<br>
-+ found_la="$dir/lib$<a href="http://name.la" rel="noreferrer" target="_blank">name.la</a>"<br>
-+ fi<br>
-+ else<br>
-+ if test -f "$dir/lib$name.$libext"; then<br>
-+ found_dir="$dir"<br>
-+ found_a="$dir/lib$name.$libext"<br>
-+ if test -f "$dir/lib$<a href="http://name.la" rel="noreferrer" target="_blank">name.la</a>"; then<br>
-+ found_la="$dir/lib$<a href="http://name.la" rel="noreferrer" target="_blank">name.la</a>"<br>
-+ fi<br>
-+ fi<br>
-+ fi<br>
-+ ;;<br>
-+ esac<br>
-+ if test "X$found_dir" != "X"; then<br>
-+ break<br>
-+ fi<br>
-+ done<br>
-+ fi<br>
-+ if test "X$found_dir" != "X"; then<br>
-+ dnl Found the library.<br>
-+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"<br>
-+ if test "X$found_so" != "X"; then<br>
-+ dnl Linking with a shared library. We attempt to hardcode its<br>
-+ dnl directory into the executable's runpath, unless it's the<br>
-+ dnl standard /usr/lib.<br>
-+ if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then<br>
-+ dnl No hardcoding is needed.<br>
-+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"<br>
-+ else<br>
-+ dnl Use an explicit option to hardcode DIR into the resulting<br>
-+ dnl binary.<br>
-+ dnl Potentially add DIR to ltrpathdirs.<br>
-+ dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.<br>
-+ haveit=<br>
-+ for x in $ltrpathdirs; do<br>
-+ if test "X$x" = "X$found_dir"; then<br>
-+ haveit=yes<br>
-+ break<br>
-+ fi<br>
-+ done<br>
-+ if test -z "$haveit"; then<br>
-+ ltrpathdirs="$ltrpathdirs $found_dir"<br>
-+ fi<br>
-+ dnl The hardcoding into $LIBNAME is system dependent.<br>
-+ if test "$hardcode_direct" = yes; then<br>
-+ dnl Using DIR/libNAME.so during linking hardcodes DIR into the<br>
-+ dnl resulting binary.<br>
-+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"<br>
-+ else<br>
-+ if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then<br>
-+ dnl Use an explicit option to hardcode DIR into the resulting<br>
-+ dnl binary.<br>
-+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"<br>
-+ dnl Potentially add DIR to rpathdirs.<br>
-+ dnl The rpathdirs will be appended to $LIBNAME at the end.<br>
-+ haveit=<br>
-+ for x in $rpathdirs; do<br>
-+ if test "X$x" = "X$found_dir"; then<br>
-+ haveit=yes<br>
-+ break<br>
-+ fi<br>
-+ done<br>
-+ if test -z "$haveit"; then<br>
-+ rpathdirs="$rpathdirs $found_dir"<br>
-+ fi<br>
-+ else<br>
-+ dnl Rely on "-L$found_dir".<br>
-+ dnl But don't add it if it's already contained in the LDFLAGS<br>
-+ dnl or the already constructed $LIBNAME<br>
-+ haveit=<br>
-+ for x in $LDFLAGS $LIB[]NAME; do<br>
-+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])<br>
-+ if test "X$x" = "X-L$found_dir"; then<br>
-+ haveit=yes<br>
-+ break<br>
-+ fi<br>
-+ done<br>
-+ if test -z "$haveit"; then<br>
-+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"<br>
-+ fi<br>
-+ if test "$hardcode_minus_L" != no; then<br>
-+ dnl FIXME: Not sure whether we should use<br>
-+ dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"<br>
-+ dnl here.<br>
-+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"<br>
-+ else<br>
-+ dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH<br>
-+ dnl here, because this doesn't fit in flags passed to the<br>
-+ dnl compiler. So give up. No hardcoding. This affects only<br>
-+ dnl very old systems.<br>
-+ dnl FIXME: Not sure whether we should use<br>
-+ dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"<br>
-+ dnl here.<br>
-+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"<br>
-+ fi<br>
-+ fi<br>
-+ fi<br>
-+ fi<br>
-+ else<br>
-+ if test "X$found_a" != "X"; then<br>
-+ dnl Linking with a static library.<br>
-+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"<br>
-+ else<br>
-+ dnl We shouldn't come here, but anyway it's good to have a<br>
-+ dnl fallback.<br>
-+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"<br>
-+ fi<br>
-+ fi<br>
-+ dnl Assume the include files are nearby.<br>
-+ additional_includedir=<br>
-+ case "$found_dir" in<br>
-+ */lib | */lib/)<br>
-+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`<br>
-+ additional_includedir="$basedir/include"<br>
-+ ;;<br>
-+ esac<br>
-+ if test "X$additional_includedir" != "X"; then<br>
-+ dnl Potentially add $additional_includedir to $INCNAME.<br>
-+ dnl But don't add it<br>
-+ dnl 1. if it's the standard /usr/include,<br>
-+ dnl 2. if it's /usr/local/include and we are using GCC on Linux,<br>
-+ dnl 3. if it's already present in $CPPFLAGS or the already<br>
-+ dnl constructed $INCNAME,<br>
-+ dnl 4. if it doesn't exist as a directory.<br>
-+ if test "X$additional_includedir" != "X/usr/include"; then<br>
-+ haveit=<br>
-+ if test "X$additional_includedir" = "X/usr/local/include"; then<br>
-+ if test -n "$GCC"; then<br>
-+ case $host_os in<br>
-+ linux*) haveit=yes;;<br>
-+ esac<br>
-+ fi<br>
-+ fi<br>
-+ if test -z "$haveit"; then<br>
-+ for x in $CPPFLAGS $INC[]NAME; do<br>
-+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])<br>
-+ if test "X$x" = "X-I$additional_includedir"; then<br>
-+ haveit=yes<br>
-+ break<br>
-+ fi<br>
-+ done<br>
-+ if test -z "$haveit"; then<br>
-+ if test -d "$additional_includedir"; then<br>
-+ dnl Really add $additional_includedir to $INCNAME.<br>
-+ INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"<br>
-+ fi<br>
-+ fi<br>
-+ fi<br>
-+ fi<br>
-+ fi<br>
-+ dnl Look for dependencies.<br>
-+ if test -n "$found_la"; then<br>
-+ dnl Read the .la file. It defines the variables<br>
-+ dnl dlname, library_names, old_library, dependency_libs, current,<br>
-+ dnl age, revision, installed, dlopen, dlpreopen, libdir.<br>
-+ save_libdir="$libdir"<br>
-+ case "$found_la" in<br>
-+ */* | *\\*) . "$found_la" ;;<br>
-+ *) . "./$found_la" ;;<br>
-+ esac<br>
-+ libdir="$save_libdir"<br>
-+ dnl We use only dependency_libs.<br>
-+ for dep in $dependency_libs; do<br>
-+ case "$dep" in<br>
-+ -L*)<br>
-+ additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`<br>
-+ dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.<br>
-+ dnl But don't add it<br>
-+ dnl 1. if it's the standard /usr/lib,<br>
-+ dnl 2. if it's /usr/local/lib and we are using GCC on Linux,<br>
-+ dnl 3. if it's already present in $LDFLAGS or the already<br>
-+ dnl constructed $LIBNAME,<br>
-+ dnl 4. if it doesn't exist as a directory.<br>
-+ if test "X$additional_libdir" != "X/usr/lib"; then<br>
-+ haveit=<br>
-+ if test "X$additional_libdir" = "X/usr/local/lib"; then<br>
-+ if test -n "$GCC"; then<br>
-+ case $host_os in<br>
-+ linux*) haveit=yes;;<br>
-+ esac<br>
-+ fi<br>
-+ fi<br>
-+ if test -z "$haveit"; then<br>
-+ haveit=<br>
-+ for x in $LDFLAGS $LIB[]NAME; do<br>
-+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])<br>
-+ if test "X$x" = "X-L$additional_libdir"; then<br>
-+ haveit=yes<br>
-+ break<br>
-+ fi<br>
-+ done<br>
-+ if test -z "$haveit"; then<br>
-+ if test -d "$additional_libdir"; then<br>
-+ dnl Really add $additional_libdir to $LIBNAME.<br>
-+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"<br>
-+ fi<br>
-+ fi<br>
-+ haveit=<br>
-+ for x in $LDFLAGS $LTLIB[]NAME; do<br>
-+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])<br>
-+ if test "X$x" = "X-L$additional_libdir"; then<br>
-+ haveit=yes<br>
-+ break<br>
-+ fi<br>
-+ done<br>
-+ if test -z "$haveit"; then<br>
-+ if test -d "$additional_libdir"; then<br>
-+ dnl Really add $additional_libdir to $LTLIBNAME.<br>
-+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"<br>
-+ fi<br>
-+ fi<br>
-+ fi<br>
-+ fi<br>
-+ ;;<br>
-+ -R*)<br>
-+ dir=`echo "X$dep" | sed -e 's/^X-R//'`<br>
-+ if test "$enable_rpath" != no; then<br>
-+ dnl Potentially add DIR to rpathdirs.<br>
-+ dnl The rpathdirs will be appended to $LIBNAME at the end.<br>
-+ haveit=<br>
-+ for x in $rpathdirs; do<br>
-+ if test "X$x" = "X$dir"; then<br>
-+ haveit=yes<br>
-+ break<br>
-+ fi<br>
-+ done<br>
-+ if test -z "$haveit"; then<br>
-+ rpathdirs="$rpathdirs $dir"<br>
-+ fi<br>
-+ dnl Potentially add DIR to ltrpathdirs.<br>
-+ dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.<br>
-+ haveit=<br>
-+ for x in $ltrpathdirs; do<br>
-+ if test "X$x" = "X$dir"; then<br>
-+ haveit=yes<br>
-+ break<br>
-+ fi<br>
-+ done<br>
-+ if test -z "$haveit"; then<br>
-+ ltrpathdirs="$ltrpathdirs $dir"<br>
-+ fi<br>
-+ fi<br>
-+ ;;<br>
-+ -l*)<br>
-+ dnl Handle this in the next round.<br>
-+ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`<br>
-+ ;;<br>
-+ *.la)<br>
-+ dnl Handle this in the next round. Throw away the .la's<br>
-+ dnl directory; it is already contained in a preceding -L<br>
-+ dnl option.<br>
-+ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`<br>
-+ ;;<br>
-+ *)<br>
-+ dnl Most likely an immediate library name.<br>
-+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"<br>
-+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"<br>
-+ ;;<br>
-+ esac<br>
-+ done<br>
-+ fi<br>
-+ else<br>
-+ dnl Didn't find the library; assume it is in the system directories<br>
-+ dnl known to the linker and runtime loader. (All the system<br>
-+ dnl directories known to the linker should also be known to the<br>
-+ dnl runtime loader, otherwise the system is severely misconfigured.)<br>
-+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"<br>
-+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"<br>
-+ fi<br>
-+ fi<br>
-+ fi<br>
-+ done<br>
-+ done<br>
-+ if test "X$rpathdirs" != "X"; then<br>
-+ if test -n "$hardcode_libdir_separator"; then<br>
-+ dnl Weird platform: only the last -rpath option counts, the user must<br>
-+ dnl pass all path elements in one option. We can arrange that for a<br>
-+ dnl single library, but not when more than one $LIBNAMEs are used.<br>
-+ alldirs=<br>
-+ for found_dir in $rpathdirs; do<br>
-+ alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"<br>
-+ done<br>
-+ dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl.<br>
-+ acl_save_libdir="$libdir"<br>
-+ libdir="$alldirs"<br>
-+ eval flag=\"$hardcode_libdir_flag_spec\"<br>
-+ libdir="$acl_save_libdir"<br>
-+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"<br>
-+ else<br>
-+ dnl The -rpath options are cumulative.<br>
-+ for found_dir in $rpathdirs; do<br>
-+ acl_save_libdir="$libdir"<br>
-+ libdir="$found_dir"<br>
-+ eval flag=\"$hardcode_libdir_flag_spec\"<br>
-+ libdir="$acl_save_libdir"<br>
-+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"<br>
-+ done<br>
-+ fi<br>
-+ fi<br>
-+ if test "X$ltrpathdirs" != "X"; then<br>
-+ dnl When using libtool, the option that works for both libraries and<br>
-+ dnl executables is -R. The -R options are cumulative.<br>
-+ for found_dir in $ltrpathdirs; do<br>
-+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"<br>
-+ done<br>
-+ fi<br>
-+])<br>
-+<br>
-+dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,<br>
-+dnl unless already present in VAR.<br>
-+dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes<br>
-+dnl contains two or three consecutive elements that belong together.<br>
-+AC_DEFUN([AC_LIB_APPENDTOVAR],<br>
-+[<br>
-+ for element in [$2]; do<br>
-+ haveit=<br>
-+ for x in $[$1]; do<br>
-+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])<br>
-+ if test "X$x" = "X$element"; then<br>
-+ haveit=yes<br>
-+ break<br>
-+ fi<br>
-+ done<br>
-+ if test -z "$haveit"; then<br>
-+ [$1]="${[$1]}${[$1]:+ }$element"<br>
-+ fi<br>
-+ done<br>
-+])<br>
---- lrzsz-0.12.20.safe/m4/lib-prefix.m4 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/m4/lib-prefix.m4 2004-09-12 14:40:34.921662056 -0400<br>
-@@ -0,0 +1,155 @@<br>
-+# lib-prefix.m4 serial 3 (gettext-0.13)<br>
-+dnl Copyright (C) 2001-2003 Free Software Foundation, Inc.<br>
-+dnl This file is free software, distributed under the terms of the GNU<br>
-+dnl General Public License. As a special exception to the GNU General<br>
-+dnl Public License, this file may be distributed as part of a program<br>
-+dnl that contains a configuration script generated by Autoconf, under<br>
-+dnl the same distribution terms as the rest of that program.<br>
-+<br>
-+dnl From Bruno Haible.<br>
-+<br>
-+dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and<br>
-+dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't<br>
-+dnl require excessive bracketing.<br>
-+ifdef([AC_HELP_STRING],<br>
-+[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])],<br>
-+[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])])<br>
-+<br>
-+dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed<br>
-+dnl to access previously installed libraries. The basic assumption is that<br>
-+dnl a user will want packages to use other packages he previously installed<br>
-+dnl with the same --prefix option.<br>
-+dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate<br>
-+dnl libraries, but is otherwise very convenient.<br>
-+AC_DEFUN([AC_LIB_PREFIX],<br>
-+[<br>
-+ AC_BEFORE([$0], [AC_LIB_LINKFLAGS])<br>
-+ AC_REQUIRE([AC_PROG_CC])<br>
-+ AC_REQUIRE([AC_CANONICAL_HOST])<br>
-+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])<br>
-+ dnl By default, look in $includedir and $libdir.<br>
-+ use_additional=yes<br>
-+ AC_LIB_WITH_FINAL_PREFIX([<br>
-+ eval additional_includedir=\"$includedir\"<br>
-+ eval additional_libdir=\"$libdir\"<br>
-+ ])<br>
-+ AC_LIB_ARG_WITH([lib-prefix],<br>
-+[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib<br>
-+ --without-lib-prefix don't search for libraries in includedir and libdir],<br>
-+[<br>
-+ if test "X$withval" = "Xno"; then<br>
-+ use_additional=no<br>
-+ else<br>
-+ if test "X$withval" = "X"; then<br>
-+ AC_LIB_WITH_FINAL_PREFIX([<br>
-+ eval additional_includedir=\"$includedir\"<br>
-+ eval additional_libdir=\"$libdir\"<br>
-+ ])<br>
-+ else<br>
-+ additional_includedir="$withval/include"<br>
-+ additional_libdir="$withval/lib"<br>
-+ fi<br>
-+ fi<br>
-+])<br>
-+ if test $use_additional = yes; then<br>
-+ dnl Potentially add $additional_includedir to $CPPFLAGS.<br>
-+ dnl But don't add it<br>
-+ dnl 1. if it's the standard /usr/include,<br>
-+ dnl 2. if it's already present in $CPPFLAGS,<br>
-+ dnl 3. if it's /usr/local/include and we are using GCC on Linux,<br>
-+ dnl 4. if it doesn't exist as a directory.<br>
-+ if test "X$additional_includedir" != "X/usr/include"; then<br>
-+ haveit=<br>
-+ for x in $CPPFLAGS; do<br>
-+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])<br>
-+ if test "X$x" = "X-I$additional_includedir"; then<br>
-+ haveit=yes<br>
-+ break<br>
-+ fi<br>
-+ done<br>
-+ if test -z "$haveit"; then<br>
-+ if test "X$additional_includedir" = "X/usr/local/include"; then<br>
-+ if test -n "$GCC"; then<br>
-+ case $host_os in<br>
-+ linux*) haveit=yes;;<br>
-+ esac<br>
-+ fi<br>
-+ fi<br>
-+ if test -z "$haveit"; then<br>
-+ if test -d "$additional_includedir"; then<br>
-+ dnl Really add $additional_includedir to $CPPFLAGS.<br>
-+ CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"<br>
-+ fi<br>
-+ fi<br>
-+ fi<br>
-+ fi<br>
-+ dnl Potentially add $additional_libdir to $LDFLAGS.<br>
-+ dnl But don't add it<br>
-+ dnl 1. if it's the standard /usr/lib,<br>
-+ dnl 2. if it's already present in $LDFLAGS,<br>
-+ dnl 3. if it's /usr/local/lib and we are using GCC on Linux,<br>
-+ dnl 4. if it doesn't exist as a directory.<br>
-+ if test "X$additional_libdir" != "X/usr/lib"; then<br>
-+ haveit=<br>
-+ for x in $LDFLAGS; do<br>
-+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])<br>
-+ if test "X$x" = "X-L$additional_libdir"; then<br>
-+ haveit=yes<br>
-+ break<br>
-+ fi<br>
-+ done<br>
-+ if test -z "$haveit"; then<br>
-+ if test "X$additional_libdir" = "X/usr/local/lib"; then<br>
-+ if test -n "$GCC"; then<br>
-+ case $host_os in<br>
-+ linux*) haveit=yes;;<br>
-+ esac<br>
-+ fi<br>
-+ fi<br>
-+ if test -z "$haveit"; then<br>
-+ if test -d "$additional_libdir"; then<br>
-+ dnl Really add $additional_libdir to $LDFLAGS.<br>
-+ LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"<br>
-+ fi<br>
-+ fi<br>
-+ fi<br>
-+ fi<br>
-+ fi<br>
-+])<br>
-+<br>
-+dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,<br>
-+dnl acl_final_exec_prefix, containing the values to which $prefix and<br>
-+dnl $exec_prefix will expand at the end of the configure script.<br>
-+AC_DEFUN([AC_LIB_PREPARE_PREFIX],<br>
-+[<br>
-+ dnl Unfortunately, prefix and exec_prefix get only finally determined<br>
-+ dnl at the end of configure.<br>
-+ if test "X$prefix" = "XNONE"; then<br>
-+ acl_final_prefix="$ac_default_prefix"<br>
-+ else<br>
-+ acl_final_prefix="$prefix"<br>
-+ fi<br>
-+ if test "X$exec_prefix" = "XNONE"; then<br>
-+ acl_final_exec_prefix='${prefix}'<br>
-+ else<br>
-+ acl_final_exec_prefix="$exec_prefix"<br>
-+ fi<br>
-+ acl_save_prefix="$prefix"<br>
-+ prefix="$acl_final_prefix"<br>
-+ eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"<br>
-+ prefix="$acl_save_prefix"<br>
-+])<br>
-+<br>
-+dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the<br>
-+dnl variables prefix and exec_prefix bound to the values they will have<br>
-+dnl at the end of the configure script.<br>
-+AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],<br>
-+[<br>
-+ acl_save_prefix="$prefix"<br>
-+ prefix="$acl_final_prefix"<br>
-+ acl_save_exec_prefix="$exec_prefix"<br>
-+ exec_prefix="$acl_final_exec_prefix"<br>
-+ $1<br>
-+ exec_prefix="$acl_save_exec_prefix"<br>
-+ prefix="$acl_save_prefix"<br>
-+])<br>
---- lrzsz-0.12.20.safe/m4/longdouble.m4 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/m4/longdouble.m4 2004-09-12 14:40:34.942658864 -0400<br>
-@@ -0,0 +1,30 @@<br>
-+# longdouble.m4 serial 1 (gettext-0.12)<br>
-+dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.<br>
-+dnl This file is free software, distributed under the terms of the GNU<br>
-+dnl General Public License. As a special exception to the GNU General<br>
-+dnl Public License, this file may be distributed as part of a program<br>
-+dnl that contains a configuration script generated by Autoconf, under<br>
-+dnl the same distribution terms as the rest of that program.<br>
-+<br>
-+dnl From Bruno Haible.<br>
-+dnl Test whether the compiler supports the 'long double' type.<br>
-+dnl Prerequisite: AC_PROG_CC<br>
-+<br>
-+AC_DEFUN([gt_TYPE_LONGDOUBLE],<br>
-+[<br>
-+ AC_CACHE_CHECK([for long double], gt_cv_c_long_double,<br>
-+ [if test "$GCC" = yes; then<br>
-+ gt_cv_c_long_double=yes<br>
-+ else<br>
-+ AC_TRY_COMPILE([<br>
-+ /* The Stardent Vistra knows sizeof(long double), but does not support it. */<br>
-+ long double foo = 0.0;<br>
-+ /* On Ultrix 4.3 cc, long double is 4 and double is 8. */<br>
-+ int array [2*(sizeof(long double) >= sizeof(double)) - 1];<br>
-+ ], ,<br>
-+ gt_cv_c_long_double=yes, gt_cv_c_long_double=no)<br>
-+ fi])<br>
-+ if test $gt_cv_c_long_double = yes; then<br>
-+ AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the 'long double' type.])<br>
-+ fi<br>
-+])<br>
---- lrzsz-0.12.20.safe/m4/longlong.m4 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/m4/longlong.m4 2004-09-12 14:40:34.949657800 -0400<br>
-@@ -0,0 +1,25 @@<br>
-+# longlong.m4 serial 4<br>
-+dnl Copyright (C) 1999-2003 Free Software Foundation, Inc.<br>
-+dnl This file is free software, distributed under the terms of the GNU<br>
-+dnl General Public License. As a special exception to the GNU General<br>
-+dnl Public License, this file may be distributed as part of a program<br>
-+dnl that contains a configuration script generated by Autoconf, under<br>
-+dnl the same distribution terms as the rest of that program.<br>
-+<br>
-+dnl From Paul Eggert.<br>
-+<br>
-+# Define HAVE_LONG_LONG if 'long long' works.<br>
-+<br>
-+AC_DEFUN([jm_AC_TYPE_LONG_LONG],<br>
-+[<br>
-+ AC_CACHE_CHECK([for long long], ac_cv_type_long_long,<br>
-+ [AC_TRY_LINK([long long ll = 1LL; int i = 63;],<br>
-+ [long long llmax = (long long) -1;<br>
-+ return ll << i | ll >> i | llmax / ll | llmax % ll;],<br>
-+ ac_cv_type_long_long=yes,<br>
-+ ac_cv_type_long_long=no)])<br>
-+ if test $ac_cv_type_long_long = yes; then<br>
-+ AC_DEFINE(HAVE_LONG_LONG, 1,<br>
-+ [Define if you have the 'long long' type.])<br>
-+ fi<br>
-+])<br>
---- lrzsz-0.12.20.safe/m4/Makefile.am 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/m4/Makefile.am 2004-09-12 14:40:35.048642752 -0400<br>
-@@ -0,0 +1 @@<br>
-+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<br>
---- lrzsz-0.12.20.safe/m4/nls.m4 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/m4/nls.m4 2004-09-12 14:40:34.955656888 -0400<br>
-@@ -0,0 +1,49 @@<br>
-+# nls.m4 serial 1 (gettext-0.12)<br>
-+dnl Copyright (C) 1995-2003 Free Software Foundation, Inc.<br>
-+dnl This file is free software, distributed under the terms of the GNU<br>
-+dnl General Public License. As a special exception to the GNU General<br>
-+dnl Public License, this file may be distributed as part of a program<br>
-+dnl that contains a configuration script generated by Autoconf, under<br>
-+dnl the same distribution terms as the rest of that program.<br>
-+dnl<br>
-+dnl This file can can be used in projects which are not available under<br>
-+dnl the GNU General Public License or the GNU Library General Public<br>
-+dnl License but which still want to provide support for the GNU gettext<br>
-+dnl functionality.<br>
-+dnl Please note that the actual code of the GNU gettext library is covered<br>
-+dnl by the GNU Library General Public License, and the rest of the GNU<br>
-+dnl gettext package package is covered by the GNU General Public License.<br>
-+dnl They are *not* in the public domain.<br>
-+<br>
-+dnl Authors:<br>
-+dnl Ulrich Drepper <<a href="mailto:drepper@cygnus.com" target="_blank">drepper@cygnus.com</a>>, 1995-2000.<br>
-+dnl Bruno Haible <<a href="mailto:haible@clisp.cons.org" target="_blank">haible@clisp.cons.org</a>>, 2000-2003.<br>
-+<br>
-+AC_DEFUN([AM_NLS],<br>
-+[<br>
-+ AC_MSG_CHECKING([whether NLS is requested])<br>
-+ dnl Default is enabled NLS<br>
-+ AC_ARG_ENABLE(nls,<br>
-+ [ --disable-nls do not use Native Language Support],<br>
-+ USE_NLS=$enableval, USE_NLS=yes)<br>
-+ AC_MSG_RESULT($USE_NLS)<br>
-+ AC_SUBST(USE_NLS)<br>
-+])<br>
-+<br>
-+AC_DEFUN([AM_MKINSTALLDIRS],<br>
-+[<br>
-+ dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly<br>
-+ dnl find the mkinstalldirs script in another subdir but $(top_srcdir).<br>
-+ dnl Try to locate it.<br>
-+ MKINSTALLDIRS=<br>
-+ if test -n "$ac_aux_dir"; then<br>
-+ case "$ac_aux_dir" in<br>
-+ /*) MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" ;;<br>
-+ *) MKINSTALLDIRS="\$(top_builddir)/$ac_aux_dir/mkinstalldirs" ;;<br>
-+ esac<br>
-+ fi<br>
-+ if test -z "$MKINSTALLDIRS"; then<br>
-+ MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"<br>
-+ fi<br>
-+ AC_SUBST(MKINSTALLDIRS)<br>
-+])<br>
---- lrzsz-0.12.20.safe/m4/po.m4 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/m4/po.m4 2004-09-12 14:40:34.961655976 -0400<br>
-@@ -0,0 +1,426 @@<br>
-+# po.m4 serial 3 (gettext-0.14)<br>
-+dnl Copyright (C) 1995-2003 Free Software Foundation, Inc.<br>
-+dnl This file is free software, distributed under the terms of the GNU<br>
-+dnl General Public License. As a special exception to the GNU General<br>
-+dnl Public License, this file may be distributed as part of a program<br>
-+dnl that contains a configuration script generated by Autoconf, under<br>
-+dnl the same distribution terms as the rest of that program.<br>
-+dnl<br>
-+dnl This file can can be used in projects which are not available under<br>
-+dnl the GNU General Public License or the GNU Library General Public<br>
-+dnl License but which still want to provide support for the GNU gettext<br>
-+dnl functionality.<br>
-+dnl Please note that the actual code of the GNU gettext library is covered<br>
-+dnl by the GNU Library General Public License, and the rest of the GNU<br>
-+dnl gettext package package is covered by the GNU General Public License.<br>
-+dnl They are *not* in the public domain.<br>
-+<br>
-+dnl Authors:<br>
-+dnl Ulrich Drepper <<a href="mailto:drepper@cygnus.com" target="_blank">drepper@cygnus.com</a>>, 1995-2000.<br>
-+dnl Bruno Haible <<a href="mailto:haible@clisp.cons.org" target="_blank">haible@clisp.cons.org</a>>, 2000-2003.<br>
-+<br>
-+dnl Checks for all prerequisites of the po subdirectory.<br>
-+AC_DEFUN([AM_PO_SUBDIRS],<br>
-+[<br>
-+ AC_REQUIRE([AC_PROG_MAKE_SET])dnl<br>
-+ AC_REQUIRE([AC_PROG_INSTALL])dnl<br>
-+ AC_REQUIRE([AM_MKINSTALLDIRS])dnl<br>
-+ AC_REQUIRE([AM_NLS])dnl<br>
-+<br>
-+ dnl Perform the following tests also if --disable-nls has been given,<br>
-+ dnl because they are needed for "make dist" to work.<br>
-+<br>
-+ dnl Search for GNU msgfmt in the PATH.<br>
-+ dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.<br>
-+ dnl The second test excludes FreeBSD msgfmt.<br>
-+ AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,<br>
-+ [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 &&<br>
-+ (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],<br>
-+ :)<br>
-+ AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)<br>
-+<br>
-+ dnl Search for GNU xgettext 0.12 or newer in the PATH.<br>
-+ dnl The first test excludes Solaris xgettext and early GNU xgettext versions.<br>
-+ dnl The second test excludes FreeBSD xgettext.<br>
-+ AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,<br>
-+ [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 &&<br>
-+ (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)],<br>
-+ :)<br>
-+ dnl Remove leftover from FreeBSD xgettext call.<br>
-+ rm -f messages.po<br>
-+<br>
-+ dnl Search for GNU msgmerge 0.11 or newer in the PATH.<br>
-+ AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,<br>
-+ [$ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1], :)<br>
-+<br>
-+ dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.<br>
-+ dnl Test whether we really found GNU msgfmt.<br>
-+ if test "$GMSGFMT" != ":"; then<br>
-+ dnl If it is no GNU msgfmt we define it as : so that the<br>
-+ dnl Makefiles still can work.<br>
-+ if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 &&<br>
-+ (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then<br>
-+ : ;<br>
-+ else<br>
-+ GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'`<br>
-+ AC_MSG_RESULT(<br>
-+ [found $GMSGFMT program is not GNU msgfmt; ignore it])<br>
-+ GMSGFMT=":"<br>
-+ fi<br>
-+ fi<br>
-+<br>
-+ dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.<br>
-+ dnl Test whether we really found GNU xgettext.<br>
-+ if test "$XGETTEXT" != ":"; then<br>
-+ dnl If it is no GNU xgettext we define it as : so that the<br>
-+ dnl Makefiles still can work.<br>
-+ if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 &&<br>
-+ (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<br>
-+ : ;<br>
-+ else<br>
-+ AC_MSG_RESULT(<br>
-+ [found xgettext program is not GNU xgettext; ignore it])<br>
-+ XGETTEXT=":"<br>
-+ fi<br>
-+ dnl Remove leftover from FreeBSD xgettext call.<br>
-+ rm -f messages.po<br>
-+ fi<br>
-+<br>
-+ AC_OUTPUT_COMMANDS([<br>
-+ for ac_file in $CONFIG_FILES; do<br>
-+ # Support "outfile[:infile[:infile...]]"<br>
-+ case "$ac_file" in<br>
-+ *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;<br>
-+ esac<br>
-+ # PO directories have a Makefile.in generated from <a href="http://Makefile.in.in" rel="noreferrer" target="_blank">Makefile.in.in</a>.<br>
-+ case "$ac_file" in */Makefile.in)<br>
-+ # Adjust a relative srcdir.<br>
-+ ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`<br>
-+ ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"<br>
-+ ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`<br>
-+ # In autoconf-2.13 it is called $ac_given_srcdir.<br>
-+ # In autoconf-2.50 it is called $srcdir.<br>
-+ test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"<br>
-+ case "$ac_given_srcdir" in<br>
-+ .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;<br>
-+ /*) top_srcdir="$ac_given_srcdir" ;;<br>
-+ *) top_srcdir="$ac_dots$ac_given_srcdir" ;;<br>
-+ esac<br>
-+ if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then<br>
-+ rm -f "$ac_dir/POTFILES"<br>
-+ test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"<br>
-+ cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"<br>
-+ POMAKEFILEDEPS="POTFILES.in"<br>
-+ # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend<br>
-+ # on $ac_dir but don't depend on user-specified configuration<br>
-+ # parameters.<br>
-+ if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then<br>
-+ # The LINGUAS file contains the set of available languages.<br>
-+ if test -n "$OBSOLETE_ALL_LINGUAS"; then<br>
-+ test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in <a href="http://configure.in" rel="noreferrer" target="_blank">configure.in</a> is obsolete" || echo "setting ALL_LINGUAS in <a href="http://configure.in" rel="noreferrer" target="_blank">configure.in</a> is obsolete"<br>
-+ fi<br>
-+ ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"`<br>
-+ # Hide the ALL_LINGUAS assigment from automake.<br>
-+ eval 'ALL_LINGUAS''=$ALL_LINGUAS_'<br>
-+ POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"<br>
-+ else<br>
-+ # The set of available languages was given in <a href="http://configure.in" rel="noreferrer" target="_blank">configure.in</a>.<br>
-+ eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'<br>
-+ fi<br>
-+ # Compute POFILES<br>
-+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)<br>
-+ # Compute UPDATEPOFILES<br>
-+ # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)<br>
-+ # Compute DUMMYPOFILES<br>
-+ # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop)<br>
-+ # Compute GMOFILES<br>
-+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)<br>
-+ case "$ac_given_srcdir" in<br>
-+ .) srcdirpre= ;;<br>
-+ *) srcdirpre='$(srcdir)/' ;;<br>
-+ esac<br>
-+ POFILES=<br>
-+ UPDATEPOFILES=<br>
-+ DUMMYPOFILES=<br>
-+ GMOFILES=<br>
-+ for lang in $ALL_LINGUAS; do<br>
-+ POFILES="$POFILES $srcdirpre$lang.po"<br>
-+ UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"<br>
-+ DUMMYPOFILES="$DUMMYPOFILES $lang.nop"<br>
-+ GMOFILES="$GMOFILES $srcdirpre$lang.gmo"<br>
-+ done<br>
-+ # CATALOGS depends on both $ac_dir and the user's LINGUAS<br>
-+ # environment variable.<br>
-+ INST_LINGUAS=<br>
-+ if test -n "$ALL_LINGUAS"; then<br>
-+ for presentlang in $ALL_LINGUAS; do<br>
-+ useit=no<br>
-+ if test "%UNSET%" != "$LINGUAS"; then<br>
-+ desiredlanguages="$LINGUAS"<br>
-+ else<br>
-+ desiredlanguages="$ALL_LINGUAS"<br>
-+ fi<br>
-+ for desiredlang in $desiredlanguages; do<br>
-+ # Use the presentlang catalog if desiredlang is<br>
-+ # a. equal to presentlang, or<br>
-+ # b. a variant of presentlang (because in this case,<br>
-+ # presentlang can be used as a fallback for messages<br>
-+ # which are not translated in the desiredlang catalog).<br>
-+ case "$desiredlang" in<br>
-+ "$presentlang"*) useit=yes;;<br>
-+ esac<br>
-+ done<br>
-+ if test $useit = yes; then<br>
-+ INST_LINGUAS="$INST_LINGUAS $presentlang"<br>
-+ fi<br>
-+ done<br>
-+ fi<br>
-+ CATALOGS=<br>
-+ if test -n "$INST_LINGUAS"; then<br>
-+ for lang in $INST_LINGUAS; do<br>
-+ CATALOGS="$CATALOGS $lang.gmo"<br>
-+ done<br>
-+ fi<br>
-+ test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"<br>
-+ 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"<br>
-+ for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do<br>
-+ if test -f "$f"; then<br>
-+ case "$f" in<br>
-+ *.orig | *.bak | *~) ;;<br>
-+ *) cat "$f" >> "$ac_dir/Makefile" ;;<br>
-+ esac<br>
-+ fi<br>
-+ done<br>
-+ fi<br>
-+ ;;<br>
-+ esac<br>
-+ done],<br>
-+ [# Capture the value of obsolete ALL_LINGUAS because we need it to compute<br>
-+ # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it<br>
-+ # from automake.<br>
-+ eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'<br>
-+ # Capture the value of LINGUAS because we need it to compute CATALOGS.<br>
-+ LINGUAS="${LINGUAS-%UNSET%}"<br>
-+ ])<br>
-+])<br>
-+<br>
-+dnl Postprocesses a Makefile in a directory containing PO files.<br>
-+AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE],<br>
-+[<br>
-+ # When this code is run, in config.status, two variables have already been<br>
-+ # set:<br>
-+ # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in <a href="http://configure.in" rel="noreferrer" target="_blank">configure.in</a>,<br>
-+ # - LINGUAS is the value of the environment variable LINGUAS at configure<br>
-+ # time.<br>
-+<br>
-+changequote(,)dnl<br>
-+ # Adjust a relative srcdir.<br>
-+ ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`<br>
-+ ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"<br>
-+ ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`<br>
-+ # In autoconf-2.13 it is called $ac_given_srcdir.<br>
-+ # In autoconf-2.50 it is called $srcdir.<br>
-+ test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"<br>
-+ case "$ac_given_srcdir" in<br>
-+ .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;<br>
-+ /*) top_srcdir="$ac_given_srcdir" ;;<br>
-+ *) top_srcdir="$ac_dots$ac_given_srcdir" ;;<br>
-+ esac<br>
-+<br>
-+ # Find a way to echo strings without interpreting backslash.<br>
-+ if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then<br>
-+ gt_echo='echo'<br>
-+ else<br>
-+ if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then<br>
-+ gt_echo='printf %s\n'<br>
-+ else<br>
-+ echo_func () {<br>
-+ cat <<EOT<br>
-+$*<br>
-+EOT<br>
-+ }<br>
-+ gt_echo='echo_func'<br>
-+ fi<br>
-+ fi<br>
-+<br>
-+ # A sed script that extracts the value of VARIABLE from a Makefile.<br>
-+ sed_x_variable='<br>
-+# Test if the hold space is empty.<br>
-+x<br>
-+s/P/P/<br>
-+x<br>
-+ta<br>
-+# Yes it was empty. Look if we have the expected variable definition.<br>
-+/^[ ]*VARIABLE[ ]*=/{<br>
-+ # Seen the first line of the variable definition.<br>
-+ s/^[ ]*VARIABLE[ ]*=//<br>
-+ ba<br>
-+}<br>
-+bd<br>
-+:a<br>
-+# Here we are processing a line from the variable definition.<br>
-+# Remove comment, more precisely replace it with a space.<br>
-+s/#.*$/ /<br>
-+# See if the line ends in a backslash.<br>
-+tb<br>
-+:b<br>
-+s/\\$//<br>
-+# Print the line, without the trailing backslash.<br>
-+p<br>
-+tc<br>
-+# There was no trailing backslash. The end of the variable definition is<br>
-+# reached. Clear the hold space.<br>
-+s/^.*$//<br>
-+x<br>
-+bd<br>
-+:c<br>
-+# A trailing backslash means that the variable definition continues in the<br>
-+# next line. Put a nonempty string into the hold space to indicate this.<br>
-+s/^.*$/P/<br>
-+x<br>
-+:d<br>
-+'<br>
-+changequote([,])dnl<br>
-+<br>
-+ # Set POTFILES to the value of the Makefile variable POTFILES.<br>
-+ sed_x_POTFILES="`$gt_echo \"$sed_x_variable\" | sed -e '/^ *#/d' -e 's/VARIABLE/POTFILES/g'`"<br>
-+ POTFILES=`sed -n -e "$sed_x_POTFILES" < "$ac_file"`<br>
-+ # Compute POTFILES_DEPS as<br>
-+ # $(foreach file, $(POTFILES), $(top_srcdir)/$(file))<br>
-+ POTFILES_DEPS=<br>
-+ for file in $POTFILES; do<br>
-+ POTFILES_DEPS="$POTFILES_DEPS "'$(top_srcdir)/'"$file"<br>
-+ done<br>
-+ POMAKEFILEDEPS=""<br>
-+<br>
-+ if test -n "$OBSOLETE_ALL_LINGUAS"; then<br>
-+ test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in <a href="http://configure.in" rel="noreferrer" target="_blank">configure.in</a> is obsolete" || echo "setting ALL_LINGUAS in <a href="http://configure.in" rel="noreferrer" target="_blank">configure.in</a> is obsolete"<br>
-+ fi<br>
-+ if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then<br>
-+ # The LINGUAS file contains the set of available languages.<br>
-+ ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"`<br>
-+ POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"<br>
-+ else<br>
-+ # Set ALL_LINGUAS to the value of the Makefile variable LINGUAS.<br>
-+ sed_x_LINGUAS="`$gt_echo \"$sed_x_variable\" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'`"<br>
-+ ALL_LINGUAS_=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"`<br>
-+ fi<br>
-+ # Hide the ALL_LINGUAS assigment from automake.<br>
-+ eval 'ALL_LINGUAS''=$ALL_LINGUAS_'<br>
-+ # Compute POFILES<br>
-+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)<br>
-+ # Compute UPDATEPOFILES<br>
-+ # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)<br>
-+ # Compute DUMMYPOFILES<br>
-+ # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop)<br>
-+ # Compute GMOFILES<br>
-+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)<br>
-+ # Compute PROPERTIESFILES<br>
-+ # as $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).properties)<br>
-+ # Compute CLASSFILES<br>
-+ # as $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).class)<br>
-+ # Compute QMFILES<br>
-+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).qm)<br>
-+ # Compute MSGFILES<br>
-+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang)).msg)<br>
-+ # Compute RESOURCESDLLFILES<br>
-+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang))/$(DOMAIN).resources.dll)<br>
-+ case "$ac_given_srcdir" in<br>
-+ .) srcdirpre= ;;<br>
-+ *) srcdirpre='$(srcdir)/' ;;<br>
-+ esac<br>
-+ POFILES=<br>
-+ UPDATEPOFILES=<br>
-+ DUMMYPOFILES=<br>
-+ GMOFILES=<br>
-+ PROPERTIESFILES=<br>
-+ CLASSFILES=<br>
-+ QMFILES=<br>
-+ MSGFILES=<br>
-+ RESOURCESDLLFILES=<br>
-+ for lang in $ALL_LINGUAS; do<br>
-+ POFILES="$POFILES $srcdirpre$lang.po"<br>
-+ UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"<br>
-+ DUMMYPOFILES="$DUMMYPOFILES $lang.nop"<br>
-+ GMOFILES="$GMOFILES $srcdirpre$lang.gmo"<br>
-+ PROPERTIESFILES="$PROPERTIESFILES \$(top_srcdir)/\$(DOMAIN)_$lang.properties"<br>
-+ CLASSFILES="$CLASSFILES \$(top_srcdir)/\$(DOMAIN)_$lang.class"<br>
-+ QMFILES="$QMFILES $srcdirpre$lang.qm"<br>
-+ frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`<br>
-+ MSGFILES="$MSGFILES $srcdirpre$frobbedlang.msg"<br>
-+ frobbedlang=`echo $lang | sed -e 's/_/-/g'`<br>
-+ RESOURCESDLLFILES="$RESOURCESDLLFILES $srcdirpre$frobbedlang/\$(DOMAIN).resources.dll"<br>
-+ done<br>
-+ # CATALOGS depends on both $ac_dir and the user's LINGUAS<br>
-+ # environment variable.<br>
-+ INST_LINGUAS=<br>
-+ if test -n "$ALL_LINGUAS"; then<br>
-+ for presentlang in $ALL_LINGUAS; do<br>
-+ useit=no<br>
-+ if test "%UNSET%" != "$LINGUAS"; then<br>
-+ desiredlanguages="$LINGUAS"<br>
-+ else<br>
-+ desiredlanguages="$ALL_LINGUAS"<br>
-+ fi<br>
-+ for desiredlang in $desiredlanguages; do<br>
-+ # Use the presentlang catalog if desiredlang is<br>
-+ # a. equal to presentlang, or<br>
-+ # b. a variant of presentlang (because in this case,<br>
-+ # presentlang can be used as a fallback for messages<br>
-+ # which are not translated in the desiredlang catalog).<br>
-+ case "$desiredlang" in<br>
-+ "$presentlang"*) useit=yes;;<br>
-+ esac<br>
-+ done<br>
-+ if test $useit = yes; then<br>
-+ INST_LINGUAS="$INST_LINGUAS $presentlang"<br>
-+ fi<br>
-+ done<br>
-+ fi<br>
-+ CATALOGS=<br>
-+ JAVACATALOGS=<br>
-+ QTCATALOGS=<br>
-+ TCLCATALOGS=<br>
-+ CSHARPCATALOGS=<br>
-+ if test -n "$INST_LINGUAS"; then<br>
-+ for lang in $INST_LINGUAS; do<br>
-+ CATALOGS="$CATALOGS $lang.gmo"<br>
-+ JAVACATALOGS="$JAVACATALOGS \$(DOMAIN)_$lang.properties"<br>
-+ QTCATALOGS="$QTCATALOGS $lang.qm"<br>
-+ frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`<br>
-+ TCLCATALOGS="$TCLCATALOGS $frobbedlang.msg"<br>
-+ frobbedlang=`echo $lang | sed -e 's/_/-/g'`<br>
-+ CSHARPCATALOGS="$CSHARPCATALOGS $frobbedlang/\$(DOMAIN).resources.dll"<br>
-+ done<br>
-+ fi<br>
-+<br>
-+ 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"<br>
-+ if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then<br>
-+ # Add dependencies that cannot be formulated as a simple suffix rule.<br>
-+ for lang in $ALL_LINGUAS; do<br>
-+ frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`<br>
-+ cat >> "$ac_file.tmp" <<EOF<br>
-+$frobbedlang.msg: $lang.po<br>
-+ @echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \<br>
-+ \$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }<br>
-+EOF<br>
-+ done<br>
-+ fi<br>
-+ if grep -l '@CSHARPCATALOGS@' "$ac_file" > /dev/null; then<br>
-+ # Add dependencies that cannot be formulated as a simple suffix rule.<br>
-+ for lang in $ALL_LINGUAS; do<br>
-+ frobbedlang=`echo $lang | sed -e 's/_/-/g'`<br>
-+ cat >> "$ac_file.tmp" <<EOF<br>
-+$frobbedlang/\$(DOMAIN).resources.dll: $lang.po<br>
-+ @echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \<br>
-+ \$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }<br>
-+EOF<br>
-+ done<br>
-+ fi<br>
-+ if test -n "$POMAKEFILEDEPS"; then<br>
-+ cat >> "$ac_file.tmp" <<EOF<br>
-+Makefile: $POMAKEFILEDEPS<br>
-+EOF<br>
-+ fi<br>
-+ mv "$ac_file.tmp" "$ac_file"<br>
-+])<br>
---- lrzsz-0.12.20.safe/m4/printf-posix.m4 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/m4/printf-posix.m4 2004-09-12 14:40:34.974654000 -0400<br>
-@@ -0,0 +1,46 @@<br>
-+# printf-posix.m4 serial 2 (gettext-0.13.1)<br>
-+dnl Copyright (C) 2003 Free Software Foundation, Inc.<br>
-+dnl This file is free software, distributed under the terms of the GNU<br>
-+dnl General Public License. As a special exception to the GNU General<br>
-+dnl Public License, this file may be distributed as part of a program<br>
-+dnl that contains a configuration script generated by Autoconf, under<br>
-+dnl the same distribution terms as the rest of that program.<br>
-+<br>
-+dnl From Bruno Haible.<br>
-+dnl Test whether the printf() function supports POSIX/XSI format strings with<br>
-+dnl positions.<br>
-+<br>
-+AC_DEFUN([gt_PRINTF_POSIX],<br>
-+[<br>
-+ AC_REQUIRE([AC_PROG_CC])<br>
-+ AC_CACHE_CHECK([whether printf() supports POSIX/XSI format strings],<br>
-+ gt_cv_func_printf_posix,<br>
-+ [<br>
-+ AC_TRY_RUN([<br>
-+#include <stdio.h><br>
-+#include <string.h><br>
-+/* The string "%2$d %1$d", with dollar characters protected from the shell's<br>
-+ dollar expansion (possibly an autoconf bug). */<br>
-+static char format[] = { '%', '2', '$', 'd', ' ', '%', '1', '$', 'd', '\0' };<br>
-+static char buf[100];<br>
-+int main ()<br>
-+{<br>
-+ sprintf (buf, format, 33, 55);<br>
-+ return (strcmp (buf, "55 33") != 0);<br>
-+}], gt_cv_func_printf_posix=yes, gt_cv_func_printf_posix=no,<br>
-+ [<br>
-+ AC_EGREP_CPP(notposix, [<br>
-+#if defined __NetBSD__ || defined _MSC_VER || defined __MINGW32__ || defined __CYGWIN__<br>
-+ notposix<br>
-+#endif<br>
-+ ], gt_cv_func_printf_posix="guessing no",<br>
-+ gt_cv_func_printf_posix="guessing yes")<br>
-+ ])<br>
-+ ])<br>
-+ case $gt_cv_func_printf_posix in<br>
-+ *yes)<br>
-+ AC_DEFINE(HAVE_POSIX_PRINTF, 1,<br>
-+ [Define if your printf() function supports format strings with positions.])<br>
-+ ;;<br>
-+ esac<br>
-+])<br>
---- lrzsz-0.12.20.safe/m4/progtest.m4 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/m4/progtest.m4 2004-09-12 14:40:34.990651568 -0400<br>
-@@ -0,0 +1,91 @@<br>
-+# progtest.m4 serial 3 (gettext-0.12)<br>
-+dnl Copyright (C) 1996-2003 Free Software Foundation, Inc.<br>
-+dnl This file is free software, distributed under the terms of the GNU<br>
-+dnl General Public License. As a special exception to the GNU General<br>
-+dnl Public License, this file may be distributed as part of a program<br>
-+dnl that contains a configuration script generated by Autoconf, under<br>
-+dnl the same distribution terms as the rest of that program.<br>
-+dnl<br>
-+dnl This file can can be used in projects which are not available under<br>
-+dnl the GNU General Public License or the GNU Library General Public<br>
-+dnl License but which still want to provide support for the GNU gettext<br>
-+dnl functionality.<br>
-+dnl Please note that the actual code of the GNU gettext library is covered<br>
-+dnl by the GNU Library General Public License, and the rest of the GNU<br>
-+dnl gettext package package is covered by the GNU General Public License.<br>
-+dnl They are *not* in the public domain.<br>
-+<br>
-+dnl Authors:<br>
-+dnl Ulrich Drepper <<a href="mailto:drepper@cygnus.com" target="_blank">drepper@cygnus.com</a>>, 1996.<br>
-+<br>
-+# Search path for a program which passes the given test.<br>
-+<br>
-+dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,<br>
-+dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])<br>
-+AC_DEFUN([AM_PATH_PROG_WITH_TEST],<br>
-+[<br>
-+# Prepare PATH_SEPARATOR.<br>
-+# The user is always right.<br>
-+if test "${PATH_SEPARATOR+set}" != set; then<br>
-+ echo "#! /bin/sh" >conf$$.sh<br>
-+ echo "exit 0" >>conf$$.sh<br>
-+ chmod +x conf$$.sh<br>
-+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then<br>
-+ PATH_SEPARATOR=';'<br>
-+ else<br>
-+ PATH_SEPARATOR=:<br>
-+ fi<br>
-+ rm -f conf$$.sh<br>
-+fi<br>
-+<br>
-+# Find out how to test for executable files. Don't use a zero-byte file,<br>
-+# as systems may use methods other than mode bits to determine executability.<br>
-+cat >conf$$.file <<_ASEOF<br>
-+#! /bin/sh<br>
-+exit 0<br>
-+_ASEOF<br>
-+chmod +x conf$$.file<br>
-+if test -x conf$$.file >/dev/null 2>&1; then<br>
-+ ac_executable_p="test -x"<br>
-+else<br>
-+ ac_executable_p="test -f"<br>
-+fi<br>
-+rm -f conf$$.file<br>
-+<br>
-+# Extract the first word of "$2", so it can be a program name with args.<br>
-+set dummy $2; ac_word=[$]2<br>
-+AC_MSG_CHECKING([for $ac_word])<br>
-+AC_CACHE_VAL(ac_cv_path_$1,<br>
-+[case "[$]$1" in<br>
-+ [[\\/]]* | ?:[[\\/]]*)<br>
-+ ac_cv_path_$1="[$]$1" # Let the user override the test with a path.<br>
-+ ;;<br>
-+ *)<br>
-+ ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR<br>
-+ for ac_dir in ifelse([$5], , $PATH, [$5]); do<br>
-+ IFS="$ac_save_IFS"<br>
-+ test -z "$ac_dir" && ac_dir=.<br>
-+ for ac_exec_ext in '' $ac_executable_extensions; do<br>
-+ if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then<br>
-+ if [$3]; then<br>
-+ ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext"<br>
-+ break 2<br>
-+ fi<br>
-+ fi<br>
-+ done<br>
-+ done<br>
-+ IFS="$ac_save_IFS"<br>
-+dnl If no 4th arg is given, leave the cache variable unset,<br>
-+dnl so AC_PATH_PROGS will keep looking.<br>
-+ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"<br>
-+])dnl<br>
-+ ;;<br>
-+esac])dnl<br>
-+$1="$ac_cv_path_$1"<br>
-+if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then<br>
-+ AC_MSG_RESULT([$]$1)<br>
-+else<br>
-+ AC_MSG_RESULT(no)<br>
-+fi<br>
-+AC_SUBST($1)dnl<br>
-+])<br>
---- lrzsz-0.12.20.safe/m4/signed.m4 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/m4/signed.m4 2004-09-12 14:40:34.996650656 -0400<br>
-@@ -0,0 +1,19 @@<br>
-+# signed.m4 serial 1 (gettext-0.10.40)<br>
-+dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.<br>
-+dnl This file is free software, distributed under the terms of the GNU<br>
-+dnl General Public License. As a special exception to the GNU General<br>
-+dnl Public License, this file may be distributed as part of a program<br>
-+dnl that contains a configuration script generated by Autoconf, under<br>
-+dnl the same distribution terms as the rest of that program.<br>
-+<br>
-+dnl From Bruno Haible.<br>
-+<br>
-+AC_DEFUN([bh_C_SIGNED],<br>
-+[<br>
-+ AC_CACHE_CHECK([for signed], bh_cv_c_signed,<br>
-+ [AC_TRY_COMPILE(, [signed char x;], bh_cv_c_signed=yes, bh_cv_c_signed=no)])<br>
-+ if test $bh_cv_c_signed = no; then<br>
-+ AC_DEFINE(signed, ,<br>
-+ [Define to empty if the C compiler doesn't support this keyword.])<br>
-+ fi<br>
-+])<br>
---- lrzsz-0.12.20.safe/m4/size_max.m4 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/m4/size_max.m4 2004-09-12 14:40:35.003649592 -0400<br>
-@@ -0,0 +1,61 @@<br>
-+# size_max.m4 serial 2<br>
-+dnl Copyright (C) 2003 Free Software Foundation, Inc.<br>
-+dnl This file is free software, distributed under the terms of the GNU<br>
-+dnl General Public License. As a special exception to the GNU General<br>
-+dnl Public License, this file may be distributed as part of a program<br>
-+dnl that contains a configuration script generated by Autoconf, under<br>
-+dnl the same distribution terms as the rest of that program.<br>
-+<br>
-+dnl From Bruno Haible.<br>
-+<br>
-+AC_DEFUN([gl_SIZE_MAX],<br>
-+[<br>
-+ AC_CHECK_HEADERS(stdint.h)<br>
-+ dnl First test whether the system already has SIZE_MAX.<br>
-+ AC_MSG_CHECKING([for SIZE_MAX])<br>
-+ result=<br>
-+ AC_EGREP_CPP([Found it], [<br>
-+#include <limits.h><br>
-+#if HAVE_STDINT_H<br>
-+#include <stdint.h><br>
-+#endif<br>
-+#ifdef SIZE_MAX<br>
-+Found it<br>
-+#endif<br>
-+], result=yes)<br>
-+ if test -z "$result"; then<br>
-+ dnl Define it ourselves. Here we assume that the type 'size_t' is not wider<br>
-+ dnl than the type 'unsigned long'.<br>
-+ dnl The _AC_COMPUTE_INT macro works up to LONG_MAX, since it uses 'expr',<br>
-+ dnl which is guaranteed to work from LONG_MIN to LONG_MAX.<br>
-+ _AC_COMPUTE_INT([~(size_t)0 / 10], res_hi,<br>
-+ [#include <stddef.h>], result=?)<br>
-+ _AC_COMPUTE_INT([~(size_t)0 % 10], res_lo,<br>
-+ [#include <stddef.h>], result=?)<br>
-+ _AC_COMPUTE_INT([sizeof (size_t) <= sizeof (unsigned int)], fits_in_uint,<br>
-+ [#include <stddef.h>], result=?)<br>
-+ if test "$fits_in_uint" = 1; then<br>
-+ dnl Even though SIZE_MAX fits in an unsigned int, it must be of type<br>
-+ dnl 'unsigned long' if the type 'size_t' is the same as 'unsigned long'.<br>
-+ AC_TRY_COMPILE([#include <stddef.h><br>
-+ extern size_t foo;<br>
-+ extern unsigned long foo;<br>
-+ ], [], fits_in_uint=0)<br>
-+ fi<br>
-+ if test -z "$result"; then<br>
-+ if test "$fits_in_uint" = 1; then<br>
-+ result="$res_hi$res_lo"U<br>
-+ else<br>
-+ result="$res_hi$res_lo"UL<br>
-+ fi<br>
-+ else<br>
-+ dnl Shouldn't happen, but who knows...<br>
-+ result='~(size_t)0'<br>
-+ fi<br>
-+ fi<br>
-+ AC_MSG_RESULT([$result])<br>
-+ if test "$result" != yes; then<br>
-+ AC_DEFINE_UNQUOTED([SIZE_MAX], [$result],<br>
-+ [Define as the maximum value of type 'size_t', if the system doesn't define it.])<br>
-+ fi<br>
-+])<br>
---- lrzsz-0.12.20.safe/m4/stdint_h.m4 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/m4/stdint_h.m4 2004-09-12 14:40:35.009648680 -0400<br>
-@@ -0,0 +1,28 @@<br>
-+# stdint_h.m4 serial 3 (gettext-0.12)<br>
-+dnl Copyright (C) 1997-2003 Free Software Foundation, Inc.<br>
-+dnl This file is free software, distributed under the terms of the GNU<br>
-+dnl General Public License. As a special exception to the GNU General<br>
-+dnl Public License, this file may be distributed as part of a program<br>
-+dnl that contains a configuration script generated by Autoconf, under<br>
-+dnl the same distribution terms as the rest of that program.<br>
-+<br>
-+dnl From Paul Eggert.<br>
-+<br>
-+# Define HAVE_STDINT_H_WITH_UINTMAX if <stdint.h> exists,<br>
-+# doesn't clash with <sys/types.h>, and declares uintmax_t.<br>
-+<br>
-+AC_DEFUN([jm_AC_HEADER_STDINT_H],<br>
-+[<br>
-+ AC_CACHE_CHECK([for stdint.h], jm_ac_cv_header_stdint_h,<br>
-+ [AC_TRY_COMPILE(<br>
-+ [#include <sys/types.h><br>
-+#include <stdint.h>],<br>
-+ [uintmax_t i = (uintmax_t) -1;],<br>
-+ jm_ac_cv_header_stdint_h=yes,<br>
-+ jm_ac_cv_header_stdint_h=no)])<br>
-+ if test $jm_ac_cv_header_stdint_h = yes; then<br>
-+ AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1,<br>
-+ [Define if <stdint.h> exists, doesn't clash with <sys/types.h>,<br>
-+ and declares uintmax_t. ])<br>
-+ fi<br>
-+])<br>
---- lrzsz-0.12.20.safe/m4/uintmax_t.m4 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/m4/uintmax_t.m4 2004-09-12 14:40:35.021646856 -0400<br>
-@@ -0,0 +1,32 @@<br>
-+# uintmax_t.m4 serial 7 (gettext-0.12)<br>
-+dnl Copyright (C) 1997-2003 Free Software Foundation, Inc.<br>
-+dnl This file is free software, distributed under the terms of the GNU<br>
-+dnl General Public License. As a special exception to the GNU General<br>
-+dnl Public License, this file may be distributed as part of a program<br>
-+dnl that contains a configuration script generated by Autoconf, under<br>
-+dnl the same distribution terms as the rest of that program.<br>
-+<br>
-+dnl From Paul Eggert.<br>
-+<br>
-+AC_PREREQ(2.13)<br>
-+<br>
-+# Define uintmax_t to 'unsigned long' or 'unsigned long long'<br>
-+# if it is not already defined in <stdint.h> or <inttypes.h>.<br>
-+<br>
-+AC_DEFUN([jm_AC_TYPE_UINTMAX_T],<br>
-+[<br>
-+ AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])<br>
-+ AC_REQUIRE([jm_AC_HEADER_STDINT_H])<br>
-+ if test $jm_ac_cv_header_inttypes_h = no && test $jm_ac_cv_header_stdint_h = no; then<br>
-+ AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])<br>
-+ test $ac_cv_type_unsigned_long_long = yes \<br>
-+ && ac_type='unsigned long long' \<br>
-+ || ac_type='unsigned long'<br>
-+ AC_DEFINE_UNQUOTED(uintmax_t, $ac_type,<br>
-+ [Define to unsigned long or unsigned long long<br>
-+ if <stdint.h> and <inttypes.h> don't define.])<br>
-+ else<br>
-+ AC_DEFINE(HAVE_UINTMAX_T, 1,<br>
-+ [Define if you have the 'uintmax_t' type in <stdint.h> or <inttypes.h>.])<br>
-+ fi<br>
-+])<br>
---- lrzsz-0.12.20.safe/m4/ulonglong.m4 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/m4/ulonglong.m4 2004-09-12 14:40:35.028645792 -0400<br>
-@@ -0,0 +1,25 @@<br>
-+# ulonglong.m4 serial 3<br>
-+dnl Copyright (C) 1999-2003 Free Software Foundation, Inc.<br>
-+dnl This file is free software, distributed under the terms of the GNU<br>
-+dnl General Public License. As a special exception to the GNU General<br>
-+dnl Public License, this file may be distributed as part of a program<br>
-+dnl that contains a configuration script generated by Autoconf, under<br>
-+dnl the same distribution terms as the rest of that program.<br>
-+<br>
-+dnl From Paul Eggert.<br>
-+<br>
-+# Define HAVE_UNSIGNED_LONG_LONG if 'unsigned long long' works.<br>
-+<br>
-+AC_DEFUN([jm_AC_TYPE_UNSIGNED_LONG_LONG],<br>
-+[<br>
-+ AC_CACHE_CHECK([for unsigned long long], ac_cv_type_unsigned_long_long,<br>
-+ [AC_TRY_LINK([unsigned long long ull = 1ULL; int i = 63;],<br>
-+ [unsigned long long ullmax = (unsigned long long) -1;<br>
-+ return ull << i | ull >> i | ullmax / ull | ullmax % ull;],<br>
-+ ac_cv_type_unsigned_long_long=yes,<br>
-+ ac_cv_type_unsigned_long_long=no)])<br>
-+ if test $ac_cv_type_unsigned_long_long = yes; then<br>
-+ AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1,<br>
-+ [Define if you have the 'unsigned long long' type.])<br>
-+ fi<br>
-+])<br>
---- lrzsz-0.12.20.safe/m4/wchar_t.m4 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/m4/wchar_t.m4 2004-09-12 14:40:35.034644880 -0400<br>
-@@ -0,0 +1,22 @@<br>
-+# wchar_t.m4 serial 1 (gettext-0.12)<br>
-+dnl Copyright (C) 2002-2003 Free Software Foundation, Inc.<br>
-+dnl This file is free software, distributed under the terms of the GNU<br>
-+dnl General Public License. As a special exception to the GNU General<br>
-+dnl Public License, this file may be distributed as part of a program<br>
-+dnl that contains a configuration script generated by Autoconf, under<br>
-+dnl the same distribution terms as the rest of that program.<br>
-+<br>
-+dnl From Bruno Haible.<br>
-+dnl Test whether <stddef.h> has the 'wchar_t' type.<br>
-+dnl Prerequisite: AC_PROG_CC<br>
-+<br>
-+AC_DEFUN([gt_TYPE_WCHAR_T],<br>
-+[<br>
-+ AC_CACHE_CHECK([for wchar_t], gt_cv_c_wchar_t,<br>
-+ [AC_TRY_COMPILE([#include <stddef.h><br>
-+ wchar_t foo = (wchar_t)'\0';], ,<br>
-+ gt_cv_c_wchar_t=yes, gt_cv_c_wchar_t=no)])<br>
-+ if test $gt_cv_c_wchar_t = yes; then<br>
-+ AC_DEFINE(HAVE_WCHAR_T, 1, [Define if you have the 'wchar_t' type.])<br>
-+ fi<br>
-+])<br>
---- lrzsz-0.12.20.safe/m4/wint_t.m4 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/m4/wint_t.m4 2004-09-12 14:40:35.040643968 -0400<br>
-@@ -0,0 +1,22 @@<br>
-+# wint_t.m4 serial 1 (gettext-0.12)<br>
-+dnl Copyright (C) 2003 Free Software Foundation, Inc.<br>
-+dnl This file is free software, distributed under the terms of the GNU<br>
-+dnl General Public License. As a special exception to the GNU General<br>
-+dnl Public License, this file may be distributed as part of a program<br>
-+dnl that contains a configuration script generated by Autoconf, under<br>
-+dnl the same distribution terms as the rest of that program.<br>
-+<br>
-+dnl From Bruno Haible.<br>
-+dnl Test whether <wchar.h> has the 'wint_t' type.<br>
-+dnl Prerequisite: AC_PROG_CC<br>
-+<br>
-+AC_DEFUN([gt_TYPE_WINT_T],<br>
-+[<br>
-+ AC_CACHE_CHECK([for wint_t], gt_cv_c_wint_t,<br>
-+ [AC_TRY_COMPILE([#include <wchar.h><br>
-+ wint_t foo = (wchar_t)'\0';], ,<br>
-+ gt_cv_c_wint_t=yes, gt_cv_c_wint_t=no)])<br>
-+ if test $gt_cv_c_wint_t = yes; then<br>
-+ AC_DEFINE(HAVE_WINT_T, 1, [Define if you have the 'wint_t' type.])<br>
-+ fi<br>
-+])<br>
---- lrzsz-0.12.20.safe/m4/xsize.m4 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/m4/xsize.m4 2004-09-12 14:40:35.047642904 -0400<br>
-@@ -0,0 +1,14 @@<br>
-+# xsize.m4 serial 2<br>
-+dnl Copyright (C) 2003 Free Software Foundation, Inc.<br>
-+dnl This file is free software, distributed under the terms of the GNU<br>
-+dnl General Public License. As a special exception to the GNU General<br>
-+dnl Public License, this file may be distributed as part of a program<br>
-+dnl that contains a configuration script generated by Autoconf, under<br>
-+dnl the same distribution terms as the rest of that program.<br>
-+<br>
-+AC_DEFUN([gl_XSIZE],<br>
-+[<br>
-+ dnl Prerequisites of lib/xsize.h.<br>
-+ AC_REQUIRE([gl_SIZE_MAX])<br>
-+ AC_CHECK_HEADERS(stdint.h)<br>
-+])<br>
---- lrzsz-0.12.20.safe/Makefile.am 1998-12-30 06:19:40.000000000 -0500<br>
-+++ lrzsz-0.12.20/Makefile.am 2004-09-12 14:40:35.121631656 -0400<br>
-@@ -1,5 +1,5 @@<br>
- SUBDIRS = lib intl src po man testsuite<br>
--EXTRA_DIST = check.lrzsz COMPATABILITY README.cvs README.isdn4linux \<br>
-+EXTRA_DIST = config.rpath check.lrzsz COMPATABILITY README.cvs README.isdn4linux \<br>
- README.gettext rpmrc buildrpm <a href="http://systype.in" rel="noreferrer" target="_blank">systype.in</a> fastcheck.sh README.tests \<br>
- beos-runpiped.c fastcheck.beos<br>
- noinst_SCRIPTS=systype<br>
-@@ -83,3 +83,5 @@<br>
- rpm: $(PR).tar.gz Specfile<br>
- $(srcdir)/buildrpm $(srcdir)<br>
- <br>
-+<br>
-+ACLOCAL_AMFLAGS = -I m4<br>
---- lrzsz-0.12.20.safe/Makefile.in 1998-12-30 11:31:40.000000000 -0500<br>
-+++ lrzsz-0.12.20/Makefile.in 2004-09-12 14:40:35.109633480 -0400<br>
-@@ -125,7 +125,7 @@<br>
- && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status<br>
- <br>
- $(ACLOCAL_M4): <a href="http://configure.in" rel="noreferrer" target="_blank">configure.in</a> acinclude.m4<br>
-- cd $(srcdir) && $(ACLOCAL)<br>
-+ cd $(srcdir) && $(ACLOCAL) -I m4<br>
- <br>
- config.status: $(srcdir)/configure<br>
- $(SHELL) ./config.status --recheck<br>
---- lrzsz-0.12.20.safe/mkinstalldirs 1998-04-26 09:20:52.000000000 -0400<br>
-+++ lrzsz-0.12.20/mkinstalldirs 2004-09-12 14:40:34.337750824 -0400<br>
-@@ -1,34 +1,150 @@<br>
- #! /bin/sh<br>
- # mkinstalldirs --- make directory hierarchy<br>
--# Author: Noah Friedman <<a href="mailto:friedman@prep.ai.mit.edu" target="_blank">friedman@prep.ai.mit.edu</a>><br>
-+<br>
-+scriptversion=2004-02-15.20<br>
-+<br>
-+# Original author: Noah Friedman <<a href="mailto:friedman@prep.ai.mit.edu" target="_blank">friedman@prep.ai.mit.edu</a>><br>
- # Created: 1993-05-16<br>
--# Last modified: 1995-03-05<br>
--# Public domain<br>
-+# Public domain.<br>
-+#<br>
-+# This file is maintained in Automake, please report<br>
-+# bugs to <<a href="mailto:bug-automake@gnu.org" target="_blank">bug-automake@gnu.org</a>> or send patches to<br>
-+# <<a href="mailto:automake-patches@gnu.org" target="_blank">automake-patches@gnu.org</a>>.<br>
- <br>
- errstatus=0<br>
-+dirmode=""<br>
- <br>
--for file in ${1+"$@"} ; do<br>
-- set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`<br>
-- shift<br>
-+usage="\<br>
-+Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ...<br>
- <br>
-- pathcomp=<br>
-- for d in ${1+"$@"} ; do<br>
-- pathcomp="$pathcomp$d"<br>
-- case "$pathcomp" in<br>
-- -* ) pathcomp=./$pathcomp ;;<br>
-- esac<br>
-+Create each directory DIR (with mode MODE, if specified), including all<br>
-+leading file name components.<br>
- <br>
-- if test ! -d "$pathcomp"; then<br>
-- echo "mkdir $pathcomp" 1>&2<br>
-- mkdir "$pathcomp" > /dev/null 2>&1 || lasterr=$?<br>
-- fi<br>
-+Report bugs to <<a href="mailto:bug-automake@gnu.org" target="_blank">bug-automake@gnu.org</a>>."<br>
- <br>
-- if test ! -d "$pathcomp"; then<br>
-+# process command line arguments<br>
-+while test $# -gt 0 ; do<br>
-+ case $1 in<br>
-+ -h | --help | --h*) # -h for help<br>
-+ echo "$usage"<br>
-+ exit 0<br>
-+ ;;<br>
-+ -m) # -m PERM arg<br>
-+ shift<br>
-+ test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }<br>
-+ dirmode=$1<br>
-+ shift<br>
-+ ;;<br>
-+ --version)<br>
-+ echo "$0 $scriptversion"<br>
-+ exit 0<br>
-+ ;;<br>
-+ --) # stop option processing<br>
-+ shift<br>
-+ break<br>
-+ ;;<br>
-+ -*) # unknown option<br>
-+ echo "$usage" 1>&2<br>
-+ exit 1<br>
-+ ;;<br>
-+ *) # first non-opt arg<br>
-+ break<br>
-+ ;;<br>
-+ esac<br>
-+done<br>
-+<br>
-+for file<br>
-+do<br>
-+ if test -d "$file"; then<br>
-+ shift<br>
-+ else<br>
-+ break<br>
-+ fi<br>
-+done<br>
-+<br>
-+case $# in<br>
-+ 0) exit 0 ;;<br>
-+esac<br>
-+<br>
-+# Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and<br>
-+# mkdir -p a/c at the same time, both will detect that a is missing,<br>
-+# one will create a, then the other will try to create a and die with<br>
-+# a "File exists" error. This is a problem when calling mkinstalldirs<br>
-+# from a parallel make. We use --version in the probe to restrict<br>
-+# ourselves to GNU mkdir, which is thread-safe.<br>
-+case $dirmode in<br>
-+ '')<br>
-+ if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then<br>
-+ echo "mkdir -p -- $*"<br>
-+ exec mkdir -p -- "$@"<br>
-+ else<br>
-+ # On NextStep and OpenStep, the `mkdir' command does not<br>
-+ # recognize any option. It will interpret all options as<br>
-+ # directories to create, and then abort because `.' already<br>
-+ # exists.<br>
-+ test -d ./-p && rmdir ./-p<br>
-+ test -d ./--version && rmdir ./--version<br>
-+ fi<br>
-+ ;;<br>
-+ *)<br>
-+ if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 &&<br>
-+ test ! -d ./--version; then<br>
-+ echo "mkdir -m $dirmode -p -- $*"<br>
-+ exec mkdir -m "$dirmode" -p -- "$@"<br>
-+ else<br>
-+ # Clean up after NextStep and OpenStep mkdir.<br>
-+ for d in ./-m ./-p ./--version "./$dirmode";<br>
-+ do<br>
-+ test -d $d && rmdir $d<br>
-+ done<br>
-+ fi<br>
-+ ;;<br>
-+esac<br>
-+<br>
-+for file<br>
-+do<br>
-+ set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`<br>
-+ shift<br>
-+<br>
-+ pathcomp=<br>
-+ for d<br>
-+ do<br>
-+ pathcomp="$pathcomp$d"<br>
-+ case $pathcomp in<br>
-+ -*) pathcomp=./$pathcomp ;;<br>
-+ esac<br>
-+<br>
-+ if test ! -d "$pathcomp"; then<br>
-+ echo "mkdir $pathcomp"<br>
-+<br>
-+ mkdir "$pathcomp" || lasterr=$?<br>
-+<br>
-+ if test ! -d "$pathcomp"; then<br>
- errstatus=$lasterr<br>
-- fi<br>
-+ else<br>
-+ if test ! -z "$dirmode"; then<br>
-+ echo "chmod $dirmode $pathcomp"<br>
-+ lasterr=""<br>
-+ chmod "$dirmode" "$pathcomp" || lasterr=$?<br>
- <br>
-- pathcomp="$pathcomp/"<br>
-- done<br>
-+ if test ! -z "$lasterr"; then<br>
-+ errstatus=$lasterr<br>
-+ fi<br>
-+ fi<br>
-+ fi<br>
-+ fi<br>
-+<br>
-+ pathcomp="$pathcomp/"<br>
-+ done<br>
- done<br>
- <br>
- exit $errstatus<br>
-+<br>
-+# Local Variables:<br>
-+# mode: shell-script<br>
-+# sh-indentation: 2<br>
-+# eval: (add-hook 'write-file-hooks 'time-stamp)<br>
-+# time-stamp-start: "scriptversion="<br>
-+# time-stamp-format: "%:y-%02m-%02d.%02H"<br>
-+# time-stamp-end: "$"<br>
-+# End:<br>
---- lrzsz-0.12.20.safe/po/boldquot.sed 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/po/boldquot.sed 2004-09-12 14:40:34.723692152 -0400<br>
-@@ -0,0 +1,10 @@<br>
-+s/"\([^"]*\)"/“\1”/g<br>
-+s/`\([^`']*\)'/‘\1’/g<br>
-+s/ '\([^`']*\)' / ‘\1’ /g<br>
-+s/ '\([^`']*\)'$/ ‘\1’/g<br>
-+s/^'\([^`']*\)' /‘\1’ /g<br>
-+s/“”/""/g<br>
-+s/“/“ [1m/g<br>
-+s/”/ [0m”/g<br>
-+s/‘/‘ [1m/g<br>
-+s/’/ [0m’/g<br>
---- lrzsz-0.12.20.safe/po/cat-id-tbl.c 1998-12-29 04:24:24.000000000 -0500<br>
-+++ lrzsz-0.12.20/po/cat-id-tbl.c 1969-12-31 19:00:00.000000000 -0500<br>
-@@ -1,234 +0,0 @@<br>
--/* Automatically generated by po2tbl.sed from lrzsz.pot. */<br>
--<br>
--#if HAVE_CONFIG_H<br>
--# include <config.h><br>
--#endif<br>
--<br>
--#include "libgettext.h"<br>
--<br>
--const struct _msg_ent _msg_tbl[] = {<br>
-- {"", 1},<br>
-- {"io_mode(,2) in rbsb.c not implemented\n", 2},<br>
-- {"caught signal %d; exiting", 3},<br>
-- {"command tries", 4},<br>
-- {"packetlength", 5},<br>
-- {"packetlength out of range 24..%ld", 6},<br>
-- {"framelength", 7},<br>
-- {"framelength out of range 32..%ld", 8},<br>
-- {"min_bps", 9},<br>
-- {"min_bps must be >= 0", 10},<br>
-- {"min_bps_time", 11},<br>
-- {"min_bps_time must be > 1", 12},<br>
-- {"hour to large (0..23)", 13},<br>
-- {"unparsable stop time\n", 14},<br>
-- {"minute to large (0..59)", 15},<br>
-- {"stop time to small", 16},<br>
-- {"stop-at", 17},<br>
-- {"timeout", 18},<br>
-- {"timeout out of range 10..1000", 19},<br>
-- {"security violation: can't do that under restricted shell\n", 20},<br>
-- {"window size", 21},<br>
-- {"cannot turnoff syslog", 22},<br>
-- {"startup delay", 23},<br>
-- {"out of memory", 24},<br>
-- {"this program was never intended to be used setuid\n", 25},<br>
-- {"need at least one file to send", 26},<br>
-- {"Can't send command in restricted mode\n", 27},<br>
-- {"hostname too long\n", 28},<br>
-- {"illegal server address\n", 29},<br>
-- {"can read only one file from stdin", 30},<br>
-- {"Transfer incomplete\n", 31},<br>
-- {"Transfer complete\n", 32},<br>
-- {"send_pseudo %s: cannot open tmpfile %s: %s", 33},<br>
-- {"send_pseudo %s: cannot lstat tmpfile %s: %s", 34},<br>
-- {"send_pseudo %s: avoiding symlink trap", 35},<br>
-- {"send_pseudo %s: cannot write to tmpfile %s: %s", 36},<br>
-- {"send_pseudo %s: failed", 37},<br>
-- {"send_pseudo %s: ok", 38},<br>
-- {"tcp protocol init failed\n", 39},<br>
-- {"Answering TIMESYNC at %s", 40},<br>
-- {"timezone", 41},<br>
-- {"timezone unknown", 42},<br>
-- {"Can't open any requested files.", 43},<br>
-- {"security violation: not allowed to upload from %s", 44},<br>
-- {"cannot open %s", 45},<br>
-- {"is not a file: %s", 46},<br>
-- {"%s/%s: error occured", 47},<br>
-- {"skipped: %s", 48},<br>
-- {"%s/%s: skipped", 49},<br>
-- {"Bytes Sent:%7ld BPS:%-8ld \n", 50},<br>
-- {"Sending %s, %ld blocks: ", 51},<br>
-- {"Give your local XMODEM receive command now.", 52},<br>
-- {"Sending: %s\n", 53},<br>
-- {"Timeout on pathname", 54},<br>
-- {"Receiver Cancelled", 55},<br>
-- {"No ACK on EOT", 56},<br>
-- {"Xmodem sectors/kbytes sent: %3d/%2dk", 57},<br>
-- {"Ymodem sectors/kbytes sent: %3d/%2dk", 58},<br>
-- {"Cancelled", 59},<br>
-- {"Timeout on sector ACK", 60},<br>
-- {"NAK on sector", 61},<br>
-- {"Got burst for sector ACK", 62},<br>
-- {"Got %02x for sector ACK", 63},<br>
-- {"Retry Count Exceeded", 64},<br>
-- {"Try `%s --help' for more information.\n", 65},<br>
-- {"%s version %s\n", 66},<br>
-- {"Usage: %s [options] file ...\n", 67},<br>
-- {" or: %s [options] -{c|i} COMMAND\n", 68},<br>
-- {"Send file(s) with ZMODEM/YMODEM/XMODEM protocol\n", 69},<br>
-- {"\<br>
-- (X) = option applies to XMODEM only\n\<br>
-- (Y) = option applies to YMODEM only\n\<br>
-- (Z) = option applies to ZMODEM only\n", 70},<br>
-- {"\<br>
-- -+, --append append to existing destination file (Z)\n\<br>
-- -2, --twostop use 2 stop bits\n\<br>
-- -4, --try-4k go up to 4K blocksize\n\<br>
-- --start-4k start with 4K blocksize (doesn't try 8)\n\<br>
-- -8, --try-8k go up to 8K blocksize\n\<br>
-- --start-8k start with 8K blocksize\n\<br>
-- -a, --ascii ASCII transfer (change CR/LF to LF)\n\<br>
-- -b, --binary binary transfer\n\<br>
-- -B, --bufsize N buffer N bytes (N==auto: buffer whole file)\n\<br>
-- -c, --command COMMAND execute remote command COMMAND (Z)\n\<br>
-- -C, --command-tries N try N times to execute a command (Z)\n\<br>
-- -d, --dot-to-slash change '.' to '/' in pathnames (Y/Z)\n\<br>
-- --delay-startup N sleep N seconds before doing anything\n\<br>
-- -e, --escape escape all control characters (Z)\n\<br>
-- -E, --rename force receiver to rename files it already has\n\<br>
-- -f, --full-path send full pathname (Y/Z)\n\<br>
-- -i, --immediate-command CMD send remote CMD, return immediately (Z)\n\<br>
-- -h, --help print this usage message\n\<br>
-- -k, --1k send 1024 byte packets (X)\n\<br>
-- -L, --packetlen N limit subpacket length to N bytes (Z)\n\<br>
-- -l, --framelen N limit frame length to N bytes (l>=L) (Z)\n\<br>
-- -m, --min-bps N stop transmission if BPS below N\n\<br>
-- -M, --min-bps-time N for at least N seconds (default: 120)\n", 71},<br>
-- {"\<br>
-- -n, --newer send file if source newer (Z)\n\<br>
-- -N, --newer-or-longer send file if source newer or longer (Z)\n\<br>
-- -o, --16-bit-crc use 16 bit CRC instead of 32 bit CRC (Z)\n\<br>
-- -O, --disable-timeouts disable timeout code, wait forever\n\<br>
-- -p, --protect protect existing destination file (Z)\n\<br>
-- -r, --resume resume interrupted file transfer (Z)\n\<br>
-- -R, --restricted restricted, more secure mode\n\<br>
-- -q, --quiet quiet (no progress reports)\n\<br>
-- -s, --stop-at {HH:MM|+N} stop transmission at HH:MM or in N seconds\n\<br>
-- --tcp build a TCP connection to transmit files\n\<br>
-- --tcp-server open socket, wait for connection\n\<br>
-- -u, --unlink unlink file after transmission\n\<br>
-- -U, --unrestrict turn off restricted mode (if allowed to)\n\<br>
-- -v, --verbose be verbose, provide debugging information\n\<br>
-- -w, --windowsize N Window is N bytes (Z)\n\<br>
-- -X, --xmodem use XMODEM protocol\n\<br>
-- -y, --overwrite overwrite existing files\n\<br>
-- -Y, --overwrite-or-skip overwrite existing files, else skip\n\<br>
-- --ymodem use YMODEM protocol\n\<br>
-- -Z, --zmodem use ZMODEM protocol\n\<br>
--\n\<br>
--short options use the same arguments as the long ones\n", 72},<br>
-- {"got ZRQINIT", 73},<br>
-- {"got ZCAN", 74},<br>
-- {"blklen now %d\n", 75},<br>
-- {"zsendfdata: bps rate %ld below min %ld", 76},<br>
-- {"zsendfdata: reached stop time", 77},<br>
-- {"Bytes Sent:%7ld/%7ld BPS:%-8ld ETA %02d:%02d ", 78},<br>
-- {"calc_blklen: reduced to %d due to error\n", 79},<br>
-- {"calc_blklen: returned old value %d due to low bpe diff\n", 80},<br>
-- {"calc_blklen: old %ld, new %ld, d %ld\n", 81},<br>
-- {"calc_blklen: calc total_bytes=%ld, bpe=%ld, ec=%ld\n", 82},<br>
-- {"calc_blklen: blklen %d, ok %ld, failed %ld -> %lu\n", 83},<br>
-- {"calc_blklen: returned %d as best\n", 84},<br>
-- {"\<br>
--\n\<br>
--countem: Total %d %ld\n", 85},<br>
-- {"Bad escape sequence %x", 86},<br>
-- {"Sender Canceled", 87},<br>
-- {"TIMEOUT", 88},<br>
-- {"Bad data subpacket", 89},<br>
-- {"Data subpacket too long", 90},<br>
-- {"Garbage count exceeded", 91},<br>
-- {"Got %s", 92},<br>
-- {"Retry %d: ", 93},<br>
-- {"don't have settimeofday, will not set time\n", 94},<br>
-- {"not running as root (this is good!), can not set time\n", 95},<br>
-- {"bytes_per_error", 96},<br>
-- {"bytes-per-error should be >100", 97},<br>
-- {"O_SYNC not supported by the kernel", 98},<br>
-- {"garbage on commandline", 99},<br>
-- {"Usage: %s [options] [filename.if.xmodem]\n", 100},<br>
-- {"Receive files with ZMODEM/YMODEM/XMODEM protocol\n", 101},<br>
-- {"\<br>
-- -+, --append append to existing files\n\<br>
-- -a, --ascii ASCII transfer (change CR/LF to LF)\n\<br>
-- -b, --binary binary transfer\n\<br>
-- -B, --bufsize N buffer N bytes (N==auto: buffer whole file)\n\<br>
-- -c, --with-crc Use 16 bit CRC (X)\n\<br>
-- -C, --allow-remote-commands allow execution of remote commands (Z)\n\<br>
-- -D, --null write all received data to /dev/null\n\<br>
-- --delay-startup N sleep N seconds before doing anything\n\<br>
-- -e, --escape Escape control characters (Z)\n\<br>
-- -E, --rename rename any files already existing\n\<br>
-- --errors N generate CRC error every N bytes (debugging)\n\<br>
-- -h, --help Help, print this usage message\n\<br>
-- -m, --min-bps N stop transmission if BPS below N\n\<br>
-- -M, --min-bps-time N for at least N seconds (default: 120)\n\<br>
-- -O, --disable-timeouts disable timeout code, wait forever for data\n\<br>
-- --o-sync open output file(s) in synchronous write mode\n\<br>
-- -p, --protect protect existing files\n\<br>
-- -q, --quiet quiet, no progress reports\n\<br>
-- -r, --resume try to resume interrupted file transfer (Z)\n\<br>
-- -R, --restricted restricted, more secure mode\n\<br>
-- -s, --stop-at {HH:MM|+N} stop transmission at HH:MM or in N seconds\n\<br>
-- -S, --timesync request remote time (twice: set local time)\n\<br>
-- --syslog[=off] turn syslog on or off, if possible\n\<br>
-- -t, --timeout N set timeout to N tenths of a second\n\<br>
-- -u, --keep-uppercase keep upper case filenames\n\<br>
-- -U, --unrestrict disable restricted mode (if allowed to)\n\<br>
-- -v, --verbose be verbose, provide debugging information\n\<br>
-- -w, --windowsize N Window is N bytes (Z)\n\<br>
-- -X --xmodem use XMODEM protocol\n\<br>
-- -y, --overwrite Yes, clobber existing file if any\n\<br>
-- --ymodem use YMODEM protocol\n\<br>
-- -Z, --zmodem use ZMODEM protocol\n\<br>
--\n\<br>
--short options use the same arguments as the long ones\n", 102},<br>
-- {"%s waiting to receive.", 103},<br>
-- {"\rBytes received: %7ld/%7ld BPS:%-6ld \r\n", 104},<br>
-- {"%s: ready to receive %s", 105},<br>
-- {"\rBytes received: %7ld BPS:%-6ld \r\n", 106},<br>
-- {"\<br>
--\r\n\<br>
--%s: %s removed.\r\n", 107},<br>
-- {"Pathname fetch returned EOT", 108},<br>
-- {"Received dup Sector", 109},<br>
-- {"Sync Error", 110},<br>
-- {"CRC", 111},<br>
-- {"Checksum", 112},<br>
-- {"Sector number garbled", 113},<br>
-- {"Sender Cancelled", 114},<br>
-- {"Got 0%o sector header", 115},<br>
-- {"file name ends with a /, skipped: %s\n", 116},<br>
-- {"zmanag=%d, Lzmanag=%d\n", 117},<br>
-- {"zconv=%d\n", 118},<br>
-- {"file exists, skipped: %s\n", 119},<br>
-- {"TIMESYNC: here %ld, remote %ld, diff %ld seconds\n", 120},<br>
-- {"TIMESYNC: cannot set time: %s\n", 121},<br>
-- {"cannot tmpfile() for tcp protocol synchronization", 122},<br>
-- {"Topipe", 123},<br>
-- {"Receiving: %s\n", 124},<br>
-- {"Blocks received: %d", 125},<br>
-- {"%s: %s exists\n", 126},<br>
-- {"%s:\tSecurity Violation", 127},<br>
-- {"remote command execution requested", 128},<br>
-- {"not executed", 129},<br>
-- {"got ZRINIT", 130},<br>
-- {"Skipped", 131},<br>
-- {"rzfile: bps rate %ld below min %ld", 132},<br>
-- {"rzfile: reached stop time", 133},<br>
-- {"\rBytes received: %7ld/%7ld BPS:%-6ld ETA %02d:%02d ", 134},<br>
-- {"fgets for tcp protocol synchronization failed: ", 135},<br>
-- {"file close error", 136},<br>
--};<br>
--<br>
--int _msg_tbl_length = 136;<br>
---- lrzsz-0.12.20.safe/po/ChangeLog 1998-04-26 09:20:52.000000000 -0400<br>
-+++ lrzsz-0.12.20/po/ChangeLog 2004-09-12 14:40:34.793681512 -0400<br>
-@@ -1,3 +1,15 @@<br>
-+2004-09-12 gettextize <<a href="mailto:bug-gnu-gettext@gnu.org" target="_blank">bug-gnu-gettext@gnu.org</a>><br>
-+<br>
-+ * boldquot.sed: New file, from gettext-0.14.1.<br>
-+ * en@boldquot.header: New file, from gettext-0.14.1.<br>
-+ * en@quot.header: New file, from gettext-0.14.1.<br>
-+ * insert-header.sin: New file, from gettext-0.14.1.<br>
-+ * quot.sed: New file, from gettext-0.14.1.<br>
-+ * remove-potcdate.sin: New file, from gettext-0.14.1.<br>
-+ * Rules-quot: New file, from gettext-0.14.1.<br>
-+ * cat-id-tbl.c: Remove file.<br>
-+ * stamp-cat-id: Remove file.<br>
-+<br>
- /* Automatically generated by po2tbl.sed from lrzsz.pot. */<br>
- <br>
- #if HAVE_CONFIG_H<br>
---- lrzsz-0.12.20.safe/po/en@boldquot.header 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/po/en@boldquot.header 2004-09-12 14:40:34.731690936 -0400<br>
-@@ -0,0 +1,25 @@<br>
-+# All this catalog "translates" are quotation characters.<br>
-+# The msgids must be ASCII and therefore cannot contain real quotation<br>
-+# characters, only substitutes like grave accent (0x60), apostrophe (0x27)<br>
-+# and double quote (0x22). These substitutes look strange; see<br>
-+# <a href="http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html" rel="noreferrer" target="_blank">http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html</a><br>
-+#<br>
-+# This catalog translates grave accent (0x60) and apostrophe (0x27) to<br>
-+# left single quotation mark (U+2018) and right single quotation mark (U+2019).<br>
-+# It also translates pairs of apostrophe (0x27) to<br>
-+# left single quotation mark (U+2018) and right single quotation mark (U+2019)<br>
-+# and pairs of quotation mark (0x22) to<br>
-+# left double quotation mark (U+201C) and right double quotation mark (U+201D).<br>
-+#<br>
-+# When output to an UTF-8 terminal, the quotation characters appear perfectly.<br>
-+# When output to an ISO-8859-1 terminal, the single quotation marks are<br>
-+# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to<br>
-+# grave/acute accent (by libiconv), and the double quotation marks are<br>
-+# transliterated to 0x22.<br>
-+# When output to an ASCII terminal, the single quotation marks are<br>
-+# transliterated to apostrophes, and the double quotation marks are<br>
-+# transliterated to 0x22.<br>
-+#<br>
-+# This catalog furthermore displays the text between the quotation marks in<br>
-+# bold face, assuming the VT100/XTerm escape sequences.<br>
-+#<br>
---- lrzsz-0.12.20.safe/po/en@quot.header 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/po/en@quot.header 2004-09-12 14:40:34.737690024 -0400<br>
-@@ -0,0 +1,22 @@<br>
-+# All this catalog "translates" are quotation characters.<br>
-+# The msgids must be ASCII and therefore cannot contain real quotation<br>
-+# characters, only substitutes like grave accent (0x60), apostrophe (0x27)<br>
-+# and double quote (0x22). These substitutes look strange; see<br>
-+# <a href="http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html" rel="noreferrer" target="_blank">http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html</a><br>
-+#<br>
-+# This catalog translates grave accent (0x60) and apostrophe (0x27) to<br>
-+# left single quotation mark (U+2018) and right single quotation mark (U+2019).<br>
-+# It also translates pairs of apostrophe (0x27) to<br>
-+# left single quotation mark (U+2018) and right single quotation mark (U+2019)<br>
-+# and pairs of quotation mark (0x22) to<br>
-+# left double quotation mark (U+201C) and right double quotation mark (U+201D).<br>
-+#<br>
-+# When output to an UTF-8 terminal, the quotation characters appear perfectly.<br>
-+# When output to an ISO-8859-1 terminal, the single quotation marks are<br>
-+# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to<br>
-+# grave/acute accent (by libiconv), and the double quotation marks are<br>
-+# transliterated to 0x22.<br>
-+# When output to an ASCII terminal, the single quotation marks are<br>
-+# transliterated to apostrophes, and the double quotation marks are<br>
-+# transliterated to 0x22.<br>
-+#<br>
---- lrzsz-0.12.20.safe/po/insert-header.sin 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/po/insert-header.sin 2004-09-12 14:40:34.743689112 -0400<br>
-@@ -0,0 +1,23 @@<br>
-+# Sed script that inserts the file called HEADER before the header entry.<br>
-+#<br>
-+# At each occurrence of a line starting with "msgid ", we execute the following<br>
-+# commands. At the first occurrence, insert the file. At the following<br>
-+# occurrences, do nothing. The distinction between the first and the following<br>
-+# occurrences is achieved by looking at the hold space.<br>
-+/^msgid /{<br>
-+x<br>
-+# Test if the hold space is empty.<br>
-+s/m/m/<br>
-+ta<br>
-+# Yes it was empty. First occurrence. Read the file.<br>
-+r HEADER<br>
-+# Output the file's contents by reading the next line. But don't lose the<br>
-+# current line while doing this.<br>
-+g<br>
-+N<br>
-+bb<br>
-+:a<br>
-+# The hold space was nonempty. Following occurrences. Do nothing.<br>
-+x<br>
-+:b<br>
-+}<br>
---- lrzsz-0.12.20.safe/po/Makevars 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/po/Makevars 2004-09-12 14:40:34.748688352 -0400<br>
-@@ -0,0 +1,41 @@<br>
-+# Makefile variables for PO directory in any package using GNU gettext.<br>
-+<br>
-+# Usually the message domain is the same as the package name.<br>
-+DOMAIN = $(PACKAGE)<br>
-+<br>
-+# These two variables depend on the location of this directory.<br>
-+subdir = po<br>
-+top_builddir = ..<br>
-+<br>
-+# These options get passed to xgettext.<br>
-+XGETTEXT_OPTIONS = --keyword=_ --keyword=N_<br>
-+<br>
-+# This is the copyright holder that gets inserted into the header of the<br>
-+# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding<br>
-+# package. (Note that the msgstr strings, extracted from the package's<br>
-+# sources, belong to the copyright holder of the package.) Translators are<br>
-+# expected to transfer the copyright for their translations to this person<br>
-+# or entity, or to disclaim their copyright. The empty string stands for<br>
-+# the public domain; in this case the translators are expected to disclaim<br>
-+# their copyright.<br>
-+COPYRIGHT_HOLDER = Free Software Foundation, Inc.<br>
-+<br>
-+# This is the email address or URL to which the translators shall report<br>
-+# bugs in the untranslated strings:<br>
-+# - Strings which are not entire sentences, see the maintainer guidelines<br>
-+# in the GNU gettext documentation, section 'Preparing Strings'.<br>
-+# - Strings which use unclear terms or require additional context to be<br>
-+# understood.<br>
-+# - Strings which make invalid assumptions about notation of date, time or<br>
-+# money.<br>
-+# - Pluralisation problems.<br>
-+# - Incorrect English spelling.<br>
-+# - Incorrect formatting.<br>
-+# It can be your email address, or a mailing list address where translators<br>
-+# can write to without being subscribed, or the URL of a web page through<br>
-+# which the translators can contact you.<br>
-+MSGID_BUGS_ADDRESS =<br>
-+<br>
-+# This is the list of locale categories, beyond LC_MESSAGES, for which the<br>
-+# message catalogs shall be used. It is usually empty.<br>
-+EXTRA_LOCALE_CATEGORIES =<br>
---- lrzsz-0.12.20.safe/po/quot.sed 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/po/quot.sed 2004-09-12 14:40:34.754687440 -0400<br>
-@@ -0,0 +1,6 @@<br>
-+s/"\([^"]*\)"/“\1”/g<br>
-+s/`\([^`']*\)'/‘\1’/g<br>
-+s/ '\([^`']*\)' / ‘\1’ /g<br>
-+s/ '\([^`']*\)'$/ ‘\1’/g<br>
-+s/^'\([^`']*\)' /‘\1’ /g<br>
-+s/“”/""/g<br>
---- lrzsz-0.12.20.safe/po/remove-potcdate.sin 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/po/remove-potcdate.sin 2004-09-12 14:40:34.762686224 -0400<br>
-@@ -0,0 +1,19 @@<br>
-+# Sed script that remove the POT-Creation-Date line in the header entry<br>
-+# from a POT file.<br>
-+#<br>
-+# The distinction between the first and the following occurrences of the<br>
-+# pattern is achieved by looking at the hold space.<br>
-+/^"POT-Creation-Date: .*"$/{<br>
-+x<br>
-+# Test if the hold space is empty.<br>
-+s/P/P/<br>
-+ta<br>
-+# Yes it was empty. First occurrence. Remove the line.<br>
-+g<br>
-+d<br>
-+bb<br>
-+:a<br>
-+# The hold space was nonempty. Following occurrences. Do nothing.<br>
-+x<br>
-+:b<br>
-+}<br>
---- lrzsz-0.12.20.safe/po/Rules-quot 1969-12-31 19:00:00.000000000 -0500<br>
-+++ lrzsz-0.12.20/po/Rules-quot 2004-09-12 14:40:34.778683792 -0400<br>
-@@ -0,0 +1,47 @@<br>
-+# Special Makefile rules for English message catalogs with quotation marks.<br>
-+<br>
-+DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot<br>
-+<br>
-+.SUFFIXES: .insert-header .po-update-en<br>
-+<br>
-+en@quot.po-create:<br>
-+ $(MAKE) en@quot.po-update<br>
-+en@boldquot.po-create:<br>
-+ $(MAKE) en@boldquot.po-update<br>
-+<br>
-+en@quot.po-update: en@quot.po-update-en<br>
-+en@boldquot.po-update: en@boldquot.po-update-en<br>
-+<br>
-+.insert-header.po-update-en:<br>
-+ @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \<br>
-+ if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \<br>
-+ tmpdir=`pwd`; \<br>
-+ echo "$$lang:"; \<br>
-+ ll=`echo $$lang | sed -e 's/@.*//'`; \<br>
-+ LC_ALL=C; export LC_ALL; \<br>
-+ cd $(srcdir); \<br>
-+ 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 \<br>
-+ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \<br>
-+ rm -f $$tmpdir/$$lang.new.po; \<br>
-+ else \<br>
-+ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \<br>
-+ :; \<br>
-+ else \<br>
-+ echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \<br>
-+ exit 1; \<br>
-+ fi; \<br>
-+ fi; \<br>
-+ else \<br>
-+ echo "creation of $$lang.po failed!" 1>&2; \<br>
-+ rm -f $$tmpdir/$$lang.new.po; \<br>
-+ fi<br>
-+<br>
-+en@quot.insert-header: insert-header.sin<br>
-+ sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header<br>
-+<br>
-+en@boldquot.insert-header: insert-header.sin<br>
-+ sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header<br>
-+<br>
-+mostlyclean: mostlyclean-quot<br>
-+mostlyclean-quot:<br>
-+ rm -f *.insert-header<br>
---- lrzsz-0.12.20.safe/po/stamp-cat-id 1998-12-30 02:50:01.000000000 -0500<br>
-+++ lrzsz-0.12.20/po/stamp-cat-id 1969-12-31 19:00:00.000000000 -0500<br>
-@@ -1 +0,0 @@<br>
--timestamp<br>
---- lrzsz-0.12.20.safe/src/Makefile.am 1998-12-28 03:38:47.000000000 -0500<br>
-+++ lrzsz-0.12.20/src/Makefile.am 2004-09-12 14:40:53.665812512 -0400<br>
-@@ -2,12 +2,12 @@<br>
- lrz_SOURCES=lrz.c timing.c zperr.c zreadline.c crctab.c rbsb.c zm.c protname.c tcp.c lsyslog.c canit.c<br>
- lsz_SOURCES=lsz.c timing.c zperr.c zreadline.c crctab.c rbsb.c zm.c protname.c tcp.c lsyslog.c canit.c<br>
- noinst_HEADERS = timing.h zglobal.h zmodem.h<br>
--datadir = $(prefix)/@DATADIRNAME@<br>
-+datadir = $(prefix)/share<br>
- localedir = $(datadir)/locale<br>
- CFLAGS=@CFLAGS@<br>
- DISTCLEAN_FILES=lrzszbug<br>
- <br>
--LDADD = ../lib/libzmodem.a @INTLLIBS@<br>
-+LDADD = ../lib/libzmodem.a @LIBINTL@<br>
- AUTOMAKE_OPTIONS=ansi2knr<br>
- EXTRA_DIST = ansi2knr.1 ansi2knr.c <a href="http://lrzszbug.in" rel="noreferrer" target="_blank">lrzszbug.in</a><br>
- INCLUDES = -I.. -I$(srcdir) -I$(top_srcdir)/src -I../intl -I$(top_srcdir)/lib<br>
diff --git a/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/include.patch b/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/include.patch<br>
deleted file mode 100644<br>
index 5fcb3aa92b5..00000000000<br>
--- a/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/include.patch<br>
+++ /dev/null<br>
@@ -1,25 +0,0 @@<br>
-Implicit declaration compile warning fixes from Debian<br>
-<br>
-Signed-off-by: Adrian Bunk <<a href="mailto:bunk@stusta.de" target="_blank">bunk@stusta.de</a>><br>
-Upstream-Status: Inappropriate [upstream is dead]<br>
-<br>
---- lrzsz-0.12.21.orig/lib/long-options.c<br>
-+++ lrzsz-0.12.21/lib/long-options.c<br>
-@@ -22,6 +22,7 @@<br>
- #endif<br>
- <br>
- #include <stdio.h><br>
-+#include <stdlib.h><br>
- #include <getopt.h><br>
- #include "long-options.h"<br>
- <br>
---- lrzsz-0.12.21.orig/src/lsyslog.c<br>
-+++ lrzsz-0.12.21/src/lsyslog.c<br>
-@@ -22,6 +22,7 @@<br>
- #ifdef ENABLE_SYSLOG<br>
- #include "zglobal.h"<br>
- #include <pwd.h><br>
-+#include <stdio.h><br>
- #include <stdlib.h><br>
- #include <string.h><br>
- #endif<br>
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<br>
deleted file mode 100644<br>
index 9e46dfa070f..00000000000<br>
--- a/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/lrzsz-check-locale.h.patch<br>
+++ /dev/null<br>
@@ -1,32 +0,0 @@<br>
-From 28b473c3c96682a820e292cc1be006e19aee11bc Mon Sep 17 00:00:00 2001<br>
-From: Jackie Huang <<a href="mailto:jackie.huang@windriver.com" target="_blank">jackie.huang@windriver.com</a>><br>
-Date: Fri, 24 May 2013 01:07:24 -0400<br>
-Subject: [PATCH] lrzsz check locale.h<br>
-<br>
-fix the build failure when using -O0 in a debug build:<br>
-lrz.c:284:13: error: 'LC_ALL' undeclared (first use in this function)<br>
-<br>
-Upstream-Status: Submitted [<a href="mailto:uwe@ohse.de" target="_blank">uwe@ohse.de</a>]<br>
-<br>
-Signed-off-by: Jackie Huang <<a href="mailto:jackie.huang@windriver.com" target="_blank">jackie.huang@windriver.com</a>><br>
-Signed-off-by: Mark Hatle <<a href="mailto:mark.hatle@windriver.com" target="_blank">mark.hatle@windriver.com</a>><br>
----<br>
- <a href="http://configure.in" rel="noreferrer" target="_blank">configure.in</a> | 2 +-<br>
- 1 file changed, 1 insertion(+), 1 deletion(-)<br>
-<br>
-diff --git a/<a href="http://configure.in" rel="noreferrer" target="_blank">configure.in</a> b/<a href="http://configure.in" rel="noreferrer" target="_blank">configure.in</a><br>
-index 6e2064c..c10460c 100644<br>
---- a/<a href="http://configure.in" rel="noreferrer" target="_blank">configure.in</a><br>
-+++ b/<a href="http://configure.in" rel="noreferrer" target="_blank">configure.in</a><br>
-@@ -130,7 +130,7 @@ AC_CHECK_HEADERS(fcntl.h limits.h sys/ioctl.h sys/time.h unistd.h sys/times.h)<br>
- LRZSZ_HEADERS_TERM_IO<br>
- AC_CHECK_HEADERS(termios.h sys/termios.h termio.h sys/termio.h sgtty.h)<br>
- AC_CHECK_HEADERS(sys/mman.h utime.h syslog.h sys/syslog.h sys/param.h)<br>
--AC_CHECK_HEADERS(sys/select.h strings.h arpa/inet.h)<br>
-+AC_CHECK_HEADERS(sys/select.h strings.h locale.h arpa/inet.h)<br>
- <br>
- dnl Checks for typedefs, structures, and compiler characteristics.<br>
- AC_TYPE_SIZE_T<br>
--- <br>
-1.7.9.5<br>
-<br>
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<br>
deleted file mode 100644<br>
index 682f1c9c8de..00000000000<br>
--- a/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/lrzsz_fix_for_automake-1.12.patch<br>
+++ /dev/null<br>
@@ -1,49 +0,0 @@<br>
-Upstream-Status: Pending<br>
-<br>
-This patch fixes following issue with automake 1.12<br>
-<br>
-| <a href="http://configure.in:95" rel="noreferrer" target="_blank">configure.in:95</a>: error: automatic de-ANSI-fication support has been removed<br>
-...<br>
-| lib/Makefile.am:3: error: automatic de-ANSI-fication support has been removed<br>
-| lib/Makefile.am: installing './depcomp'<br>
-| src/Makefile.am:11: error: automatic de-ANSI-fication support has been removed<br>
-<br>
-<br>
-Signed-off-by: Nitin A Kamble <<a href="mailto:nitin.a.kamble@intel.com" target="_blank">nitin.a.kamble@intel.com</a>><br>
-2012/05/03<br>
-<br>
-Index: lrzsz-0.12.20/<a href="http://configure.in" rel="noreferrer" target="_blank">configure.in</a><br>
-===================================================================<br>
---- lrzsz-0.12.20.orig/<a href="http://configure.in" rel="noreferrer" target="_blank">configure.in</a><br>
-+++ lrzsz-0.12.20/<a href="http://configure.in" rel="noreferrer" target="_blank">configure.in</a><br>
-@@ -92,7 +92,6 @@ AC_PROG_RANLIB<br>
- AC_ISC_POSIX<br>
- AC_AIX<br>
- AC_MINIX<br>
--AM_C_PROTOTYPES<br>
- AC_C_CONST<br>
- AC_C_INLINE<br>
- <br>
-Index: lrzsz-0.12.20/lib/Makefile.am<br>
-===================================================================<br>
---- lrzsz-0.12.20.orig/lib/Makefile.am<br>
-+++ lrzsz-0.12.20/lib/Makefile.am<br>
-@@ -1,6 +1,5 @@<br>
- noinst_LIBRARIES=libzmodem.a<br>
- CFLAGS=@CFLAGS@<br>
--AUTOMAKE_OPTIONS=ansi2knr<br>
- <br>
- EXTRA_DIST = alloca.c ansi2knr.1 ansi2knr.c \<br>
- getopt.c getopt1.c mkdir.c mktime.c \<br>
-Index: lrzsz-0.12.20/src/Makefile.am<br>
-===================================================================<br>
---- lrzsz-0.12.20.orig/src/Makefile.am<br>
-+++ lrzsz-0.12.20/src/Makefile.am<br>
-@@ -8,7 +8,6 @@ CFLAGS=@CFLAGS@<br>
- DISTCLEAN_FILES=lrzszbug<br>
- <br>
- LDADD = ../lib/libzmodem.a @LIBINTL@<br>
--AUTOMAKE_OPTIONS=ansi2knr<br>
- EXTRA_DIST = ansi2knr.1 ansi2knr.c <a href="http://lrzszbug.in" rel="noreferrer" target="_blank">lrzszbug.in</a><br>
- INCLUDES = -I.. -I$(srcdir) -I$(top_srcdir)/src -I../intl -I$(top_srcdir)/lib<br>
- #DEFS = -DLOCALEDIR=\"$(localedir)\" -DOS=\"@host_os@\" -DCPU=\"@host_cpu@\"<br>
diff --git a/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/makefile.patch b/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/makefile.patch<br>
deleted file mode 100644<br>
index ace592c8f26..00000000000<br>
--- a/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/makefile.patch<br>
+++ /dev/null<br>
@@ -1,22 +0,0 @@<br>
-Upstream-Status: Inappropriate [configuration]<br>
-<br>
-diff -ruN lrzsz-0.12.20_org/src/Makefile.in lrzsz-0.12.20_patch/src/Makefile.in<br>
---- lrzsz-0.12.20_org/src/Makefile.in 1998-12-30 17:31:46.000000000 +0100<br>
-+++ lrzsz-0.12.20_patch/src/Makefile.in 2004-04-29 13:57:33.434909656 +0200<br>
-@@ -372,13 +372,13 @@<br>
- rm -f $(DESTDIR)/$(bindir)/`echo lsb | sed -e '$(transform)'`<br>
- ln $(DESTDIR)/$(bindir)/`echo lsz |sed -e '$(transform)'` \<br>
- $(DESTDIR)/$(bindir)/`echo lsb |sed -e '$(transform)'` <br>
-- rm -f $(bindir)/`echo lsx | sed -e '$(transform)'`<br>
-+ rm -f $(DESTDIR)/$(bindir)/`echo lsx | sed -e '$(transform)'`<br>
- ln $(DESTDIR)/$(bindir)/`echo lsz |sed -e '$(transform)'` \<br>
- $(DESTDIR)/$(bindir)/`echo lsx |sed -e '$(transform)'` <br>
-- rm -f $(bindir)/`echo lrb | sed -e '$(transform)'`<br>
-+ rm -f $(DESTDIR)/$(bindir)/`echo lrb | sed -e '$(transform)'`<br>
- ln $(DESTDIR)/$(bindir)/`echo lrz |sed -e '$(transform)'` \<br>
- $(DESTDIR)/$(bindir)/`echo lrb |sed -e '$(transform)'` <br>
-- rm -f $(bindir)/`echo lrx | sed -e '$(transform)'`<br>
-+ rm -f $(DESTDIR)/$(bindir)/`echo lrx | sed -e '$(transform)'`<br>
- ln $(DESTDIR)/$(bindir)/`echo lrz |sed -e '$(transform)'` \<br>
- $(DESTDIR)/$(bindir)/`echo lrx |sed -e '$(transform)'` <br>
- # rm -f $(bindir)/`echo lrzszbug | sed -e '$(transform)'`<br>
diff --git a/meta/recipes-bsp/lrzsz/<a href="http://lrzsz_0.12.20.bb" rel="noreferrer" target="_blank">lrzsz_0.12.20.bb</a> b/meta/recipes-bsp/lrzsz/<a href="http://lrzsz_0.12.20.bb" rel="noreferrer" target="_blank">lrzsz_0.12.20.bb</a><br>
deleted file mode 100644<br>
index 34556b2c294..00000000000<br>
--- a/meta/recipes-bsp/lrzsz/<a href="http://lrzsz_0.12.20.bb" rel="noreferrer" target="_blank">lrzsz_0.12.20.bb</a><br>
+++ /dev/null<br>
@@ -1,50 +0,0 @@<br>
-SUMMARY = "Tools for zmodem/xmodem/ymodem file transfer"<br>
-DESCRIPTION = "Lrzsz is a cosmetically modified zmodem/ymodem/xmodem package built from \<br>
-the public-domain version of Chuck Forsberg's rzsz package. \<br>
-These programs use error correcting protocols ({z,x,y}modem) to send (sz, sx, sb) and \<br>
-receive (rz, rx, rb) files over a dial-in serial port from a variety of programs \<br>
-running under various operating systems. "<br>
-HOMEPAGE = "<a href="http://www.ohse.de/uwe/software/lrzsz.html" rel="noreferrer" target="_blank">http://www.ohse.de/uwe/software/lrzsz.html</a>"<br>
-LICENSE = "GPLv2+"<br>
-LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \<br>
- file://src/lrz.c;beginline=1;endline=10;md5=5276956373ff7d8758837f6399a1045f"<br>
-SECTION = "console/network"<br>
-DEPENDS = ""<br>
-PR = "r6"<br>
-<br>
-SRC_URI = "<a href="http://www.ohse.de/uwe/releases/lrzsz-$%7BPV%7D.tar.gz" rel="noreferrer" target="_blank">http://www.ohse.de/uwe/releases/lrzsz-${PV}.tar.gz</a> \<br>
- file://autotools.patch \<br>
- file://makefile.patch \<br>
- file://gettext.patch \<br>
- file://acdefine.patch \<br>
- file://lrzsz_fix_for_automake-1.12.patch \<br>
- file://lrzsz-check-locale.h.patch \<br>
- file://cve-2018-10195.patch \<br>
- file://include.patch \<br>
- "<br>
-<br>
-SRC_URI[md5sum] = "b5ce6a74abc9b9eb2af94dffdfd372a4"<br>
-SRC_URI[sha256sum] = "c28b36b14bddb014d9e9c97c52459852f97bd405f89113f30bee45ed92728ff1"<br>
-<br>
-UPSTREAM_CHECK_URI = "<a href="http://ohse.de/uwe/software/lrzsz.html" rel="noreferrer" target="_blank">http://ohse.de/uwe/software/lrzsz.html</a>"<br>
-<br>
-inherit autotools gettext<br>
-<br>
-do_install() {<br>
- install -d ${D}${bindir}/<br>
- install -m 0755 src/lrz src/lsz ${D}${bindir}/<br>
-}<br>
-<br>
-inherit update-alternatives<br>
-<br>
-ALTERNATIVE_PRIORITY = "100"<br>
-<br>
-ALTERNATIVE_${PN} = "rz rx rb sz sx sb"<br>
-<br>
-ALTERNATIVE_TARGET[rz] = "${bindir}/lrz"<br>
-ALTERNATIVE_TARGET[rx] = "${bindir}/lrz"<br>
-ALTERNATIVE_TARGET[rb] = "${bindir}/lrz"<br>
-<br>
-ALTERNATIVE_TARGET[sz] = "${bindir}/lsz"<br>
-ALTERNATIVE_TARGET[sx] = "${bindir}/lsz"<br>
-ALTERNATIVE_TARGET[sb] = "${bindir}/lsz"<br>
diff --git a/meta/recipes-core/packagegroups/<a href="http://packagegroup-base.bb" rel="noreferrer" target="_blank">packagegroup-base.bb</a> b/meta/recipes-core/packagegroups/<a href="http://packagegroup-base.bb" rel="noreferrer" target="_blank">packagegroup-base.bb</a><br>
index 1f802da09b7..610b1e0216e 100644<br>
--- a/meta/recipes-core/packagegroups/<a href="http://packagegroup-base.bb" rel="noreferrer" target="_blank">packagegroup-base.bb</a><br>
+++ b/meta/recipes-core/packagegroups/<a href="http://packagegroup-base.bb" rel="noreferrer" target="_blank">packagegroup-base.bb</a><br>
@@ -337,7 +337,7 @@ RRECOMMENDS_packagegroup-base-ipv6 = "\<br>
SUMMARY_packagegroup-base-serial = "Serial port support"<br>
RDEPENDS_packagegroup-base-serial = "\<br>
setserial \<br>
- lrzsz "<br>
+ "<br>
<br>
SUMMARY_packagegroup-base-phone = "Cellular telephony (voice) support"<br>
RDEPENDS_packagegroup-base-phone = "\<br>
diff --git a/meta/recipes-extended/minicom/<a href="http://minicom_2.7.1.bb" rel="noreferrer" target="_blank">minicom_2.7.1.bb</a> b/meta/recipes-extended/minicom/<a href="http://minicom_2.7.1.bb" rel="noreferrer" target="_blank">minicom_2.7.1.bb</a><br>
index 1e6f1317ebe..1dbb8c0316b 100644<br>
--- a/meta/recipes-extended/minicom/<a href="http://minicom_2.7.1.bb" rel="noreferrer" target="_blank">minicom_2.7.1.bb</a><br>
+++ b/meta/recipes-extended/minicom/<a href="http://minicom_2.7.1.bb" rel="noreferrer" target="_blank">minicom_2.7.1.bb</a><br>
@@ -24,5 +24,3 @@ inherit autotools gettext pkgconfig<br>
do_install() {<br>
for d in doc extras man lib src; do make -C $d DESTDIR=${D} install; done<br>
}<br>
-<br>
-RRECOMMENDS_${PN} += "lrzsz"<br>
-- <br>
2.17.1<br>
<br>
</blockquote></div>