blob: 33af38b4a8d094e2707b19cb6c291ebdc5118cfa [file] [log] [blame]
Andrew Geissler82c905d2020-04-13 13:39:40 -05001Update autotools infrastructure (including gettext) to modern versions.
2
3Upstream-Status: Pending
4Signed-off-by: Phil Blundell <pb@pbcl.net>
5
6diff -uprN clean/lrzsz-0.12.20/configure.in lrzsz-0.12.20/configure.in
7--- clean/lrzsz-0.12.20/configure.in 1998-12-30 07:50:07.000000000 +0000
8+++ lrzsz-0.12.20/configure.in 2019-11-25 16:22:37.000000000 +0000
9@@ -92,7 +92,6 @@ AC_PROG_RANLIB
10 AC_ISC_POSIX
11 AC_AIX
12 AC_MINIX
13-AM_C_PROTOTYPES
14 AC_C_CONST
15 AC_C_INLINE
16
17@@ -253,18 +252,13 @@ ihave$lookup_facility
18 fi
19
20
21-AC_SUBST(CFLAGS)
22-AC_SUBST(LDFLAGS)
23 AC_SUBST(LIBS)
24
25-AM_GNU_GETTEXT
26+AM_GNU_GETTEXT([external])
27
28-AC_DEFINE_UNQUOTED(LOCALEDIR,"$prefix/$DATADIRNAME")
29-AC_LINK_FILES($nls_cv_header_libgt, $nls_cv_header_intl)
30-
31-AC_OUTPUT([Makefile intl/Makefile lib/Makefile testsuite/Makefile \
32+AC_OUTPUT([Makefile lib/Makefile testsuite/Makefile \
33 man/Makefile po/Makefile.in src/Makefile debian/rules Specfile systype \
34 src/lrzszbug],
35-[sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile;
36+[
37 chmod +x debian/rules;
38 test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h])
39diff -uprN clean/lrzsz-0.12.20/intl/bindtextdom.c lrzsz-0.12.20/intl/bindtextdom.c
40--- clean/lrzsz-0.12.20/intl/bindtextdom.c 1998-04-26 14:22:36.000000000 +0100
41+++ lrzsz-0.12.20/intl/bindtextdom.c 1970-01-01 01:00:00.000000000 +0100
42@@ -1,199 +0,0 @@
43-/* Implementation of the bindtextdomain(3) function
44- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
45-
46- This program is free software; you can redistribute it and/or modify
47- it under the terms of the GNU General Public License as published by
48- the Free Software Foundation; either version 2, or (at your option)
49- any later version.
50-
51- This program is distributed in the hope that it will be useful,
52- but WITHOUT ANY WARRANTY; without even the implied warranty of
53- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
54- GNU General Public License for more details.
55-
56- You should have received a copy of the GNU General Public License
57- along with this program; if not, write to the Free Software Foundation,
58- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
59-
60-#ifdef HAVE_CONFIG_H
61-# include <config.h>
62-#endif
63-
64-#if defined STDC_HEADERS || defined _LIBC
65-# include <stdlib.h>
66-#else
67-# ifdef HAVE_MALLOC_H
68-# include <malloc.h>
69-# else
70-void free ();
71-# endif
72-#endif
73-
74-#if defined HAVE_STRING_H || defined _LIBC
75-# include <string.h>
76-#else
77-# include <strings.h>
78-# ifndef memcpy
79-# define memcpy(Dst, Src, Num) bcopy (Src, Dst, Num)
80-# endif
81-#endif
82-
83-#ifdef _LIBC
84-# include <libintl.h>
85-#else
86-# include "libgettext.h"
87-#endif
88-#include "gettext.h"
89-#include "gettextP.h"
90-
91-/* @@ end of prolog @@ */
92-
93-/* Contains the default location of the message catalogs. */
94-extern const char _nl_default_dirname[];
95-
96-/* List with bindings of specific domains. */
97-extern struct binding *_nl_domain_bindings;
98-
99-
100-/* Names for the libintl functions are a problem. They must not clash
101- with existing names and they should follow ANSI C. But this source
102- code is also used in GNU C Library where the names have a __
103- prefix. So we have to make a difference here. */
104-#ifdef _LIBC
105-# define BINDTEXTDOMAIN __bindtextdomain
106-# define strdup(str) __strdup (str)
107-#else
108-# define BINDTEXTDOMAIN bindtextdomain__
109-#endif
110-
111-/* Specify that the DOMAINNAME message catalog will be found
112- in DIRNAME rather than in the system locale data base. */
113-char *
114-BINDTEXTDOMAIN (domainname, dirname)
115- const char *domainname;
116- const char *dirname;
117-{
118- struct binding *binding;
119-
120- /* Some sanity checks. */
121- if (domainname == NULL || domainname[0] == '\0')
122- return NULL;
123-
124- for (binding = _nl_domain_bindings; binding != NULL; binding = binding->next)
125- {
126- int compare = strcmp (domainname, binding->domainname);
127- if (compare == 0)
128- /* We found it! */
129- break;
130- if (compare < 0)
131- {
132- /* It is not in the list. */
133- binding = NULL;
134- break;
135- }
136- }
137-
138- if (dirname == NULL)
139- /* The current binding has be to returned. */
140- return binding == NULL ? (char *) _nl_default_dirname : binding->dirname;
141-
142- if (binding != NULL)
143- {
144- /* The domain is already bound. If the new value and the old
145- one are equal we simply do nothing. Otherwise replace the
146- old binding. */
147- if (strcmp (dirname, binding->dirname) != 0)
148- {
149- char *new_dirname;
150-
151- if (strcmp (dirname, _nl_default_dirname) == 0)
152- new_dirname = (char *) _nl_default_dirname;
153- else
154- {
155-#if defined _LIBC || defined HAVE_STRDUP
156- new_dirname = strdup (dirname);
157- if (new_dirname == NULL)
158- return NULL;
159-#else
160- size_t len = strlen (dirname) + 1;
161- new_dirname = (char *) malloc (len);
162- if (new_dirname == NULL)
163- return NULL;
164-
165- memcpy (new_dirname, dirname, len);
166-#endif
167- }
168-
169- if (binding->dirname != _nl_default_dirname)
170- free (binding->dirname);
171-
172- binding->dirname = new_dirname;
173- }
174- }
175- else
176- {
177- /* We have to create a new binding. */
178- size_t len;
179- struct binding *new_binding =
180- (struct binding *) malloc (sizeof (*new_binding));
181-
182- if (new_binding == NULL)
183- return NULL;
184-
185-#if defined _LIBC || defined HAVE_STRDUP
186- new_binding->domainname = strdup (domainname);
187- if (new_binding->domainname == NULL)
188- return NULL;
189-#else
190- len = strlen (domainname) + 1;
191- new_binding->domainname = (char *) malloc (len);
192- if (new_binding->domainname == NULL)
193- return NULL;
194- memcpy (new_binding->domainname, domainname, len);
195-#endif
196-
197- if (strcmp (dirname, _nl_default_dirname) == 0)
198- new_binding->dirname = (char *) _nl_default_dirname;
199- else
200- {
201-#if defined _LIBC || defined HAVE_STRDUP
202- new_binding->dirname = strdup (dirname);
203- if (new_binding->dirname == NULL)
204- return NULL;
205-#else
206- len = strlen (dirname) + 1;
207- new_binding->dirname = (char *) malloc (len);
208- if (new_binding->dirname == NULL)
209- return NULL;
210- memcpy (new_binding->dirname, dirname, len);
211-#endif
212- }
213-
214- /* Now enqueue it. */
215- if (_nl_domain_bindings == NULL
216- || strcmp (domainname, _nl_domain_bindings->domainname) < 0)
217- {
218- new_binding->next = _nl_domain_bindings;
219- _nl_domain_bindings = new_binding;
220- }
221- else
222- {
223- binding = _nl_domain_bindings;
224- while (binding->next != NULL
225- && strcmp (domainname, binding->next->domainname) > 0)
226- binding = binding->next;
227-
228- new_binding->next = binding->next;
229- binding->next = new_binding;
230- }
231-
232- binding = new_binding;
233- }
234-
235- return binding->dirname;
236-}
237-
238-#ifdef _LIBC
239-/* Alias for function name in GNU C Library. */
240-weak_alias (__bindtextdomain, bindtextdomain);
241-#endif
242diff -uprN clean/lrzsz-0.12.20/intl/cat-compat.c lrzsz-0.12.20/intl/cat-compat.c
243--- clean/lrzsz-0.12.20/intl/cat-compat.c 1998-04-26 14:22:37.000000000 +0100
244+++ lrzsz-0.12.20/intl/cat-compat.c 1970-01-01 01:00:00.000000000 +0100
245@@ -1,262 +0,0 @@
246-/* Compatibility code for gettext-using-catgets interface.
247- Copyright (C) 1995, 1997 Free Software Foundation, Inc.
248-
249- This program is free software; you can redistribute it and/or modify
250- it under the terms of the GNU General Public License as published by
251- the Free Software Foundation; either version 2, or (at your option)
252- any later version.
253-
254- This program is distributed in the hope that it will be useful,
255- but WITHOUT ANY WARRANTY; without even the implied warranty of
256- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
257- GNU General Public License for more details.
258-
259- You should have received a copy of the GNU General Public License
260- along with this program; if not, write to the Free Software Foundation,
261- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
262-
263-#ifdef HAVE_CONFIG_H
264-# include <config.h>
265-#endif
266-
267-#include <stdio.h>
268-
269-#ifdef STDC_HEADERS
270-# include <stdlib.h>
271-# include <string.h>
272-#else
273-char *getenv ();
274-# ifdef HAVE_MALLOC_H
275-# include <malloc.h>
276-# endif
277-#endif
278-
279-#ifdef HAVE_NL_TYPES_H
280-# include <nl_types.h>
281-#endif
282-
283-#include "libgettext.h"
284-
285-/* @@ end of prolog @@ */
286-
287-/* XPG3 defines the result of `setlocale (category, NULL)' as:
288- ``Directs `setlocale()' to query `category' and return the current
289- setting of `local'.''
290- However it does not specify the exact format. And even worse: POSIX
291- defines this not at all. So we can use this feature only on selected
292- system (e.g. those using GNU C Library). */
293-#ifdef _LIBC
294-# define HAVE_LOCALE_NULL
295-#endif
296-
297-/* The catalog descriptor. */
298-static nl_catd catalog = (nl_catd) -1;
299-
300-/* Name of the default catalog. */
301-static const char default_catalog_name[] = "messages";
302-
303-/* Name of currently used catalog. */
304-static const char *catalog_name = default_catalog_name;
305-
306-/* Get ID for given string. If not found return -1. */
307-static int msg_to_cat_id PARAMS ((const char *msg));
308-
309-/* Substitution for systems lacking this function in their C library. */
310-#if !_LIBC && !HAVE_STPCPY
311-static char *stpcpy PARAMS ((char *dest, const char *src));
312-#endif
313-
314-
315-/* Set currently used domain/catalog. */
316-char *
317-textdomain (domainname)
318- const char *domainname;
319-{
320- nl_catd new_catalog;
321- char *new_name;
322- size_t new_name_len;
323- char *lang;
324-
325-#if defined HAVE_SETLOCALE && defined HAVE_LC_MESSAGES \
326- && defined HAVE_LOCALE_NULL
327- lang = setlocale (LC_MESSAGES, NULL);
328-#else
329- lang = getenv ("LC_ALL");
330- if (lang == NULL || lang[0] == '\0')
331- {
332- lang = getenv ("LC_MESSAGES");
333- if (lang == NULL || lang[0] == '\0')
334- lang = getenv ("LANG");
335- }
336-#endif
337- if (lang == NULL || lang[0] == '\0')
338- lang = "C";
339-
340- /* See whether name of currently used domain is asked. */
341- if (domainname == NULL)
342- return (char *) catalog_name;
343-
344- if (domainname[0] == '\0')
345- domainname = default_catalog_name;
346-
347- /* Compute length of added path element. */
348- new_name_len = sizeof (LOCALEDIR) - 1 + 1 + strlen (lang)
349- + sizeof ("/LC_MESSAGES/") - 1 + sizeof (PACKAGE) - 1
350- + sizeof (".cat");
351-
352- new_name = (char *) malloc (new_name_len);
353- if (new_name == NULL)
354- return NULL;
355-
356- strcpy (new_name, PACKAGE);
357- new_catalog = catopen (new_name, 0);
358-
359- if (new_catalog == (nl_catd) -1)
360- {
361- /* NLSPATH search didn't work, try absolute path */
362- sprintf (new_name, "%s/%s/LC_MESSAGES/%s.cat", LOCALEDIR, lang,
363- PACKAGE);
364- new_catalog = catopen (new_name, 0);
365-
366- if (new_catalog == (nl_catd) -1)
367- {
368- free (new_name);
369- return (char *) catalog_name;
370- }
371- }
372-
373- /* Close old catalog. */
374- if (catalog != (nl_catd) -1)
375- catclose (catalog);
376- if (catalog_name != default_catalog_name)
377- free ((char *) catalog_name);
378-
379- catalog = new_catalog;
380- catalog_name = new_name;
381-
382- return (char *) catalog_name;
383-}
384-
385-char *
386-bindtextdomain (domainname, dirname)
387- const char *domainname;
388- const char *dirname;
389-{
390-#if HAVE_SETENV || HAVE_PUTENV
391- char *old_val, *new_val, *cp;
392- size_t new_val_len;
393-
394- /* This does not make much sense here but to be compatible do it. */
395- if (domainname == NULL)
396- return NULL;
397-
398- /* Compute length of added path element. If we use setenv we don't need
399- the first byts for NLSPATH=, but why complicate the code for this
400- peanuts. */
401- new_val_len = sizeof ("NLSPATH=") - 1 + strlen (dirname)
402- + sizeof ("/%L/LC_MESSAGES/%N.cat");
403-
404- old_val = getenv ("NLSPATH");
405- if (old_val == NULL || old_val[0] == '\0')
406- {
407- old_val = NULL;
408- new_val_len += 1 + sizeof (LOCALEDIR) - 1
409- + sizeof ("/%L/LC_MESSAGES/%N.cat");
410- }
411- else
412- new_val_len += strlen (old_val);
413-
414- new_val = (char *) malloc (new_val_len);
415- if (new_val == NULL)
416- return NULL;
417-
418-# if HAVE_SETENV
419- cp = new_val;
420-# else
421- cp = stpcpy (new_val, "NLSPATH=");
422-# endif
423-
424- cp = stpcpy (cp, dirname);
425- cp = stpcpy (cp, "/%L/LC_MESSAGES/%N.cat:");
426-
427- if (old_val == NULL)
428- {
429-# if __STDC__
430- stpcpy (cp, LOCALEDIR "/%L/LC_MESSAGES/%N.cat");
431-# else
432-
433- cp = stpcpy (cp, LOCALEDIR);
434- stpcpy (cp, "/%L/LC_MESSAGES/%N.cat");
435-# endif
436- }
437- else
438- stpcpy (cp, old_val);
439-
440-# if HAVE_SETENV
441- setenv ("NLSPATH", new_val, 1);
442- free (new_val);
443-# else
444- putenv (new_val);
445- /* Do *not* free the environment entry we just entered. It is used
446- from now on. */
447-# endif
448-
449-#endif
450-
451- return (char *) domainname;
452-}
453-
454-#undef gettext
455-char *
456-gettext (msg)
457- const char *msg;
458-{
459- int msgid;
460-
461- if (msg == NULL || catalog == (nl_catd) -1)
462- return (char *) msg;
463-
464- /* Get the message from the catalog. We always use set number 1.
465- The message ID is computed by the function `msg_to_cat_id'
466- which works on the table generated by `po-to-tbl'. */
467- msgid = msg_to_cat_id (msg);
468- if (msgid == -1)
469- return (char *) msg;
470-
471- return catgets (catalog, 1, msgid, (char *) msg);
472-}
473-
474-/* Look through the table `_msg_tbl' which has `_msg_tbl_length' entries
475- for the one equal to msg. If it is found return the ID. In case when
476- the string is not found return -1. */
477-static int
478-msg_to_cat_id (msg)
479- const char *msg;
480-{
481- int cnt;
482-
483- for (cnt = 0; cnt < _msg_tbl_length; ++cnt)
484- if (strcmp (msg, _msg_tbl[cnt]._msg) == 0)
485- return _msg_tbl[cnt]._msg_number;
486-
487- return -1;
488-}
489-
490-
491-/* @@ begin of epilog @@ */
492-
493-/* We don't want libintl.a to depend on any other library. So we
494- avoid the non-standard function stpcpy. In GNU C Library this
495- function is available, though. Also allow the symbol HAVE_STPCPY
496- to be defined. */
497-#if !_LIBC && !HAVE_STPCPY
498-static char *
499-stpcpy (dest, src)
500- char *dest;
501- const char *src;
502-{
503- while ((*dest++ = *src++) != '\0')
504- /* Do nothing. */ ;
505- return dest - 1;
506-}
507-#endif
508diff -uprN clean/lrzsz-0.12.20/intl/ChangeLog lrzsz-0.12.20/intl/ChangeLog
509--- clean/lrzsz-0.12.20/intl/ChangeLog 1998-04-26 14:22:35.000000000 +0100
510+++ lrzsz-0.12.20/intl/ChangeLog 1970-01-01 01:00:00.000000000 +0100
511@@ -1,1022 +0,0 @@
512-1997-09-06 02:10 Ulrich Drepper <drepper@cygnus.com>
513-
514- * intlh.inst.in: Reformat copyright.
515-
516-1997-08-19 15:22 Ulrich Drepper <drepper@cygnus.com>
517-
518- * dcgettext.c (DCGETTEXT): Remove wrong comment.
519-
520-1997-08-16 00:13 Ulrich Drepper <drepper@cygnus.com>
521-
522- * Makefile.in (install-data): Don't change directory to install.
523-
524-1997-08-01 14:30 Ulrich Drepper <drepper@cygnus.com>
525-
526- * cat-compat.c: Fix copyright.
527-
528- * localealias.c: Don't define strchr unless !HAVE_STRCHR.
529-
530- * loadmsgcat.c: Update copyright. Fix typos.
531-
532- * l10nflist.c: Don't define strchr unless !HAVE_STRCHR.
533- (_nl_make_l10nflist): Handle sponsor and revision correctly.
534-
535- * gettext.c: Update copyright.
536- * gettext.h: Likewise.
537- * hash-string.h: Likewise.
538-
539- * finddomain.c: Remoave dead code. Define strchr only if
540- !HAVE_STRCHR.
541-
542- * explodename.c: Include <sys/types.h>.
543-
544- * explodename.c: Reformat copyright text.
545- (_nl_explode_name): Fix typo.
546-
547- * dcgettext.c: Define and use __set_errno.
548- (guess_category_value): Don't use setlocale if HAVE_LC_MESSAGES is
549- not defined.
550-
551- * bindtextdom.c: Pretty printing.
552-
553-1997-05-01 02:25 Ulrich Drepper <drepper@cygnus.com>
554-
555- * dcgettext.c (guess_category_value): Don't depend on
556- HAVE_LC_MESSAGES. We don't need the macro here.
557- Patch by Bruno Haible <haible@ilog.fr>.
558-
559- * cat-compat.c (textdomain): DoN't refer to HAVE_SETLOCALE_NULL
560- macro. Instead use HAVE_LOCALE_NULL and define it when using
561- glibc, as in dcgettext.c.
562- Patch by Bruno Haible <haible@ilog.fr>.
563-
564- * Makefile.in (CPPFLAGS): New variable. Reported by Franc,ois
565- Pinard.
566-
567-Mon Mar 10 06:51:17 1997 Ulrich Drepper <drepper@cygnus.com>
568-
569- * Makefile.in: Implement handling of libtool.
570-
571- * gettextP.h: Change data structures for use of generic lowlevel
572- i18n file handling.
573-
574-Wed Dec 4 20:21:18 1996 Ulrich Drepper <drepper@cygnus.com>
575-
576- * textdomain.c: Put parentheses around arguments of memcpy macro
577- definition.
578- * localealias.c: Likewise.
579- * l10nflist.c: Likewise.
580- * finddomain.c: Likewise.
581- * bindtextdom.c: Likewise.
582- Reported by Thomas Esken.
583-
584-Mon Nov 25 22:57:51 1996 Ulrich Drepper <drepper@cygnus.com>
585-
586- * textdomain.c: Move definition of `memcpy` macro to right
587- position.
588-
589-Fri Nov 22 04:01:58 1996 Ulrich Drepper <drepper@cygnus.com>
590-
591- * finddomain.c [!HAVE_STRING_H && !_LIBC]: Define memcpy using
592- bcopy if not already defined. Reported by Thomas Esken.
593- * bindtextdom.c: Likewise.
594- * l10nflist.c: Likewise.
595- * localealias.c: Likewise.
596- * textdomain.c: Likewise.
597-
598-Tue Oct 29 11:10:27 1996 Ulrich Drepper <drepper@cygnus.com>
599-
600- * Makefile.in (libdir): Change to use exec_prefix instead of
601- prefix. Reported by Knut-HÃ¥vardAksnes <etokna@eto.ericsson.se>.
602-
603-Sat Aug 31 03:07:09 1996 Ulrich Drepper <drepper@cygnus.com>
604-
605- * l10nflist.c (_nl_normalize_codeset): We convert to lower case,
606- so don't prepend uppercase `ISO' for only numeric arg.
607-
608-Fri Jul 19 00:15:46 1996 Ulrich Drepper <drepper@cygnus.com>
609-
610- * l10nflist.c: Move inclusion of argz.h, ctype.h, stdlib.h after
611- definition of _GNU_SOURCE. Patch by Roland McGrath.
612-
613- * Makefile.in (uninstall): Fix another bug with `for' loop and
614- empty arguments. Patch by Jim Meyering. Correct name os
615- uninstalled files: no intl- prefix anymore.
616-
617- * Makefile.in (install-data): Again work around shells which
618- cannot handle mpty for list. Reported by Jim Meyering.
619-
620-Sat Jul 13 18:11:35 1996 Ulrich Drepper <drepper@cygnus.com>
621-
622- * Makefile.in (install): Split goal. Now depend on install-exec
623- and install-data.
624- (install-exec, install-data): New goals. Created from former
625- install goal.
626- Reported by Karl Berry.
627-
628-Sat Jun 22 04:58:14 1996 Ulrich Drepper <drepper@cygnus.com>
629-
630- * Makefile.in (MKINSTALLDIRS): New variable. Path to
631- mkinstalldirs script.
632- (install): use MKINSTALLDIRS variable or if the script is not present
633- try to find it in the $top_scrdir).
634-
635-Wed Jun 19 02:56:56 1996 Ulrich Drepper <drepper@cygnus.com>
636-
637- * l10nflist.c: Linux libc *partly* includes the argz_* functions.
638- Grr. Work around by renaming the static version and use macros
639- for renaming.
640-
641-Tue Jun 18 20:11:17 1996 Ulrich Drepper <drepper@cygnus.com>
642-
643- * l10nflist.c: Correct presence test macros of __argz_* functions.
644-
645- * l10nflist.c: Include <argz.h> based on test of it instead when
646- __argz_* functions are available.
647- Reported by Andreas Schwab.
648-
649-Thu Jun 13 15:17:44 1996 Ulrich Drepper <drepper@cygnus.com>
650-
651- * explodename.c, l10nflist.c: Define NULL for dumb systems.
652-
653-Tue Jun 11 17:05:13 1996 Ulrich Drepper <drepper@cygnus.com>
654-
655- * intlh.inst.in, libgettext.h (dcgettext): Rename local variable
656- result to __result to prevent name clash.
657-
658- * l10nflist.c, localealias.c, dcgettext.c: Define _GNU_SOURCE to
659- get prototype for stpcpy and strcasecmp.
660-
661- * intlh.inst.in, libgettext.h: Move declaration of
662- `_nl_msg_cat_cntr' outside __extension__ block to prevent warning
663- from gcc's -Wnested-extern option.
664-
665-Fri Jun 7 01:58:00 1996 Ulrich Drepper <drepper@cygnus.com>
666-
667- * Makefile.in (install): Remove comment.
668-
669-Thu Jun 6 17:28:17 1996 Ulrich Drepper <drepper@cygnus.com>
670-
671- * Makefile.in (install): Work around for another Buglix stupidity.
672- Always use an `else' close for `if's. Reported by Nelson Beebe.
673-
674- * Makefile.in (intlh.inst): Correct typo in phony rule.
675- Reported by Nelson Beebe.
676-
677-Thu Jun 6 01:49:52 1996 Ulrich Drepper <drepper@cygnus.com>
678-
679- * dcgettext.c (read_alias_file): Rename variable alloca_list to
680- block_list as the macro calls assume.
681- Patch by Eric Backus.
682-
683- * localealias.c [!HAVE_ALLOCA]: Define alloca as macro using
684- malloc.
685- (read_alias_file): Rename varriabe alloca_list to block_list as the
686- macro calls assume.
687- Patch by Eric Backus.
688-
689- * l10nflist.c: Correct conditional for <argz.h> inclusion.
690- Reported by Roland McGrath.
691-
692- * Makefile.in (all): Depend on all-@USE_INCLUDED_LIBINTL@, not
693- all-@USE_NLS@.
694-
695- * Makefile.in (install): intlh.inst comes from local dir, not
696- $(srcdir).
697-
698- * Makefile.in (intlh.inst): Special handling of this goal. If
699- used in gettext, this is really a rul to construct this file. If
700- used in any other package it is defined as a .PHONY rule with
701- empty body.
702-
703- * finddomain.c: Extract locale file information handling into
704- l10nfile.c. Rename local stpcpy__ function to stpcpy.
705-
706- * dcgettext.c (stpcpy): Add local definition.
707-
708- * l10nflist.c: Solve some portability problems. Patches partly by
709- Thomas Esken. Add local definition of stpcpy.
710-
711-Tue Jun 4 02:47:49 1996 Ulrich Drepper <drepper@cygnus.com>
712-
713- * intlh.inst.in: Don't depend including <locale.h> on
714- HAVE_LOCALE_H. Instead configure must rewrite this fiile
715- depending on the result of the configure run.
716-
717- * Makefile.in (install): libintl.inst is now called intlh.inst.
718- Add rules for updating intlh.inst from intlh.inst.in.
719-
720- * libintl.inst: Renamed to intlh.inst.in.
721-
722- * localealias.c, dcgettext.c [__GNUC__]: Define HAVE_ALLOCA to 1
723- because gcc has __buitlin_alloca.
724- Reported by Roland McGrath.
725-
726-Mon Jun 3 00:32:16 1996 Ulrich Drepper <drepper@cygnus.com>
727-
728- * Makefile.in (installcheck): New goal to fulfill needs of
729- automake's distcheck.
730-
731- * Makefile.in (install): Reorder commands so that VERSION is
732- found.
733-
734- * Makefile.in (gettextsrcdir): Now use subdirectory intl/ in
735- @datadir@/gettext.
736- (COMSRCS): Add l10nfile.c.
737- (OBJECTS): Add l10nfile.o.
738- (DISTFILES): Rename to DISTFILE.normal. Remove $(DISTFILES.common).
739- (DISTFILE.gettext): Remove $(DISTFILES.common).
740- (all-gettext): Remove goal.
741- (install): If $(PACKAGE) = gettext install, otherwose do nothing. No
742- package but gettext itself should install libintl.h + headers.
743- (dist): Extend goal to work for gettext, too.
744- (dist-gettext): Remove goal.
745-
746- * dcgettext.c [!HAVE_ALLOCA]: Define macro alloca by using malloc.
747-
748-Sun Jun 2 17:33:06 1996 Ulrich Drepper <drepper@cygnus.com>
749-
750- * loadmsgcat.c (_nl_load_domain): Parameter is now comes from
751- find_l10nfile.
752-
753-Sat Jun 1 02:23:03 1996 Ulrich Drepper <drepper@cygnus.com>
754-
755- * l10nflist.c (__argz_next): Add definition.
756-
757- * dcgettext.c [!HAVE_ALLOCA]: Add code for handling missing alloca
758- code. Use new l10nfile handling.
759-
760- * localealias.c [!HAVE_ALLOCA]: Add code for handling missing
761- alloca code.
762-
763- * l10nflist.c: Initial revision.
764-
765-Tue Apr 2 18:51:18 1996 Ulrich Drepper <drepper@myware>
766-
767- * Makefile.in (all-gettext): New goal. Same as all-yes.
768-
769-Thu Mar 28 23:01:22 1996 Karl Eichwalder <ke@ke.central.de>
770-
771- * Makefile.in (gettextsrcdir): Define using @datadir@.
772-
773-Tue Mar 26 12:39:14 1996 Ulrich Drepper <drepper@myware>
774-
775- * finddomain.c: Include <ctype.h>. Reported by Roland McGrath.
776-
777-Sat Mar 23 02:00:35 1996 Ulrich Drepper <drepper@myware>
778-
779- * finddomain.c (stpcpy): Rename to stpcpy__ to prevent clashing
780- with external declaration.
781-
782-Sat Mar 2 00:47:09 1996 Ulrich Drepper <drepper@myware>
783-
784- * Makefile.in (all-no): Rename from all_no.
785-
786-Sat Feb 17 00:25:59 1996 Ulrich Drepper <drepper@myware>
787-
788- * gettextP.h [loaded_domain]: Array `successor' must now contain up
789- to 63 elements (because of codeset name normalization).
790-
791- * finddomain.c: Implement codeset name normalization.
792-
793-Thu Feb 15 04:39:09 1996 Ulrich Drepper <drepper@myware>
794-
795- * Makefile.in (all): Define to `all-@USE_NLS@'.
796- (all-yes, all_no): New goals. `all-no' is noop, `all-yes'
797- is former all.
798-
799-Mon Jan 15 21:46:01 1996 Howard Gayle <howard@hal.com>
800-
801- * localealias.c (alias_compare): Increment string pointers in loop
802- of strcasecmp replacement.
803-
804-Fri Dec 29 21:16:34 1995 Ulrich Drepper <drepper@myware>
805-
806- * Makefile.in (install-src): Who commented this goal out ? :-)
807-
808-Fri Dec 29 15:08:16 1995 Ulrich Drepper <drepper@myware>
809-
810- * dcgettext.c (DCGETTEXT): Save `errno'. Failing system calls
811- should not effect it because a missing catalog is no error.
812- Reported by Harald K<o:>nig <koenig@tat.physik.uni-tuebingen.de>.
813-
814-Tue Dec 19 22:09:13 1995 Ulrich Drepper <drepper@myware>
815-
816- * Makefile.in (Makefile): Explicitly use $(SHELL) for running
817- shell scripts.
818-
819-Fri Dec 15 17:34:59 1995 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
820-
821- * Makefile.in (install-src): Only install library and header when
822- we use the own implementation. Don't do it when using the
823- system's gettext or catgets functions.
824-
825- * dcgettext.c (find_msg): Must not swap domain->hash_size here.
826-
827-Sat Dec 9 16:24:37 1995 Ulrich Drepper <drepper@myware>
828-
829- * localealias.c, libintl.inst, libgettext.h, hash-string.h,
830- gettextP.h, finddomain.c, dcgettext.c, cat-compat.c:
831- Use PARAMS instead of __P. Suggested by Roland McGrath.
832-
833-Tue Dec 5 11:39:14 1995 Larry Schwimmer <rosebud@cyclone.stanford.edu>
834-
835- * libgettext.h: Use `#if !defined (_LIBINTL_H)' instead of `#if
836- !_LIBINTL_H' because Solaris defines _LIBINTL_H as empty.
837-
838-Mon Dec 4 15:42:07 1995 Ulrich Drepper <drepper@myware>
839-
840- * Makefile.in (install-src):
841- Install libintl.inst instead of libintl.h.install.
842-
843-Sat Dec 2 22:51:38 1995 Marcus Daniels <marcus@sysc.pdx.edu>
844-
845- * cat-compat.c (textdomain):
846- Reverse order in which files are tried you load. First
847- try local file, when this failed absolute path.
848-
849-Wed Nov 29 02:03:53 1995 Nelson H. F. Beebe <beebe@math.utah.edu>
850-
851- * cat-compat.c (bindtextdomain): Add missing { }.
852-
853-Sun Nov 26 18:21:41 1995 Ulrich Drepper <drepper@myware>
854-
855- * libintl.inst: Add missing __P definition. Reported by Nelson Beebe.
856-
857- * Makefile.in:
858- Add dummy `all' and `dvi' goals. Reported by Tom Tromey.
859-
860-Sat Nov 25 16:12:01 1995 Franc,ois Pinard <pinard@iro.umontreal.ca>
861-
862- * hash-string.h: Capitalize arguments of macros.
863-
864-Sat Nov 25 12:01:36 1995 Ulrich Drepper <drepper@myware>
865-
866- * Makefile.in (DISTFILES): Prevent files names longer than 13
867- characters. libintl.h.glibc->libintl.glibc,
868- libintl.h.install->libintl.inst. Reported by Joshua R. Poulson.
869-
870-Sat Nov 25 11:31:12 1995 Eric Backus <ericb@lsid.hp.com>
871-
872- * dcgettext.c: Fix bug in preprocessor conditionals.
873-
874-Sat Nov 25 02:35:27 1995 Nelson H. F. Beebe <beebe@math.utah.edu>
875-
876- * libgettext.h: Solaris cc does not understand
877- #if !SYMBOL1 && !SYMBOL2. Sad but true.
878-
879-Thu Nov 23 16:22:14 1995 Ulrich Drepper <drepper@myware>
880-
881- * hash-string.h (hash_string):
882- Fix for machine with >32 bit `unsigned long's.
883-
884- * dcgettext.c (DCGETTEXT):
885- Fix horrible bug in loop for alternative translation.
886-
887-Thu Nov 23 01:45:29 1995 Ulrich Drepper <drepper@myware>
888-
889- * po2tbl.sed.in, linux-msg.sed, xopen-msg.sed:
890- Some further simplifications in message number generation.
891-
892-Mon Nov 20 21:08:43 1995 Ulrich Drepper <drepper@myware>
893-
894- * libintl.h.glibc: Use __const instead of const in prototypes.
895-
896- * Makefile.in (install-src):
897- Install libintl.h.install instead of libintl.h. This
898- is a stripped-down version. Suggested by Peter Miller.
899-
900- * libintl.h.install, libintl.h.glibc: Initial revision.
901-
902- * localealias.c (_nl_expand_alias, read_alias_file):
903- Protect prototypes in type casts by __P.
904-
905-Tue Nov 14 16:43:58 1995 Ulrich Drepper <drepper@myware>
906-
907- * hash-string.h: Correct prototype for hash_string.
908-
909-Sun Nov 12 12:42:30 1995 Ulrich Drepper <drepper@myware>
910-
911- * hash-string.h (hash_string): Add prototype.
912-
913- * gettextP.h: Fix copyright.
914- (SWAP): Add prototype.
915-
916-Wed Nov 8 22:56:33 1995 Ulrich Drepper <drepper@myware>
917-
918- * localealias.c (read_alias_file): Forgot sizeof.
919- Avoid calling *printf function. This introduces a big overhead.
920- Patch by Roland McGrath.
921-
922-Tue Nov 7 14:21:08 1995 Ulrich Drepper <drepper@myware>
923-
924- * finddomain.c, cat-compat.c: Wrong indentation in #if for stpcpy.
925-
926- * finddomain.c (stpcpy):
927- Define substitution function local. The macro was to flaky.
928-
929- * cat-compat.c: Fix typo.
930-
931- * xopen-msg.sed, linux-msg.sed:
932- While bringing message number to right place only accept digits.
933-
934- * linux-msg.sed, xopen-msg.sed: Now that the counter does not have
935- leading 0s we don't need to remove them. Reported by Marcus
936- Daniels.
937-
938- * Makefile.in (../po/cat-id-tbl.o): Use $(top_srdir) in
939- dependency. Reported by Marcus Daniels.
940-
941- * cat-compat.c: (stpcpy) [!_LIBC && !HAVE_STPCPY]: Define replacement.
942- Generally cleanup using #if instead of #ifndef.
943-
944- * Makefile.in: Correct typos in comment. By Franc,ois Pinard.
945-
946-Mon Nov 6 00:27:02 1995 Ulrich Drepper <drepper@myware>
947-
948- * Makefile.in (install-src): Don't install libintl.h and libintl.a
949- if we use an available gettext implementation.
950-
951-Sun Nov 5 22:02:08 1995 Ulrich Drepper <drepper@myware>
952-
953- * libgettext.h: Fix typo: HAVE_CATGETTS -> HAVE_CATGETS. Reported
954- by Franc,ois Pinard.
955-
956- * libgettext.h: Use #if instead of #ifdef/#ifndef.
957-
958- * finddomain.c:
959- Comments describing what has to be done should start with FIXME.
960-
961-Sun Nov 5 19:38:01 1995 Ulrich Drepper <drepper@myware>
962-
963- * Makefile.in (DISTFILES): Split. Use DISTFILES with normal meaning.
964- DISTFILES.common names the files common to both dist goals.
965- DISTFILES.gettext are the files only distributed in GNU gettext.
966-
967-Sun Nov 5 17:32:54 1995 Ulrich Drepper <drepper@myware>
968-
969- * dcgettext.c (DCGETTEXT): Correct searching in derived locales.
970- This was necessary since a change in _nl_find_msg several weeks
971- ago. I really don't know this is still not fixed.
972-
973-Sun Nov 5 12:43:12 1995 Ulrich Drepper <drepper@myware>
974-
975- * loadmsgcat.c (_nl_load_domain): Test for FILENAME == NULL. This
976- might mark a special condition.
977-
978- * finddomain.c (make_entry_rec): Don't make illegal entry as decided.
979-
980- * Makefile.in (dist): Suppress error message when ln failed.
981- Get files from $(srcdir) explicitly.
982-
983- * libgettext.h (gettext_const): Rename to gettext_noop.
984-
985-Fri Nov 3 07:36:50 1995 Ulrich Drepper <drepper@myware>
986-
987- * finddomain.c (make_entry_rec):
988- Protect against wrong locale names by testing mask.
989-
990- * libgettext.h (gettext_const): Add macro definition.
991- Capitalize macro arguments.
992-
993-Thu Nov 2 23:15:51 1995 Ulrich Drepper <drepper@myware>
994-
995- * finddomain.c (_nl_find_domain):
996- Test for pointer != NULL before accessing value.
997- Reported by Tom Tromey.
998-
999- * gettext.c (NULL):
1000- Define as (void*)0 instad of 0. Reported by Franc,ois Pinard.
1001-
1002-Mon Oct 30 21:28:52 1995 Ulrich Drepper <drepper@myware>
1003-
1004- * po2tbl.sed.in: Serious typo bug fixed by Jim Meyering.
1005-
1006-Sat Oct 28 23:20:47 1995 Ulrich Drepper <drepper@myware>
1007-
1008- * libgettext.h: Disable dcgettext optimization for Solaris 2.3.
1009-
1010- * localealias.c (alias_compare):
1011- Peter Miller reported that tolower in some systems is
1012- even dumber than I thought. Protect call by `isupper'.
1013-
1014-Fri Oct 27 22:22:51 1995 Ulrich Drepper <drepper@myware>
1015-
1016- * Makefile.in (libdir, includedir): New variables.
1017- (install-src): Install libintl.a and libintl.h in correct dirs.
1018-
1019-Fri Oct 27 22:07:29 1995 Ulrich Drepper <drepper@myware>
1020-
1021- * Makefile.in (SOURCES): Fix typo: intrl.compat.c -> intl-compat.c.
1022-
1023- * po2tbl.sed.in: Patch for buggy SEDs by Christian von Roques.
1024-
1025- * localealias.c:
1026- Fix typo and superflous test. Reported by Christian von Roques.
1027-
1028-Fri Oct 6 11:52:05 1995 Ulrich Drepper <drepper@myware>
1029-
1030- * finddomain.c (_nl_find_domain):
1031- Correct some remainder from the pre-CEN syntax. Now
1032- we don't have a constant number of successors anymore.
1033-
1034-Wed Sep 27 21:41:13 1995 Ulrich Drepper <drepper@myware>
1035-
1036- * Makefile.in (DISTFILES): Add libintl.h.glibc.
1037-
1038- * Makefile.in (dist-libc): Add goal for packing sources for glibc.
1039- (COMSRCS, COMHDRS): Splitted to separate sources shared with glibc.
1040-
1041- * loadmsgcat.c: Forget to continue #if line.
1042-
1043- * localealias.c:
1044- [_LIBC]: Rename strcasecmp to __strcasecmp to keep ANSI C name
1045- space clean.
1046-
1047- * dcgettext.c, finddomain.c: Better comment to last change.
1048-
1049- * loadmsgcat.c:
1050- [_LIBC]: Rename fstat, open, close, read, mmap, and munmap to
1051- __fstat, __open, __close, __read, __mmap, and __munmap resp
1052- to keep ANSI C name space clean.
1053-
1054- * finddomain.c:
1055- [_LIBC]: Rename stpcpy to __stpcpy to keep ANSI C name space clean.
1056-
1057- * dcgettext.c:
1058- [_LIBC]: Rename getced and stpcpy to __getcwd and __stpcpy resp to
1059- keep ANSI C name space clean.
1060-
1061- * libgettext.h:
1062- Include sys/types.h for those old SysV systems out there.
1063- Reported by Francesco Potorti`.
1064-
1065- * loadmsgcat.c (use_mmap): Define if compiled for glibc.
1066-
1067- * bindtextdom.c: Include all those standard headers
1068- unconditionally if _LIBC is defined.
1069-
1070- * finddomain.c: Fix 2 times defiend -> defined.
1071-
1072- * textdomain.c: Include libintl.h instead of libgettext.h when
1073- compiling for glibc. Include all those standard headers
1074- unconditionally if _LIBC is defined.
1075-
1076- * localealias.c, loadmsgcat.c: Prepare to be compiled in glibc.
1077-
1078- * gettext.c:
1079- Include libintl.h instead of libgettext.h when compiling for glibc.
1080- Get NULL from stddef.h if we compile for glibc.
1081-
1082- * finddomain.c: Include libintl.h instead of libgettext.h when
1083- compiling for glibc. Include all those standard headers
1084- unconditionally if _LIBC is defined.
1085-
1086- * dcgettext.c: Include all those standard headers unconditionally
1087- if _LIBC is defined.
1088-
1089- * dgettext.c: If compiled in glibc include libintl.h instead of
1090- libgettext.h.
1091- (locale.h): Don't rely on HAVE_LOCALE_H when compiling for glibc.
1092-
1093- * dcgettext.c: If compiled in glibc include libintl.h instead of
1094- libgettext.h.
1095- (getcwd): Don't rely on HAVE_GETCWD when compiling for glibc.
1096-
1097- * bindtextdom.c:
1098- If compiled in glibc include libintl.h instead of libgettext.h.
1099-
1100-Mon Sep 25 22:23:06 1995 Ulrich Drepper <drepper@myware>
1101-
1102- * localealias.c (_nl_expand_alias): Don't call bsearch if NMAP <= 0.
1103- Reported by Marcus Daniels.
1104-
1105- * cat-compat.c (bindtextdomain):
1106- String used in putenv must not be recycled.
1107- Reported by Marcus Daniels.
1108-
1109- * libgettext.h (__USE_GNU_GETTEXT):
1110- Additional symbol to signal that we use GNU gettext
1111- library.
1112-
1113- * cat-compat.c (bindtextdomain):
1114- Fix bug with the strange stpcpy replacement.
1115- Reported by Nelson Beebe.
1116-
1117-Sat Sep 23 08:23:51 1995 Ulrich Drepper <drepper@myware>
1118-
1119- * cat-compat.c: Include <string.h> for stpcpy prototype.
1120-
1121- * localealias.c (read_alias_file):
1122- While expand strdup code temporary variable `cp' hided
1123- higher level variable with same name. Rename to `tp'.
1124-
1125- * textdomain.c (textdomain):
1126- Avoid warning by using temporary variable in strdup code.
1127-
1128- * finddomain.c (_nl_find_domain): Remove unused variable `application'.
1129-
1130-Thu Sep 21 15:51:44 1995 Ulrich Drepper <drepper@myware>
1131-
1132- * localealias.c (alias_compare):
1133- Use strcasecmp() only if available. Else use
1134- implementation in place.
1135-
1136- * intl-compat.c:
1137- Wrapper functions now call *__ functions instead of __*.
1138-
1139- * libgettext.h: Declare prototypes for *__ functions instead for __*.
1140-
1141- * cat-compat.c, loadmsgcat.c:
1142- Don't use xmalloc, xstrdup, and stpcpy. These functions are not part
1143- of the standard libc and so prevent libintl.a from being used
1144- standalone.
1145-
1146- * bindtextdom.c:
1147- Don't use xmalloc, xstrdup, and stpcpy. These functions are not part
1148- of the standard libc and so prevent libintl.a from being used
1149- standalone.
1150- Rename to bindtextdomain__ if not used in GNU C Library.
1151-
1152- * dgettext.c:
1153- Rename function to dgettext__ if not used in GNU C Library.
1154-
1155- * gettext.c:
1156- Don't use xmalloc, xstrdup, and stpcpy. These functions are not part
1157- of the standard libc and so prevent libintl.a from being used
1158- standalone.
1159- Functions now called gettext__ if not used in GNU C Library.
1160-
1161- * dcgettext.c, localealias.c, textdomain.c, finddomain.c:
1162- Don't use xmalloc, xstrdup, and stpcpy. These functions are not part
1163- of the standard libc and so prevent libintl.a from being used
1164- standalone.
1165-
1166-Sun Sep 17 23:14:49 1995 Ulrich Drepper <drepper@myware>
1167-
1168- * finddomain.c: Correct some bugs in handling of CEN standard
1169- locale definitions.
1170-
1171-Thu Sep 7 01:49:28 1995 Ulrich Drepper <drepper@myware>
1172-
1173- * finddomain.c: Implement CEN syntax.
1174-
1175- * gettextP.h (loaded_domain): Extend number of successors to 31.
1176-
1177-Sat Aug 19 19:25:29 1995 Ulrich Drepper <drepper@myware>
1178-
1179- * Makefile.in (aliaspath): Remove path to X11 locale dir.
1180-
1181- * Makefile.in: Make install-src depend on install. This helps
1182- gettext to install the sources and other packages can use the
1183- install goal.
1184-
1185-Sat Aug 19 15:19:33 1995 Ulrich Drepper <drepper@myware>
1186-
1187- * Makefile.in (uninstall): Remove stuff installed by install-src.
1188-
1189-Tue Aug 15 13:13:53 1995 Ulrich Drepper <drepper@myware>
1190-
1191- * VERSION.in: Initial revision.
1192-
1193- * Makefile.in (DISTFILES):
1194- Add VERSION file. This is not necessary for gettext, but
1195- for other packages using this library.
1196-
1197-Tue Aug 15 06:16:44 1995 Ulrich Drepper <drepper@myware>
1198-
1199- * gettextP.h (_nl_find_domain):
1200- New prototype after changing search strategy.
1201-
1202- * finddomain.c (_nl_find_domain):
1203- We now try only to find a specified catalog. Fall back to other
1204- catalogs listed in the locale list is now done in __dcgettext.
1205-
1206- * dcgettext.c (__dcgettext):
1207- Now we provide message fall back even to different languages.
1208- I.e. if a message is not available in one language all the other
1209- in the locale list a tried. Formerly fall back was only possible
1210- within one language. Implemented by moving one loop from
1211- _nl_find_domain to here.
1212-
1213-Mon Aug 14 23:45:50 1995 Ulrich Drepper <drepper@myware>
1214-
1215- * Makefile.in (gettextsrcdir):
1216- Directory where source of GNU gettext library are made
1217- available.
1218- (INSTALL, INSTALL_DATA): Programs used for installing sources.
1219- (gettext-src): New. Rule to install GNU gettext sources for use in
1220- gettextize shell script.
1221-
1222-Sun Aug 13 14:40:48 1995 Ulrich Drepper <drepper@myware>
1223-
1224- * loadmsgcat.c (_nl_load_domain):
1225- Use mmap for loading only when munmap function is
1226- also available.
1227-
1228- * Makefile.in (install): Depend on `all' goal.
1229-
1230-Wed Aug 9 11:04:33 1995 Ulrich Drepper <drepper@myware>
1231-
1232- * localealias.c (read_alias_file):
1233- Do not overwrite '\n' when terminating alias value string.
1234-
1235- * localealias.c (read_alias_file):
1236- Handle long lines. Ignore the rest not fitting in
1237- the buffer after the initial `fgets' call.
1238-
1239-Wed Aug 9 00:54:29 1995 Ulrich Drepper <drepper@myware>
1240-
1241- * gettextP.h (_nl_load_domain):
1242- Add prototype, replacing prototype for _nl_load_msg_cat.
1243-
1244- * finddomain.c (_nl_find_domain):
1245- Remove unneeded variable filename and filename_len.
1246- (expand_alias): Remove prototype because functions does not
1247- exist anymore.
1248-
1249- * localealias.c (read_alias_file):
1250- Change type of fname_len parameter to int.
1251- (xmalloc): Add prototype.
1252-
1253- * loadmsgcat.c: Better prototypes for xmalloc.
1254-
1255-Tue Aug 8 22:30:39 1995 Ulrich Drepper <drepper@myware>
1256-
1257- * finddomain.c (_nl_find_domain):
1258- Allow alias name to be constructed from the four components.
1259-
1260- * Makefile.in (aliaspath): New variable. Set to preliminary value.
1261- (SOURCES): Add localealias.c.
1262- (OBJECTS): Add localealias.o.
1263-
1264- * gettextP.h: Add prototype for _nl_expand_alias.
1265-
1266- * finddomain.c: Aliasing handled in intl/localealias.c.
1267-
1268- * localealias.c: Aliasing for locale names.
1269-
1270- * bindtextdom.c: Better prototypes for xmalloc and xstrdup.
1271-
1272-Mon Aug 7 23:47:42 1995 Ulrich Drepper <drepper@myware>
1273-
1274- * Makefile.in (DISTFILES): gettext.perl is now found in misc/.
1275-
1276- * cat-compat.c (bindtextdomain):
1277- Correct implementation. dirname parameter was not used.
1278- Reported by Marcus Daniels.
1279-
1280- * gettextP.h (loaded_domain):
1281- New fields `successor' and `decided' for oo, lazy
1282- message handling implementation.
1283-
1284- * dcgettext.c:
1285- Adopt for oo, lazy message handliing.
1286- Now we can inherit translations from less specific locales.
1287- (find_msg): New function.
1288-
1289- * loadmsgcat.c, finddomain.c:
1290- Complete rewrite. Implement oo, lazy message handling :-).
1291- We now have an additional environment variable `LANGUAGE' with
1292- a higher priority than LC_ALL for the LC_MESSAGE locale.
1293- Here we can set a colon separated list of specifications each
1294- of the form `language[_territory[.codeset]][@modifier]'.
1295-
1296-Sat Aug 5 09:55:42 1995 Ulrich Drepper <drepper@myware>
1297-
1298- * finddomain.c (unistd.h):
1299- Include to get _PC_PATH_MAX defined on system having it.
1300-
1301-Fri Aug 4 22:42:00 1995 Ulrich Drepper <drepper@myware>
1302-
1303- * finddomain.c (stpcpy): Include prototype.
1304-
1305- * Makefile.in (dist): Remove `copying instead' message.
1306-
1307-Wed Aug 2 18:52:03 1995 Ulrich Drepper <drepper@myware>
1308-
1309- * Makefile.in (ID, TAGS): Do not use $^.
1310-
1311-Tue Aug 1 20:07:11 1995 Ulrich Drepper <drepper@myware>
1312-
1313- * Makefile.in (TAGS, ID): Use $^ as command argument.
1314- (TAGS): Give etags -o option t write to current directory,
1315- not $(srcdir).
1316- (ID): Use $(srcdir) instead os $(top_srcdir)/src.
1317- (distclean): Remove ID.
1318-
1319-Sun Jul 30 11:51:46 1995 Ulrich Drepper <drepper@myware>
1320-
1321- * Makefile.in (gnulocaledir):
1322- New variable, always using share/ for data directory.
1323- (DEFS): Add GNULOCALEDIR, used in finddomain.c.
1324-
1325- * finddomain.c (_nl_default_dirname):
1326- Set to GNULOCALEDIR, because it always has to point
1327- to the directory where GNU gettext Library writes it to.
1328-
1329- * intl-compat.c (textdomain, bindtextdomain):
1330- Undefine macros before function definition.
1331-
1332-Sat Jul 22 01:10:02 1995 Ulrich Drepper <drepper@myware>
1333-
1334- * libgettext.h (_LIBINTL_H):
1335- Protect definition in case where this file is included as
1336- libgettext.h on Solaris machines. Add comment about this.
1337-
1338-Wed Jul 19 02:36:42 1995 Ulrich Drepper <drepper@myware>
1339-
1340- * intl-compat.c (textdomain): Correct typo.
1341-
1342-Wed Jul 19 01:51:35 1995 Ulrich Drepper <drepper@myware>
1343-
1344- * dcgettext.c (dcgettext): Function now called __dcgettext.
1345-
1346- * dgettext.c (dgettext): Now called __dgettext and calls
1347- __dcgettext.
1348-
1349- * gettext.c (gettext):
1350- Function now called __gettext and calls __dgettext.
1351-
1352- * textdomain.c (textdomain): Function now called __textdomain.
1353-
1354- * bindtextdom.c (bindtextdomain): Function now called
1355- __bindtextdomain.
1356-
1357- * intl-compat.c: Initial revision.
1358-
1359- * Makefile.in (SOURCES): Add intl-compat.c.
1360- (OBJECTS): We always compile the GNU gettext library functions.
1361- OBJECTS contains all objects but cat-compat.o, ../po/cat-if-tbl.o,
1362- and intl-compat.o.
1363- (GETTOBJS): Contains now only intl-compat.o.
1364-
1365- * libgettext.h:
1366- Re-include protection matches dualistic character of libgettext.h.
1367- For all functions in GNU gettext library define __ counter part.
1368-
1369- * finddomain.c (strchr): Define as index if not found in C library.
1370- (_nl_find_domain): For relative paths paste / in between.
1371-
1372-Tue Jul 18 16:37:45 1995 Ulrich Drepper <drepper@myware>
1373-
1374- * loadmsgcat.c, finddomain.c: Add inclusion of sys/types.h.
1375-
1376- * xopen-msg.sed: Fix bug with `msgstr ""' lines.
1377- A little bit better comments.
1378-
1379-Tue Jul 18 01:18:27 1995 Ulrich Drepper <drepper@myware>
1380-
1381- * Makefile.in:
1382- po-mode.el, makelinks, combine-sh are now found in ../misc.
1383-
1384- * po-mode.el, makelinks, combine-sh, elisp-comp:
1385- Moved to ../misc/.
1386-
1387- * libgettext.h, gettextP.h, gettext.h: Uniform test for __STDC__.
1388-
1389-Sun Jul 16 22:33:02 1995 Ulrich Drepper <drepper@myware>
1390-
1391- * Makefile.in (INSTALL, INSTALL_DATA): New variables.
1392- (install-data, uninstall): Install/uninstall .elc file.
1393-
1394- * po-mode.el (Installation comment):
1395- Add .pox as possible extension of .po files.
1396-
1397-Sun Jul 16 13:23:27 1995 Ulrich Drepper <drepper@myware>
1398-
1399- * elisp-comp: Complete new version by Franc,ois: This does not
1400- fail when not compiling in the source directory.
1401-
1402-Sun Jul 16 00:12:17 1995 Ulrich Drepper <drepper@myware>
1403-
1404- * Makefile.in (../po/cat-id-tbl.o):
1405- Use $(MAKE) instead of make for recursive make.
1406-
1407- * Makefile.in (.el.elc): Use $(SHELL) instead of /bin/sh.
1408- (install-exec): Add missing dummy goal.
1409- (install-data, uninstall): @ in multi-line shell command at
1410- beginning, not in front of echo. Reported by Eric Backus.
1411-
1412-Sat Jul 15 00:21:28 1995 Ulrich Drepper <drepper@myware>
1413-
1414- * Makefile.in (DISTFILES):
1415- Rename libgettext.perl to gettext.perl to fit in 14 chars
1416- file systems.
1417-
1418- * gettext.perl:
1419- Rename to gettext.perl to fit in 14 chars file systems.
1420-
1421-Thu Jul 13 23:17:20 1995 Ulrich Drepper <drepper@myware>
1422-
1423- * cat-compat.c: If !STDC_HEADERS try to include malloc.h.
1424-
1425-Thu Jul 13 20:55:02 1995 Ulrich Drepper <drepper@myware>
1426-
1427- * po2tbl.sed.in: Pretty printing.
1428-
1429- * linux-msg.sed, xopen-msg.sed:
1430- Correct bugs with handling substitute flags in branches.
1431-
1432- * hash-string.h (hash_string):
1433- Old K&R compilers don't under stand `unsigned char'.
1434-
1435- * gettext.h (nls_uint32):
1436- Some old K&R compilers (eg HP) don't understand `unsigned int'.
1437-
1438- * cat-compat.c (msg_to_cat_id): De-ANSI-fy prototypes.
1439-
1440-Thu Jul 13 01:34:33 1995 Ulrich Drepper <drepper@myware>
1441-
1442- * Makefile.in (ELCFILES): New variable.
1443- (DISTFILES): Add elisp-comp.
1444- Add implicit rule for .el -> .elc compilation.
1445- (install-data): install $ELCFILES
1446- (clean): renamed po-to-tbl and po-to-msg to po2tbl and po2msg resp.
1447-
1448- * elisp-comp: Initial revision
1449-
1450-Wed Jul 12 16:14:52 1995 Ulrich Drepper <drepper@myware>
1451-
1452- * Makefile.in:
1453- cat-id-tbl.c is now found in po/. This enables us to use an identical
1454- intl/ directory in all packages.
1455-
1456- * dcgettext.c (dcgettext): hashing does not work for table size <= 2.
1457-
1458- * textdomain.c: fix typo (#if def -> #if defined)
1459-
1460-Tue Jul 11 18:44:43 1995 Ulrich Drepper <drepper@myware>
1461-
1462- * Makefile.in (stamp-cat-id): use top_srcdir to address source files
1463- (DISTFILES,distclean): move tupdate.perl to src/
1464-
1465- * po-to-tbl.sed.in:
1466- add additional jump to clear change flag to recognize multiline strings
1467-
1468-Tue Jul 11 01:32:50 1995 Ulrich Drepper <drepper@myware>
1469-
1470- * textdomain.c: Protect inclusion of stdlib.h and string.h.
1471-
1472- * loadmsgcat.c: Protect inclusion of stdlib.h.
1473-
1474- * libgettext.h: Protect inclusion of locale.h.
1475- Allow use in C++ programs.
1476- Define NULL is not happened already.
1477-
1478- * Makefile.in (DISTFILES): ship po-to-tbl.sed.in instead of
1479- po-to-tbl.sed.
1480- (distclean): remove po-to-tbl.sed and tupdate.perl.
1481-
1482- * tupdate.perl.in: Substitute Perl path even in exec line.
1483- Don't include entries without translation from old .po file.
1484-
1485-Tue Jul 4 00:41:51 1995 Ulrich Drepper <drepper@myware>
1486-
1487- * tupdate.perl.in: use "Updated: " in msgid "".
1488-
1489- * cat-compat.c: Fix typo (LOCALDIR -> LOCALEDIR).
1490- Define getenv if !__STDC__.
1491-
1492- * bindtextdom.c: Protect stdlib.h and string.h inclusion.
1493- Define free if !__STDC__.
1494-
1495- * finddomain.c: Change DEF_MSG_DOM_DIR to LOCALEDIR.
1496- Define free if !__STDC__.
1497-
1498- * cat-compat.c: Change DEF_MSG_DOM_DIR to LOCALEDIR.
1499-
1500-Mon Jul 3 23:56:30 1995 Ulrich Drepper <drepper@myware>
1501-
1502- * Makefile.in: Use LOCALEDIR instead of DEF_MSG_DOM_DIR.
1503- Remove unneeded $(srcdir) from Makefile.in dependency.
1504-
1505- * makelinks: Add copyright and short description.
1506-
1507- * po-mode.el: Last version for 0.7.
1508-
1509- * tupdate.perl.in: Fix die message.
1510-
1511- * dcgettext.c: Protect include of string.h.
1512-
1513- * gettext.c: Protect include of stdlib.h and further tries to get NULL.
1514-
1515- * finddomain.c: Some corrections in includes.
1516-
1517- * Makefile.in (INCLUDES): Prune list correct path to Makefile.in.
1518-
1519- * po-to-tbl.sed: Adopt for new .po file format.
1520-
1521- * linux-msg.sed, xopen-msg.sed: Adopt for new .po file format.
1522-
1523-Sun Jul 2 23:55:03 1995 Ulrich Drepper <drepper@myware>
1524-
1525- * tupdate.perl.in: Complete rewrite for new .po file format.
1526-
1527-Sun Jul 2 02:06:50 1995 Ulrich Drepper <drepper@myware>
1528-
1529- * First official release. This directory contains all the code
1530- needed to internationalize own packages. It provides functions
1531- which allow to use the X/Open catgets function with an interface
1532- like the Uniforum gettext function. For system which does not
1533- have neither of those a complete implementation is provided.
1534diff -uprN clean/lrzsz-0.12.20/intl/dcgettext.c lrzsz-0.12.20/intl/dcgettext.c
1535--- clean/lrzsz-0.12.20/intl/dcgettext.c 1998-04-26 14:22:36.000000000 +0100
1536+++ lrzsz-0.12.20/intl/dcgettext.c 1970-01-01 01:00:00.000000000 +0100
1537@@ -1,593 +0,0 @@
1538-/* Implementation of the dcgettext(3) function
1539- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
1540-
1541- This program is free software; you can redistribute it and/or modify
1542- it under the terms of the GNU General Public License as published by
1543- the Free Software Foundation; either version 2, or (at your option)
1544- any later version.
1545-
1546- This program is distributed in the hope that it will be useful,
1547- but WITHOUT ANY WARRANTY; without even the implied warranty of
1548- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1549- GNU General Public License for more details.
1550-
1551- You should have received a copy of the GNU General Public License
1552- along with this program; if not, write to the Free Software Foundation,
1553- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
1554-
1555-#ifdef HAVE_CONFIG_H
1556-# include <config.h>
1557-#endif
1558-
1559-#include <sys/types.h>
1560-
1561-#ifdef __GNUC__
1562-# define alloca __builtin_alloca
1563-# define HAVE_ALLOCA 1
1564-#else
1565-# if defined HAVE_ALLOCA_H || defined _LIBC
1566-# include <alloca.h>
1567-# else
1568-# ifdef _AIX
1569- #pragma alloca
1570-# else
1571-# ifndef alloca
1572-char *alloca ();
1573-# endif
1574-# endif
1575-# endif
1576-#endif
1577-
1578-#include <errno.h>
1579-#ifndef errno
1580-extern int errno;
1581-#endif
1582-#ifndef __set_errno
1583-# define __set_errno(val) errno = (val)
1584-#endif
1585-
1586-#if defined STDC_HEADERS || defined _LIBC
1587-# include <stdlib.h>
1588-#else
1589-char *getenv ();
1590-# ifdef HAVE_MALLOC_H
1591-# include <malloc.h>
1592-# else
1593-void free ();
1594-# endif
1595-#endif
1596-
1597-#if defined HAVE_STRING_H || defined _LIBC
1598-# ifndef _GNU_SOURCE
1599-# define _GNU_SOURCE 1
1600-# endif
1601-# include <string.h>
1602-#else
1603-# include <strings.h>
1604-#endif
1605-#if !HAVE_STRCHR && !defined _LIBC
1606-# ifndef strchr
1607-# define strchr index
1608-# endif
1609-#endif
1610-
1611-#if defined HAVE_UNISTD_H || defined _LIBC
1612-# include <unistd.h>
1613-#endif
1614-
1615-#include "gettext.h"
1616-#include "gettextP.h"
1617-#ifdef _LIBC
1618-# include <libintl.h>
1619-#else
1620-# include "libgettext.h"
1621-#endif
1622-#include "hash-string.h"
1623-
1624-/* @@ end of prolog @@ */
1625-
1626-#ifdef _LIBC
1627-/* Rename the non ANSI C functions. This is required by the standard
1628- because some ANSI C functions will require linking with this object
1629- file and the name space must not be polluted. */
1630-# define getcwd __getcwd
1631-# define stpcpy __stpcpy
1632-#else
1633-# if !defined HAVE_GETCWD
1634-char *getwd ();
1635-# define getcwd(buf, max) getwd (buf)
1636-# else
1637-char *getcwd ();
1638-# endif
1639-# ifndef HAVE_STPCPY
1640-static char *stpcpy PARAMS ((char *dest, const char *src));
1641-# endif
1642-#endif
1643-
1644-/* Amount to increase buffer size by in each try. */
1645-#define PATH_INCR 32
1646-
1647-/* The following is from pathmax.h. */
1648-/* Non-POSIX BSD systems might have gcc's limits.h, which doesn't define
1649- PATH_MAX but might cause redefinition warnings when sys/param.h is
1650- later included (as on MORE/BSD 4.3). */
1651-#if defined(_POSIX_VERSION) || (defined(HAVE_LIMITS_H) && !defined(__GNUC__))
1652-# include <limits.h>
1653-#endif
1654-
1655-#ifndef _POSIX_PATH_MAX
1656-# define _POSIX_PATH_MAX 255
1657-#endif
1658-
1659-#if !defined(PATH_MAX) && defined(_PC_PATH_MAX)
1660-# define PATH_MAX (pathconf ("/", _PC_PATH_MAX) < 1 ? 1024 : pathconf ("/", _PC_PATH_MAX))
1661-#endif
1662-
1663-/* Don't include sys/param.h if it already has been. */
1664-#if defined(HAVE_SYS_PARAM_H) && !defined(PATH_MAX) && !defined(MAXPATHLEN)
1665-# include <sys/param.h>
1666-#endif
1667-
1668-#if !defined(PATH_MAX) && defined(MAXPATHLEN)
1669-# define PATH_MAX MAXPATHLEN
1670-#endif
1671-
1672-#ifndef PATH_MAX
1673-# define PATH_MAX _POSIX_PATH_MAX
1674-#endif
1675-
1676-/* XPG3 defines the result of `setlocale (category, NULL)' as:
1677- ``Directs `setlocale()' to query `category' and return the current
1678- setting of `local'.''
1679- However it does not specify the exact format. And even worse: POSIX
1680- defines this not at all. So we can use this feature only on selected
1681- system (e.g. those using GNU C Library). */
1682-#ifdef _LIBC
1683-# define HAVE_LOCALE_NULL
1684-#endif
1685-
1686-/* Name of the default domain used for gettext(3) prior any call to
1687- textdomain(3). The default value for this is "messages". */
1688-const char _nl_default_default_domain[] = "messages";
1689-
1690-/* Value used as the default domain for gettext(3). */
1691-const char *_nl_current_default_domain = _nl_default_default_domain;
1692-
1693-/* Contains the default location of the message catalogs. */
1694-const char _nl_default_dirname[] = GNULOCALEDIR;
1695-
1696-/* List with bindings of specific domains created by bindtextdomain()
1697- calls. */
1698-struct binding *_nl_domain_bindings;
1699-
1700-/* Prototypes for local functions. */
1701-static char *find_msg PARAMS ((struct loaded_l10nfile *domain_file,
1702- const char *msgid));
1703-static const char *category_to_name PARAMS ((int category));
1704-static const char *guess_category_value PARAMS ((int category,
1705- const char *categoryname));
1706-
1707-
1708-/* For those loosing systems which don't have `alloca' we have to add
1709- some additional code emulating it. */
1710-#ifdef HAVE_ALLOCA
1711-/* Nothing has to be done. */
1712-# define ADD_BLOCK(list, address) /* nothing */
1713-# define FREE_BLOCKS(list) /* nothing */
1714-#else
1715-struct block_list
1716-{
1717- void *address;
1718- struct block_list *next;
1719-};
1720-# define ADD_BLOCK(list, addr) \
1721- do { \
1722- struct block_list *newp = (struct block_list *) malloc (sizeof (*newp)); \
1723- /* If we cannot get a free block we cannot add the new element to \
1724- the list. */ \
1725- if (newp != NULL) { \
1726- newp->address = (addr); \
1727- newp->next = (list); \
1728- (list) = newp; \
1729- } \
1730- } while (0)
1731-# define FREE_BLOCKS(list) \
1732- do { \
1733- while (list != NULL) { \
1734- struct block_list *old = list; \
1735- list = list->next; \
1736- free (old); \
1737- } \
1738- } while (0)
1739-# undef alloca
1740-# define alloca(size) (malloc (size))
1741-#endif /* have alloca */
1742-
1743-
1744-/* Names for the libintl functions are a problem. They must not clash
1745- with existing names and they should follow ANSI C. But this source
1746- code is also used in GNU C Library where the names have a __
1747- prefix. So we have to make a difference here. */
1748-#ifdef _LIBC
1749-# define DCGETTEXT __dcgettext
1750-#else
1751-# define DCGETTEXT dcgettext__
1752-#endif
1753-
1754-/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY
1755- locale. */
1756-char *
1757-DCGETTEXT (domainname, msgid, category)
1758- const char *domainname;
1759- const char *msgid;
1760- int category;
1761-{
1762-#ifndef HAVE_ALLOCA
1763- struct block_list *block_list = NULL;
1764-#endif
1765- struct loaded_l10nfile *domain;
1766- struct binding *binding;
1767- const char *categoryname;
1768- const char *categoryvalue;
1769- char *dirname, *xdomainname;
1770- char *single_locale;
1771- char *retval;
1772- int saved_errno = errno;
1773-
1774- /* If no real MSGID is given return NULL. */
1775- if (msgid == NULL)
1776- return NULL;
1777-
1778- /* If DOMAINNAME is NULL, we are interested in the default domain. If
1779- CATEGORY is not LC_MESSAGES this might not make much sense but the
1780- defintion left this undefined. */
1781- if (domainname == NULL)
1782- domainname = _nl_current_default_domain;
1783-
1784- /* First find matching binding. */
1785- for (binding = _nl_domain_bindings; binding != NULL; binding = binding->next)
1786- {
1787- int compare = strcmp (domainname, binding->domainname);
1788- if (compare == 0)
1789- /* We found it! */
1790- break;
1791- if (compare < 0)
1792- {
1793- /* It is not in the list. */
1794- binding = NULL;
1795- break;
1796- }
1797- }
1798-
1799- if (binding == NULL)
1800- dirname = (char *) _nl_default_dirname;
1801- else if (binding->dirname[0] == '/')
1802- dirname = binding->dirname;
1803- else
1804- {
1805- /* We have a relative path. Make it absolute now. */
1806- size_t dirname_len = strlen (binding->dirname) + 1;
1807- size_t path_max;
1808- char *ret;
1809-
1810- path_max = (unsigned) PATH_MAX;
1811- path_max += 2; /* The getcwd docs say to do this. */
1812-
1813- dirname = (char *) alloca (path_max + dirname_len);
1814- ADD_BLOCK (block_list, dirname);
1815-
1816- __set_errno (0);
1817- while ((ret = getcwd (dirname, path_max)) == NULL && errno == ERANGE)
1818- {
1819- path_max += PATH_INCR;
1820- dirname = (char *) alloca (path_max + dirname_len);
1821- ADD_BLOCK (block_list, dirname);
1822- __set_errno (0);
1823- }
1824-
1825- if (ret == NULL)
1826- {
1827- /* We cannot get the current working directory. Don't signal an
1828- error but simply return the default string. */
1829- FREE_BLOCKS (block_list);
1830- __set_errno (saved_errno);
1831- return (char *) msgid;
1832- }
1833-
1834- stpcpy (stpcpy (strchr (dirname, '\0'), "/"), binding->dirname);
1835- }
1836-
1837- /* Now determine the symbolic name of CATEGORY and its value. */
1838- categoryname = category_to_name (category);
1839- categoryvalue = guess_category_value (category, categoryname);
1840-
1841- xdomainname = (char *) alloca (strlen (categoryname)
1842- + strlen (domainname) + 5);
1843- ADD_BLOCK (block_list, xdomainname);
1844-
1845- stpcpy (stpcpy (stpcpy (stpcpy (xdomainname, categoryname), "/"),
1846- domainname),
1847- ".mo");
1848-
1849- /* Creating working area. */
1850- single_locale = (char *) alloca (strlen (categoryvalue) + 1);
1851- ADD_BLOCK (block_list, single_locale);
1852-
1853-
1854- /* Search for the given string. This is a loop because we perhaps
1855- got an ordered list of languages to consider for th translation. */
1856- while (1)
1857- {
1858- /* Make CATEGORYVALUE point to the next element of the list. */
1859- while (categoryvalue[0] != '\0' && categoryvalue[0] == ':')
1860- ++categoryvalue;
1861- if (categoryvalue[0] == '\0')
1862- {
1863- /* The whole contents of CATEGORYVALUE has been searched but
1864- no valid entry has been found. We solve this situation
1865- by implicitly appending a "C" entry, i.e. no translation
1866- will take place. */
1867- single_locale[0] = 'C';
1868- single_locale[1] = '\0';
1869- }
1870- else
1871- {
1872- char *cp = single_locale;
1873- while (categoryvalue[0] != '\0' && categoryvalue[0] != ':')
1874- *cp++ = *categoryvalue++;
1875- *cp = '\0';
1876- }
1877-
1878- /* If the current locale value is C (or POSIX) we don't load a
1879- domain. Return the MSGID. */
1880- if (strcmp (single_locale, "C") == 0
1881- || strcmp (single_locale, "POSIX") == 0)
1882- {
1883- FREE_BLOCKS (block_list);
1884- __set_errno (saved_errno);
1885- return (char *) msgid;
1886- }
1887-
1888-
1889- /* Find structure describing the message catalog matching the
1890- DOMAINNAME and CATEGORY. */
1891- domain = _nl_find_domain (dirname, single_locale, xdomainname);
1892-
1893- if (domain != NULL)
1894- {
1895- retval = find_msg (domain, msgid);
1896-
1897- if (retval == NULL)
1898- {
1899- int cnt;
1900-
1901- for (cnt = 0; domain->successor[cnt] != NULL; ++cnt)
1902- {
1903- retval = find_msg (domain->successor[cnt], msgid);
1904-
1905- if (retval != NULL)
1906- break;
1907- }
1908- }
1909-
1910- if (retval != NULL)
1911- {
1912- FREE_BLOCKS (block_list);
1913- __set_errno (saved_errno);
1914- return retval;
1915- }
1916- }
1917- }
1918- /* NOTREACHED */
1919-}
1920-
1921-#ifdef _LIBC
1922-/* Alias for function name in GNU C Library. */
1923-weak_alias (__dcgettext, dcgettext);
1924-#endif
1925-
1926-
1927-static char *
1928-find_msg (domain_file, msgid)
1929- struct loaded_l10nfile *domain_file;
1930- const char *msgid;
1931-{
1932- size_t top, act, bottom;
1933- struct loaded_domain *domain;
1934-
1935- if (domain_file->decided == 0)
1936- _nl_load_domain (domain_file);
1937-
1938- if (domain_file->data == NULL)
1939- return NULL;
1940-
1941- domain = (struct loaded_domain *) domain_file->data;
1942-
1943- /* Locate the MSGID and its translation. */
1944- if (domain->hash_size > 2 && domain->hash_tab != NULL)
1945- {
1946- /* Use the hashing table. */
1947- nls_uint32 len = strlen (msgid);
1948- nls_uint32 hash_val = hash_string (msgid);
1949- nls_uint32 idx = hash_val % domain->hash_size;
1950- nls_uint32 incr = 1 + (hash_val % (domain->hash_size - 2));
1951- nls_uint32 nstr = W (domain->must_swap, domain->hash_tab[idx]);
1952-
1953- if (nstr == 0)
1954- /* Hash table entry is empty. */
1955- return NULL;
1956-
1957- if (W (domain->must_swap, domain->orig_tab[nstr - 1].length) == len
1958- && strcmp (msgid,
1959- domain->data + W (domain->must_swap,
1960- domain->orig_tab[nstr - 1].offset)) == 0)
1961- return (char *) domain->data + W (domain->must_swap,
1962- domain->trans_tab[nstr - 1].offset);
1963-
1964- while (1)
1965- {
1966- if (idx >= domain->hash_size - incr)
1967- idx -= domain->hash_size - incr;
1968- else
1969- idx += incr;
1970-
1971- nstr = W (domain->must_swap, domain->hash_tab[idx]);
1972- if (nstr == 0)
1973- /* Hash table entry is empty. */
1974- return NULL;
1975-
1976- if (W (domain->must_swap, domain->orig_tab[nstr - 1].length) == len
1977- && strcmp (msgid,
1978- domain->data + W (domain->must_swap,
1979- domain->orig_tab[nstr - 1].offset))
1980- == 0)
1981- return (char *) domain->data
1982- + W (domain->must_swap, domain->trans_tab[nstr - 1].offset);
1983- }
1984- /* NOTREACHED */
1985- }
1986-
1987- /* Now we try the default method: binary search in the sorted
1988- array of messages. */
1989- bottom = 0;
1990- top = domain->nstrings;
1991- while (bottom < top)
1992- {
1993- int cmp_val;
1994-
1995- act = (bottom + top) / 2;
1996- cmp_val = strcmp (msgid, domain->data
1997- + W (domain->must_swap,
1998- domain->orig_tab[act].offset));
1999- if (cmp_val < 0)
2000- top = act;
2001- else if (cmp_val > 0)
2002- bottom = act + 1;
2003- else
2004- break;
2005- }
2006-
2007- /* If an translation is found return this. */
2008- return bottom >= top ? NULL : (char *) domain->data
2009- + W (domain->must_swap,
2010- domain->trans_tab[act].offset);
2011-}
2012-
2013-
2014-/* Return string representation of locale CATEGORY. */
2015-static const char *
2016-category_to_name (category)
2017- int category;
2018-{
2019- const char *retval;
2020-
2021- switch (category)
2022- {
2023-#ifdef LC_COLLATE
2024- case LC_COLLATE:
2025- retval = "LC_COLLATE";
2026- break;
2027-#endif
2028-#ifdef LC_CTYPE
2029- case LC_CTYPE:
2030- retval = "LC_CTYPE";
2031- break;
2032-#endif
2033-#ifdef LC_MONETARY
2034- case LC_MONETARY:
2035- retval = "LC_MONETARY";
2036- break;
2037-#endif
2038-#ifdef LC_NUMERIC
2039- case LC_NUMERIC:
2040- retval = "LC_NUMERIC";
2041- break;
2042-#endif
2043-#ifdef LC_TIME
2044- case LC_TIME:
2045- retval = "LC_TIME";
2046- break;
2047-#endif
2048-#ifdef LC_MESSAGES
2049- case LC_MESSAGES:
2050- retval = "LC_MESSAGES";
2051- break;
2052-#endif
2053-#ifdef LC_RESPONSE
2054- case LC_RESPONSE:
2055- retval = "LC_RESPONSE";
2056- break;
2057-#endif
2058-#ifdef LC_ALL
2059- case LC_ALL:
2060- /* This might not make sense but is perhaps better than any other
2061- value. */
2062- retval = "LC_ALL";
2063- break;
2064-#endif
2065- default:
2066- /* If you have a better idea for a default value let me know. */
2067- retval = "LC_XXX";
2068- }
2069-
2070- return retval;
2071-}
2072-
2073-/* Guess value of current locale from value of the environment variables. */
2074-static const char *
2075-guess_category_value (category, categoryname)
2076- int category;
2077- const char *categoryname;
2078-{
2079- const char *retval;
2080-
2081- /* The highest priority value is the `LANGUAGE' environment
2082- variable. This is a GNU extension. */
2083- retval = getenv ("LANGUAGE");
2084- if (retval != NULL && retval[0] != '\0')
2085- return retval;
2086-
2087- /* `LANGUAGE' is not set. So we have to proceed with the POSIX
2088- methods of looking to `LC_ALL', `LC_xxx', and `LANG'. On some
2089- systems this can be done by the `setlocale' function itself. */
2090-#if defined HAVE_SETLOCALE && defined HAVE_LC_MESSAGES && defined HAVE_LOCALE_NULL
2091- return setlocale (category, NULL);
2092-#else
2093- /* Setting of LC_ALL overwrites all other. */
2094- retval = getenv ("LC_ALL");
2095- if (retval != NULL && retval[0] != '\0')
2096- return retval;
2097-
2098- /* Next comes the name of the desired category. */
2099- retval = getenv (categoryname);
2100- if (retval != NULL && retval[0] != '\0')
2101- return retval;
2102-
2103- /* Last possibility is the LANG environment variable. */
2104- retval = getenv ("LANG");
2105- if (retval != NULL && retval[0] != '\0')
2106- return retval;
2107-
2108- /* We use C as the default domain. POSIX says this is implementation
2109- defined. */
2110- return "C";
2111-#endif
2112-}
2113-
2114-/* @@ begin of epilog @@ */
2115-
2116-/* We don't want libintl.a to depend on any other library. So we
2117- avoid the non-standard function stpcpy. In GNU C Library this
2118- function is available, though. Also allow the symbol HAVE_STPCPY
2119- to be defined. */
2120-#if !_LIBC && !HAVE_STPCPY
2121-static char *
2122-stpcpy (dest, src)
2123- char *dest;
2124- const char *src;
2125-{
2126- while ((*dest++ = *src++) != '\0')
2127- /* Do nothing. */ ;
2128- return dest - 1;
2129-}
2130-#endif
2131diff -uprN clean/lrzsz-0.12.20/intl/dgettext.c lrzsz-0.12.20/intl/dgettext.c
2132--- clean/lrzsz-0.12.20/intl/dgettext.c 1998-04-26 14:20:52.000000000 +0100
2133+++ lrzsz-0.12.20/intl/dgettext.c 1970-01-01 01:00:00.000000000 +0100
2134@@ -1,59 +0,0 @@
2135-/* dgettext.c -- implementation of the dgettext(3) function
2136- Copyright (C) 1995 Software Foundation, Inc.
2137-
2138-This program is free software; you can redistribute it and/or modify
2139-it under the terms of the GNU General Public License as published by
2140-the Free Software Foundation; either version 2, or (at your option)
2141-any later version.
2142-
2143-This program is distributed in the hope that it will be useful,
2144-but WITHOUT ANY WARRANTY; without even the implied warranty of
2145-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2146-GNU General Public License for more details.
2147-
2148-You should have received a copy of the GNU General Public License
2149-along with this program; if not, write to the Free Software
2150-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
2151-
2152-#ifdef HAVE_CONFIG_H
2153-# include <config.h>
2154-#endif
2155-
2156-#if defined HAVE_LOCALE_H || defined _LIBC
2157-# include <locale.h>
2158-#endif
2159-
2160-#ifdef _LIBC
2161-# include <libintl.h>
2162-#else
2163-# include "libgettext.h"
2164-#endif
2165-
2166-/* @@ end of prolog @@ */
2167-
2168-/* Names for the libintl functions are a problem. They must not clash
2169- with existing names and they should follow ANSI C. But this source
2170- code is also used in GNU C Library where the names have a __
2171- prefix. So we have to make a difference here. */
2172-#ifdef _LIBC
2173-# define DGETTEXT __dgettext
2174-# define DCGETTEXT __dcgettext
2175-#else
2176-# define DGETTEXT dgettext__
2177-# define DCGETTEXT dcgettext__
2178-#endif
2179-
2180-/* Look up MSGID in the DOMAINNAME message catalog of the current
2181- LC_MESSAGES locale. */
2182-char *
2183-DGETTEXT (domainname, msgid)
2184- const char *domainname;
2185- const char *msgid;
2186-{
2187- return DCGETTEXT (domainname, msgid, LC_MESSAGES);
2188-}
2189-
2190-#ifdef _LIBC
2191-/* Alias for function name in GNU C Library. */
2192-weak_alias (__dgettext, dgettext);
2193-#endif
2194diff -uprN clean/lrzsz-0.12.20/intl/explodename.c lrzsz-0.12.20/intl/explodename.c
2195--- clean/lrzsz-0.12.20/intl/explodename.c 1998-04-26 14:22:37.000000000 +0100
2196+++ lrzsz-0.12.20/intl/explodename.c 1970-01-01 01:00:00.000000000 +0100
2197@@ -1,181 +0,0 @@
2198-/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
2199- Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
2200-
2201- This program is free software; you can redistribute it and/or modify
2202- it under the terms of the GNU General Public License as published by
2203- the Free Software Foundation; either version 2, or (at your option)
2204- any later version.
2205-
2206- This program is distributed in the hope that it will be useful,
2207- but WITHOUT ANY WARRANTY; without even the implied warranty of
2208- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2209- GNU General Public License for more details.
2210-
2211- You should have received a copy of the GNU General Public License
2212- along with this program; if not, write to the Free Software Foundation,
2213- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
2214-
2215-#ifdef HAVE_CONFIG_H
2216-# include <config.h>
2217-#endif
2218-
2219-#include <stdlib.h>
2220-#include <string.h>
2221-#include <sys/types.h>
2222-
2223-#include "loadinfo.h"
2224-
2225-/* On some strange systems still no definition of NULL is found. Sigh! */
2226-#ifndef NULL
2227-# if defined __STDC__ && __STDC__
2228-# define NULL ((void *) 0)
2229-# else
2230-# define NULL 0
2231-# endif
2232-#endif
2233-
2234-/* @@ end of prolog @@ */
2235-
2236-int
2237-_nl_explode_name (name, language, modifier, territory, codeset,
2238- normalized_codeset, special, sponsor, revision)
2239- char *name;
2240- const char **language;
2241- const char **modifier;
2242- const char **territory;
2243- const char **codeset;
2244- const char **normalized_codeset;
2245- const char **special;
2246- const char **sponsor;
2247- const char **revision;
2248-{
2249- enum { undecided, xpg, cen } syntax;
2250- char *cp;
2251- int mask;
2252-
2253- *modifier = NULL;
2254- *territory = NULL;
2255- *codeset = NULL;
2256- *normalized_codeset = NULL;
2257- *special = NULL;
2258- *sponsor = NULL;
2259- *revision = NULL;
2260-
2261- /* Now we determine the single parts of the locale name. First
2262- look for the language. Termination symbols are `_' and `@' if
2263- we use XPG4 style, and `_', `+', and `,' if we use CEN syntax. */
2264- mask = 0;
2265- syntax = undecided;
2266- *language = cp = name;
2267- while (cp[0] != '\0' && cp[0] != '_' && cp[0] != '@'
2268- && cp[0] != '+' && cp[0] != ',')
2269- ++cp;
2270-
2271- if (*language == cp)
2272- /* This does not make sense: language has to be specified. Use
2273- this entry as it is without exploding. Perhaps it is an alias. */
2274- cp = strchr (*language, '\0');
2275- else if (cp[0] == '_')
2276- {
2277- /* Next is the territory. */
2278- cp[0] = '\0';
2279- *territory = ++cp;
2280-
2281- while (cp[0] != '\0' && cp[0] != '.' && cp[0] != '@'
2282- && cp[0] != '+' && cp[0] != ',' && cp[0] != '_')
2283- ++cp;
2284-
2285- mask |= TERRITORY;
2286-
2287- if (cp[0] == '.')
2288- {
2289- /* Next is the codeset. */
2290- syntax = xpg;
2291- cp[0] = '\0';
2292- *codeset = ++cp;
2293-
2294- while (cp[0] != '\0' && cp[0] != '@')
2295- ++cp;
2296-
2297- mask |= XPG_CODESET;
2298-
2299- if (*codeset != cp && (*codeset)[0] != '\0')
2300- {
2301- *normalized_codeset = _nl_normalize_codeset (*codeset,
2302- cp - *codeset);
2303- if (strcmp (*codeset, *normalized_codeset) == 0)
2304- free ((char *) *normalized_codeset);
2305- else
2306- mask |= XPG_NORM_CODESET;
2307- }
2308- }
2309- }
2310-
2311- if (cp[0] == '@' || (syntax != xpg && cp[0] == '+'))
2312- {
2313- /* Next is the modifier. */
2314- syntax = cp[0] == '@' ? xpg : cen;
2315- cp[0] = '\0';
2316- *modifier = ++cp;
2317-
2318- while (syntax == cen && cp[0] != '\0' && cp[0] != '+'
2319- && cp[0] != ',' && cp[0] != '_')
2320- ++cp;
2321-
2322- mask |= XPG_MODIFIER | CEN_AUDIENCE;
2323- }
2324-
2325- if (syntax != xpg && (cp[0] == '+' || cp[0] == ',' || cp[0] == '_'))
2326- {
2327- syntax = cen;
2328-
2329- if (cp[0] == '+')
2330- {
2331- /* Next is special application (CEN syntax). */
2332- cp[0] = '\0';
2333- *special = ++cp;
2334-
2335- while (cp[0] != '\0' && cp[0] != ',' && cp[0] != '_')
2336- ++cp;
2337-
2338- mask |= CEN_SPECIAL;
2339- }
2340-
2341- if (cp[0] == ',')
2342- {
2343- /* Next is sponsor (CEN syntax). */
2344- cp[0] = '\0';
2345- *sponsor = ++cp;
2346-
2347- while (cp[0] != '\0' && cp[0] != '_')
2348- ++cp;
2349-
2350- mask |= CEN_SPONSOR;
2351- }
2352-
2353- if (cp[0] == '_')
2354- {
2355- /* Next is revision (CEN syntax). */
2356- cp[0] = '\0';
2357- *revision = ++cp;
2358-
2359- mask |= CEN_REVISION;
2360- }
2361- }
2362-
2363- /* For CEN syntax values it might be important to have the
2364- separator character in the file name, not for XPG syntax. */
2365- if (syntax == xpg)
2366- {
2367- if (*territory != NULL && (*territory)[0] == '\0')
2368- mask &= ~TERRITORY;
2369-
2370- if (*codeset != NULL && (*codeset)[0] == '\0')
2371- mask &= ~XPG_CODESET;
2372-
2373- if (*modifier != NULL && (*modifier)[0] == '\0')
2374- mask &= ~XPG_MODIFIER;
2375- }
2376-
2377- return mask;
2378-}
2379diff -uprN clean/lrzsz-0.12.20/intl/finddomain.c lrzsz-0.12.20/intl/finddomain.c
2380--- clean/lrzsz-0.12.20/intl/finddomain.c 1998-04-26 14:22:36.000000000 +0100
2381+++ lrzsz-0.12.20/intl/finddomain.c 1970-01-01 01:00:00.000000000 +0100
2382@@ -1,189 +0,0 @@
2383-/* Handle list of needed message catalogs
2384- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
2385- Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
2386-
2387- This program is free software; you can redistribute it and/or modify
2388- it under the terms of the GNU General Public License as published by
2389- the Free Software Foundation; either version 2, or (at your option)
2390- any later version.
2391-
2392- This program is distributed in the hope that it will be useful,
2393- but WITHOUT ANY WARRANTY; without even the implied warranty of
2394- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2395- GNU General Public License for more details.
2396-
2397- You should have received a copy of the GNU General Public License
2398- along with this program; if not, write to the Free Software Foundation,
2399- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
2400-
2401-#ifdef HAVE_CONFIG_H
2402-# include <config.h>
2403-#endif
2404-
2405-#include <ctype.h>
2406-#include <errno.h>
2407-#include <stdio.h>
2408-#include <sys/types.h>
2409-
2410-#if defined STDC_HEADERS || defined _LIBC
2411-# include <stdlib.h>
2412-#else
2413-# ifdef HAVE_MALLOC_H
2414-# include <malloc.h>
2415-# else
2416-void free ();
2417-# endif
2418-#endif
2419-
2420-#if defined HAVE_STRING_H || defined _LIBC
2421-# include <string.h>
2422-#else
2423-# include <strings.h>
2424-# ifndef memcpy
2425-# define memcpy(Dst, Src, Num) bcopy (Src, Dst, Num)
2426-# endif
2427-#endif
2428-#if !HAVE_STRCHR && !defined _LIBC
2429-# ifndef strchr
2430-# define strchr index
2431-# endif
2432-#endif
2433-
2434-#if defined HAVE_UNISTD_H || defined _LIBC
2435-# include <unistd.h>
2436-#endif
2437-
2438-#include "gettext.h"
2439-#include "gettextP.h"
2440-#ifdef _LIBC
2441-# include <libintl.h>
2442-#else
2443-# include "libgettext.h"
2444-#endif
2445-
2446-/* @@ end of prolog @@ */
2447-/* List of already loaded domains. */
2448-static struct loaded_l10nfile *_nl_loaded_domains;
2449-
2450-
2451-/* Return a data structure describing the message catalog described by
2452- the DOMAINNAME and CATEGORY parameters with respect to the currently
2453- established bindings. */
2454-struct loaded_l10nfile *
2455-_nl_find_domain (dirname, locale, domainname)
2456- const char *dirname;
2457- char *locale;
2458- const char *domainname;
2459-{
2460- struct loaded_l10nfile *retval;
2461- const char *language;
2462- const char *modifier;
2463- const char *territory;
2464- const char *codeset;
2465- const char *normalized_codeset;
2466- const char *special;
2467- const char *sponsor;
2468- const char *revision;
2469- const char *alias_value;
2470- int mask;
2471-
2472- /* LOCALE can consist of up to four recognized parts for the XPG syntax:
2473-
2474- language[_territory[.codeset]][@modifier]
2475-
2476- and six parts for the CEN syntax:
2477-
2478- language[_territory][+audience][+special][,[sponsor][_revision]]
2479-
2480- Beside the first all of them are allowed to be missing. If the
2481- full specified locale is not found, the less specific one are
2482- looked for. The various part will be stripped of according to
2483- the following order:
2484- (1) revision
2485- (2) sponsor
2486- (3) special
2487- (4) codeset
2488- (5) normalized codeset
2489- (6) territory
2490- (7) audience/modifier
2491- */
2492-
2493- /* If we have already tested for this locale entry there has to
2494- be one data set in the list of loaded domains. */
2495- retval = _nl_make_l10nflist (&_nl_loaded_domains, dirname,
2496- strlen (dirname) + 1, 0, locale, NULL, NULL,
2497- NULL, NULL, NULL, NULL, NULL, domainname, 0);
2498- if (retval != NULL)
2499- {
2500- /* We know something about this locale. */
2501- int cnt;
2502-
2503- if (retval->decided == 0)
2504- _nl_load_domain (retval);
2505-
2506- if (retval->data != NULL)
2507- return retval;
2508-
2509- for (cnt = 0; retval->successor[cnt] != NULL; ++cnt)
2510- {
2511- if (retval->successor[cnt]->decided == 0)
2512- _nl_load_domain (retval->successor[cnt]);
2513-
2514- if (retval->successor[cnt]->data != NULL)
2515- break;
2516- }
2517- return cnt >= 0 ? retval : NULL;
2518- /* NOTREACHED */
2519- }
2520-
2521- /* See whether the locale value is an alias. If yes its value
2522- *overwrites* the alias name. No test for the original value is
2523- done. */
2524- alias_value = _nl_expand_alias (locale);
2525- if (alias_value != NULL)
2526- {
2527- size_t len = strlen (alias_value) + 1;
2528- locale = (char *) malloc (len);
2529- if (locale == NULL)
2530- return NULL;
2531-
2532- memcpy (locale, alias_value, len);
2533- }
2534-
2535- /* Now we determine the single parts of the locale name. First
2536- look for the language. Termination symbols are `_' and `@' if
2537- we use XPG4 style, and `_', `+', and `,' if we use CEN syntax. */
2538- mask = _nl_explode_name (locale, &language, &modifier, &territory,
2539- &codeset, &normalized_codeset, &special,
2540- &sponsor, &revision);
2541-
2542- /* Create all possible locale entries which might be interested in
2543- generalization. */
2544- retval = _nl_make_l10nflist (&_nl_loaded_domains, dirname,
2545- strlen (dirname) + 1, mask, language, territory,
2546- codeset, normalized_codeset, modifier, special,
2547- sponsor, revision, domainname, 1);
2548- if (retval == NULL)
2549- /* This means we are out of core. */
2550- return NULL;
2551-
2552- if (retval->decided == 0)
2553- _nl_load_domain (retval);
2554- if (retval->data == NULL)
2555- {
2556- int cnt;
2557- for (cnt = 0; retval->successor[cnt] != NULL; ++cnt)
2558- {
2559- if (retval->successor[cnt]->decided == 0)
2560- _nl_load_domain (retval->successor[cnt]);
2561- if (retval->successor[cnt]->data != NULL)
2562- break;
2563- }
2564- }
2565-
2566- /* The room for an alias was dynamically allocated. Free it now. */
2567- if (alias_value != NULL)
2568- free (locale);
2569-
2570- return retval;
2571-}
2572diff -uprN clean/lrzsz-0.12.20/intl/gettext.c lrzsz-0.12.20/intl/gettext.c
2573--- clean/lrzsz-0.12.20/intl/gettext.c 1998-04-26 14:22:36.000000000 +0100
2574+++ lrzsz-0.12.20/intl/gettext.c 1970-01-01 01:00:00.000000000 +0100
2575@@ -1,70 +0,0 @@
2576-/* Implementation of gettext(3) function
2577- Copyright (C) 1995, 1997 Free Software Foundation, Inc.
2578-
2579- This program is free software; you can redistribute it and/or modify
2580- it under the terms of the GNU General Public License as published by
2581- the Free Software Foundation; either version 2, or (at your option)
2582- any later version.
2583-
2584- This program is distributed in the hope that it will be useful,
2585- but WITHOUT ANY WARRANTY; without even the implied warranty of
2586- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2587- GNU General Public License for more details.
2588-
2589- You should have received a copy of the GNU General Public License
2590- along with this program; if not, write to the Free Software Foundation,
2591- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
2592-
2593-#ifdef HAVE_CONFIG_H
2594-# include <config.h>
2595-#endif
2596-
2597-#ifdef _LIBC
2598-# define __need_NULL
2599-# include <stddef.h>
2600-#else
2601-# ifdef STDC_HEADERS
2602-# include <stdlib.h> /* Just for NULL. */
2603-# else
2604-# ifdef HAVE_STRING_H
2605-# include <string.h>
2606-# else
2607-# define NULL ((void *) 0)
2608-# endif
2609-# endif
2610-#endif
2611-
2612-#ifdef _LIBC
2613-# include <libintl.h>
2614-#else
2615-# include "libgettext.h"
2616-#endif
2617-
2618-/* @@ end of prolog @@ */
2619-
2620-/* Names for the libintl functions are a problem. They must not clash
2621- with existing names and they should follow ANSI C. But this source
2622- code is also used in GNU C Library where the names have a __
2623- prefix. So we have to make a difference here. */
2624-#ifdef _LIBC
2625-# define GETTEXT __gettext
2626-# define DGETTEXT __dgettext
2627-#else
2628-# define GETTEXT gettext__
2629-# define DGETTEXT dgettext__
2630-#endif
2631-
2632-/* Look up MSGID in the current default message catalog for the current
2633- LC_MESSAGES locale. If not found, returns MSGID itself (the default
2634- text). */
2635-char *
2636-GETTEXT (msgid)
2637- const char *msgid;
2638-{
2639- return DGETTEXT (NULL, msgid);
2640-}
2641-
2642-#ifdef _LIBC
2643-/* Alias for function name in GNU C Library. */
2644-weak_alias (__gettext, gettext);
2645-#endif
2646diff -uprN clean/lrzsz-0.12.20/intl/gettext.h lrzsz-0.12.20/intl/gettext.h
2647--- clean/lrzsz-0.12.20/intl/gettext.h 1998-04-26 14:22:35.000000000 +0100
2648+++ lrzsz-0.12.20/intl/gettext.h 1970-01-01 01:00:00.000000000 +0100
2649@@ -1,105 +0,0 @@
2650-/* Internal header for GNU gettext internationalization functions
2651- Copyright (C) 1995, 1997 Free Software Foundation, Inc.
2652-
2653- This program is free software; you can redistribute it and/or modify
2654- it under the terms of the GNU General Public License as published by
2655- the Free Software Foundation; either version 2, or (at your option)
2656- any later version.
2657-
2658- This program is distributed in the hope that it will be useful,
2659- but WITHOUT ANY WARRANTY; without even the implied warranty of
2660- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2661- GNU General Public License for more details.
2662-
2663- You should have received a copy of the GNU Library General Public
2664- License along with the GNU C Library; see the file COPYING.LIB. If not,
2665- write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
2666- Boston, MA 02111-1307, USA. */
2667-
2668-#ifndef _GETTEXT_H
2669-#define _GETTEXT_H 1
2670-
2671-#include <stdio.h>
2672-
2673-#if HAVE_LIMITS_H || _LIBC
2674-# include <limits.h>
2675-#endif
2676-
2677-/* @@ end of prolog @@ */
2678-
2679-/* The magic number of the GNU message catalog format. */
2680-#define _MAGIC 0x950412de
2681-#define _MAGIC_SWAPPED 0xde120495
2682-
2683-/* Revision number of the currently used .mo (binary) file format. */
2684-#define MO_REVISION_NUMBER 0
2685-
2686-/* The following contortions are an attempt to use the C preprocessor
2687- to determine an unsigned integral type that is 32 bits wide. An
2688- alternative approach is to use autoconf's AC_CHECK_SIZEOF macro, but
2689- doing that would require that the configure script compile and *run*
2690- the resulting executable. Locally running cross-compiled executables
2691- is usually not possible. */
2692-
2693-#if __STDC__
2694-# define UINT_MAX_32_BITS 4294967295U
2695-#else
2696-# define UINT_MAX_32_BITS 0xFFFFFFFF
2697-#endif
2698-
2699-/* If UINT_MAX isn't defined, assume it's a 32-bit type.
2700- This should be valid for all systems GNU cares about because
2701- that doesn't include 16-bit systems, and only modern systems
2702- (that certainly have <limits.h>) have 64+-bit integral types. */
2703-
2704-#ifndef UINT_MAX
2705-# define UINT_MAX UINT_MAX_32_BITS
2706-#endif
2707-
2708-#if UINT_MAX == UINT_MAX_32_BITS
2709-typedef unsigned nls_uint32;
2710-#else
2711-# if USHRT_MAX == UINT_MAX_32_BITS
2712-typedef unsigned short nls_uint32;
2713-# else
2714-# if ULONG_MAX == UINT_MAX_32_BITS
2715-typedef unsigned long nls_uint32;
2716-# else
2717- /* The following line is intended to throw an error. Using #error is
2718- not portable enough. */
2719- "Cannot determine unsigned 32-bit data type."
2720-# endif
2721-# endif
2722-#endif
2723-
2724-
2725-/* Header for binary .mo file format. */
2726-struct mo_file_header
2727-{
2728- /* The magic number. */
2729- nls_uint32 magic;
2730- /* The revision number of the file format. */
2731- nls_uint32 revision;
2732- /* The number of strings pairs. */
2733- nls_uint32 nstrings;
2734- /* Offset of table with start offsets of original strings. */
2735- nls_uint32 orig_tab_offset;
2736- /* Offset of table with start offsets of translation strings. */
2737- nls_uint32 trans_tab_offset;
2738- /* Size of hashing table. */
2739- nls_uint32 hash_tab_size;
2740- /* Offset of first hashing entry. */
2741- nls_uint32 hash_tab_offset;
2742-};
2743-
2744-struct string_desc
2745-{
2746- /* Length of addressed string. */
2747- nls_uint32 length;
2748- /* Offset of string in file. */
2749- nls_uint32 offset;
2750-};
2751-
2752-/* @@ begin of epilog @@ */
2753-
2754-#endif /* gettext.h */
2755diff -uprN clean/lrzsz-0.12.20/intl/gettextP.h lrzsz-0.12.20/intl/gettextP.h
2756--- clean/lrzsz-0.12.20/intl/gettextP.h 1998-04-26 14:22:35.000000000 +0100
2757+++ lrzsz-0.12.20/intl/gettextP.h 1970-01-01 01:00:00.000000000 +0100
2758@@ -1,73 +0,0 @@
2759-/* Header describing internals of gettext library
2760- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
2761-
2762- This program is free software; you can redistribute it and/or modify
2763- it under the terms of the GNU General Public License as published by
2764- the Free Software Foundation; either version 2, or (at your option)
2765- any later version.
2766-
2767- This program is distributed in the hope that it will be useful,
2768- but WITHOUT ANY WARRANTY; without even the implied warranty of
2769- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2770- GNU General Public License for more details.
2771-
2772- You should have received a copy of the GNU General Public License
2773- along with this program; if not, write to the Free Software Foundation,
2774- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
2775-
2776-#ifndef _GETTEXTP_H
2777-#define _GETTEXTP_H
2778-
2779-#include "loadinfo.h"
2780-
2781-/* @@ end of prolog @@ */
2782-
2783-#ifndef PARAMS
2784-# if __STDC__
2785-# define PARAMS(args) args
2786-# else
2787-# define PARAMS(args) ()
2788-# endif
2789-#endif
2790-
2791-#ifndef W
2792-# define W(flag, data) ((flag) ? SWAP (data) : (data))
2793-#endif
2794-
2795-
2796-static nls_uint32 SWAP PARAMS ((nls_uint32 i));
2797-
2798-static inline nls_uint32
2799-SWAP (i)
2800- nls_uint32 i;
2801-{
2802- return (i << 24) | ((i & 0xff00) << 8) | ((i >> 8) & 0xff00) | (i >> 24);
2803-}
2804-
2805-
2806-struct loaded_domain
2807-{
2808- const char *data;
2809- int must_swap;
2810- nls_uint32 nstrings;
2811- struct string_desc *orig_tab;
2812- struct string_desc *trans_tab;
2813- nls_uint32 hash_size;
2814- nls_uint32 *hash_tab;
2815-};
2816-
2817-struct binding
2818-{
2819- struct binding *next;
2820- char *domainname;
2821- char *dirname;
2822-};
2823-
2824-struct loaded_l10nfile *_nl_find_domain PARAMS ((const char *__dirname,
2825- char *__locale,
2826- const char *__domainname));
2827-void _nl_load_domain PARAMS ((struct loaded_l10nfile *__domain));
2828-
2829-/* @@ begin of epilog @@ */
2830-
2831-#endif /* gettextP.h */
2832diff -uprN clean/lrzsz-0.12.20/intl/hash-string.h lrzsz-0.12.20/intl/hash-string.h
2833--- clean/lrzsz-0.12.20/intl/hash-string.h 1998-04-26 14:22:36.000000000 +0100
2834+++ lrzsz-0.12.20/intl/hash-string.h 1970-01-01 01:00:00.000000000 +0100
2835@@ -1,63 +0,0 @@
2836-/* Implements a string hashing function.
2837- Copyright (C) 1995, 1997 Free Software Foundation, Inc.
2838-
2839- This program is free software; you can redistribute it and/or modify
2840- it under the terms of the GNU General Public License as published by
2841- the Free Software Foundation; either version 2, or (at your option)
2842- any later version.
2843-
2844- This program is distributed in the hope that it will be useful,
2845- but WITHOUT ANY WARRANTY; without even the implied warranty of
2846- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2847- GNU General Public License for more details.
2848-
2849- You should have received a copy of the GNU Library General Public
2850- License along with the GNU C Library; see the file COPYING.LIB. If not,
2851- write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
2852- Boston, MA 02111-1307, USA. */
2853-
2854-#ifdef HAVE_VALUES_H
2855-# include <values.h>
2856-#endif
2857-
2858-/* @@ end of prolog @@ */
2859-
2860-#ifndef PARAMS
2861-# if __STDC__
2862-# define PARAMS(Args) Args
2863-# else
2864-# define PARAMS(Args) ()
2865-# endif
2866-#endif
2867-
2868-/* We assume to have `unsigned long int' value with at least 32 bits. */
2869-#define HASHWORDBITS 32
2870-
2871-
2872-/* Defines the so called `hashpjw' function by P.J. Weinberger
2873- [see Aho/Sethi/Ullman, COMPILERS: Principles, Techniques and Tools,
2874- 1986, 1987 Bell Telephone Laboratories, Inc.] */
2875-static unsigned long hash_string PARAMS ((const char *__str_param));
2876-
2877-static inline unsigned long
2878-hash_string (str_param)
2879- const char *str_param;
2880-{
2881- unsigned long int hval, g;
2882- const char *str = str_param;
2883-
2884- /* Compute the hash value for the given string. */
2885- hval = 0;
2886- while (*str != '\0')
2887- {
2888- hval <<= 4;
2889- hval += (unsigned long) *str++;
2890- g = hval & ((unsigned long) 0xf << (HASHWORDBITS - 4));
2891- if (g != 0)
2892- {
2893- hval ^= g >> (HASHWORDBITS - 8);
2894- hval ^= g;
2895- }
2896- }
2897- return hval;
2898-}
2899diff -uprN clean/lrzsz-0.12.20/intl/intl-compat.c lrzsz-0.12.20/intl/intl-compat.c
2900--- clean/lrzsz-0.12.20/intl/intl-compat.c 1998-04-26 14:20:52.000000000 +0100
2901+++ lrzsz-0.12.20/intl/intl-compat.c 1970-01-01 01:00:00.000000000 +0100
2902@@ -1,76 +0,0 @@
2903-/* intl-compat.c - Stub functions to call gettext functions from GNU gettext
2904- Library.
2905- Copyright (C) 1995 Software Foundation, Inc.
2906-
2907-This program is free software; you can redistribute it and/or modify
2908-it under the terms of the GNU General Public License as published by
2909-the Free Software Foundation; either version 2, or (at your option)
2910-any later version.
2911-
2912-This program is distributed in the hope that it will be useful,
2913-but WITHOUT ANY WARRANTY; without even the implied warranty of
2914-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2915-GNU General Public License for more details.
2916-
2917-You should have received a copy of the GNU General Public License
2918-along with this program; if not, write to the Free Software
2919-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
2920-
2921-#ifdef HAVE_CONFIG_H
2922-# include <config.h>
2923-#endif
2924-
2925-#include "libgettext.h"
2926-
2927-/* @@ end of prolog @@ */
2928-
2929-
2930-#undef gettext
2931-#undef dgettext
2932-#undef dcgettext
2933-#undef textdomain
2934-#undef bindtextdomain
2935-
2936-
2937-char *
2938-bindtextdomain (domainname, dirname)
2939- const char *domainname;
2940- const char *dirname;
2941-{
2942- return bindtextdomain__ (domainname, dirname);
2943-}
2944-
2945-
2946-char *
2947-dcgettext (domainname, msgid, category)
2948- const char *domainname;
2949- const char *msgid;
2950- int category;
2951-{
2952- return dcgettext__ (domainname, msgid, category);
2953-}
2954-
2955-
2956-char *
2957-dgettext (domainname, msgid)
2958- const char *domainname;
2959- const char *msgid;
2960-{
2961- return dgettext__ (domainname, msgid);
2962-}
2963-
2964-
2965-char *
2966-gettext (msgid)
2967- const char *msgid;
2968-{
2969- return gettext__ (msgid);
2970-}
2971-
2972-
2973-char *
2974-textdomain (domainname)
2975- const char *domainname;
2976-{
2977- return textdomain__ (domainname);
2978-}
2979diff -uprN clean/lrzsz-0.12.20/intl/l10nflist.c lrzsz-0.12.20/intl/l10nflist.c
2980--- clean/lrzsz-0.12.20/intl/l10nflist.c 1998-04-26 14:22:37.000000000 +0100
2981+++ lrzsz-0.12.20/intl/l10nflist.c 1970-01-01 01:00:00.000000000 +0100
2982@@ -1,409 +0,0 @@
2983-/* Handle list of needed message catalogs
2984- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
2985- Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
2986-
2987- This program is free software; you can redistribute it and/or modify
2988- it under the terms of the GNU General Public License as published by
2989- the Free Software Foundation; either version 2, or (at your option)
2990- any later version.
2991-
2992- This program is distributed in the hope that it will be useful,
2993- but WITHOUT ANY WARRANTY; without even the implied warranty of
2994- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2995- GNU General Public License for more details.
2996-
2997- You should have received a copy of the GNU General Public License
2998- along with this program; if not, write to the Free Software Foundation,
2999- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
3000-
3001-#ifdef HAVE_CONFIG_H
3002-# include <config.h>
3003-#endif
3004-
3005-
3006-#if defined HAVE_STRING_H || defined _LIBC
3007-# ifndef _GNU_SOURCE
3008-# define _GNU_SOURCE 1
3009-# endif
3010-# include <string.h>
3011-#else
3012-# include <strings.h>
3013-# ifndef memcpy
3014-# define memcpy(Dst, Src, Num) bcopy (Src, Dst, Num)
3015-# endif
3016-#endif
3017-#if !HAVE_STRCHR && !defined _LIBC
3018-# ifndef strchr
3019-# define strchr index
3020-# endif
3021-#endif
3022-
3023-#if defined _LIBC || defined HAVE_ARGZ_H
3024-# include <argz.h>
3025-#endif
3026-#include <ctype.h>
3027-#include <sys/types.h>
3028-
3029-#if defined STDC_HEADERS || defined _LIBC
3030-# include <stdlib.h>
3031-#endif
3032-
3033-#include "loadinfo.h"
3034-
3035-/* On some strange systems still no definition of NULL is found. Sigh! */
3036-#ifndef NULL
3037-# if defined __STDC__ && __STDC__
3038-# define NULL ((void *) 0)
3039-# else
3040-# define NULL 0
3041-# endif
3042-#endif
3043-
3044-/* @@ end of prolog @@ */
3045-
3046-#ifdef _LIBC
3047-/* Rename the non ANSI C functions. This is required by the standard
3048- because some ANSI C functions will require linking with this object
3049- file and the name space must not be polluted. */
3050-# define stpcpy(dest, src) __stpcpy(dest, src)
3051-#else
3052-# ifndef HAVE_STPCPY
3053-static char *stpcpy PARAMS ((char *dest, const char *src));
3054-# endif
3055-#endif
3056-
3057-/* Define function which are usually not available. */
3058-
3059-#if !defined _LIBC && !defined HAVE___ARGZ_COUNT
3060-/* Returns the number of strings in ARGZ. */
3061-static size_t argz_count__ PARAMS ((const char *argz, size_t len));
3062-
3063-static size_t
3064-argz_count__ (argz, len)
3065- const char *argz;
3066- size_t len;
3067-{
3068- size_t count = 0;
3069- while (len > 0)
3070- {
3071- size_t part_len = strlen (argz);
3072- argz += part_len + 1;
3073- len -= part_len + 1;
3074- count++;
3075- }
3076- return count;
3077-}
3078-# undef __argz_count
3079-# define __argz_count(argz, len) argz_count__ (argz, len)
3080-#endif /* !_LIBC && !HAVE___ARGZ_COUNT */
3081-
3082-#if !defined _LIBC && !defined HAVE___ARGZ_STRINGIFY
3083-/* Make '\0' separated arg vector ARGZ printable by converting all the '\0's
3084- except the last into the character SEP. */
3085-static void argz_stringify__ PARAMS ((char *argz, size_t len, int sep));
3086-
3087-static void
3088-argz_stringify__ (argz, len, sep)
3089- char *argz;
3090- size_t len;
3091- int sep;
3092-{
3093- while (len > 0)
3094- {
3095- size_t part_len = strlen (argz);
3096- argz += part_len;
3097- len -= part_len + 1;
3098- if (len > 0)
3099- *argz++ = sep;
3100- }
3101-}
3102-# undef __argz_stringify
3103-# define __argz_stringify(argz, len, sep) argz_stringify__ (argz, len, sep)
3104-#endif /* !_LIBC && !HAVE___ARGZ_STRINGIFY */
3105-
3106-#if !defined _LIBC && !defined HAVE___ARGZ_NEXT
3107-static char *argz_next__ PARAMS ((char *argz, size_t argz_len,
3108- const char *entry));
3109-
3110-static char *
3111-argz_next__ (argz, argz_len, entry)
3112- char *argz;
3113- size_t argz_len;
3114- const char *entry;
3115-{
3116- if (entry)
3117- {
3118- if (entry < argz + argz_len)
3119- entry = strchr (entry, '\0') + 1;
3120-
3121- return entry >= argz + argz_len ? NULL : (char *) entry;
3122- }
3123- else
3124- if (argz_len > 0)
3125- return argz;
3126- else
3127- return 0;
3128-}
3129-# undef __argz_next
3130-# define __argz_next(argz, len, entry) argz_next__ (argz, len, entry)
3131-#endif /* !_LIBC && !HAVE___ARGZ_NEXT */
3132-
3133-
3134-/* Return number of bits set in X. */
3135-static int pop PARAMS ((int x));
3136-
3137-static inline int
3138-pop (x)
3139- int x;
3140-{
3141- /* We assume that no more than 16 bits are used. */
3142- x = ((x & ~0x5555) >> 1) + (x & 0x5555);
3143- x = ((x & ~0x3333) >> 2) + (x & 0x3333);
3144- x = ((x >> 4) + x) & 0x0f0f;
3145- x = ((x >> 8) + x) & 0xff;
3146-
3147- return x;
3148-}
3149-
3150-
3151-struct loaded_l10nfile *
3152-_nl_make_l10nflist (l10nfile_list, dirlist, dirlist_len, mask, language,
3153- territory, codeset, normalized_codeset, modifier, special,
3154- sponsor, revision, filename, do_allocate)
3155- struct loaded_l10nfile **l10nfile_list;
3156- const char *dirlist;
3157- size_t dirlist_len;
3158- int mask;
3159- const char *language;
3160- const char *territory;
3161- const char *codeset;
3162- const char *normalized_codeset;
3163- const char *modifier;
3164- const char *special;
3165- const char *sponsor;
3166- const char *revision;
3167- const char *filename;
3168- int do_allocate;
3169-{
3170- char *abs_filename;
3171- struct loaded_l10nfile *last = NULL;
3172- struct loaded_l10nfile *retval;
3173- char *cp;
3174- size_t entries;
3175- int cnt;
3176-
3177- /* Allocate room for the full file name. */
3178- abs_filename = (char *) malloc (dirlist_len
3179- + strlen (language)
3180- + ((mask & TERRITORY) != 0
3181- ? strlen (territory) + 1 : 0)
3182- + ((mask & XPG_CODESET) != 0
3183- ? strlen (codeset) + 1 : 0)
3184- + ((mask & XPG_NORM_CODESET) != 0
3185- ? strlen (normalized_codeset) + 1 : 0)
3186- + (((mask & XPG_MODIFIER) != 0
3187- || (mask & CEN_AUDIENCE) != 0)
3188- ? strlen (modifier) + 1 : 0)
3189- + ((mask & CEN_SPECIAL) != 0
3190- ? strlen (special) + 1 : 0)
3191- + (((mask & CEN_SPONSOR) != 0
3192- || (mask & CEN_REVISION) != 0)
3193- ? (1 + ((mask & CEN_SPONSOR) != 0
3194- ? strlen (sponsor) + 1 : 0)
3195- + ((mask & CEN_REVISION) != 0
3196- ? strlen (revision) + 1 : 0)) : 0)
3197- + 1 + strlen (filename) + 1);
3198-
3199- if (abs_filename == NULL)
3200- return NULL;
3201-
3202- retval = NULL;
3203- last = NULL;
3204-
3205- /* Construct file name. */
3206- memcpy (abs_filename, dirlist, dirlist_len);
3207- __argz_stringify (abs_filename, dirlist_len, ':');
3208- cp = abs_filename + (dirlist_len - 1);
3209- *cp++ = '/';
3210- cp = stpcpy (cp, language);
3211-
3212- if ((mask & TERRITORY) != 0)
3213- {
3214- *cp++ = '_';
3215- cp = stpcpy (cp, territory);
3216- }
3217- if ((mask & XPG_CODESET) != 0)
3218- {
3219- *cp++ = '.';
3220- cp = stpcpy (cp, codeset);
3221- }
3222- if ((mask & XPG_NORM_CODESET) != 0)
3223- {
3224- *cp++ = '.';
3225- cp = stpcpy (cp, normalized_codeset);
3226- }
3227- if ((mask & (XPG_MODIFIER | CEN_AUDIENCE)) != 0)
3228- {
3229- /* This component can be part of both syntaces but has different
3230- leading characters. For CEN we use `+', else `@'. */
3231- *cp++ = (mask & CEN_AUDIENCE) != 0 ? '+' : '@';
3232- cp = stpcpy (cp, modifier);
3233- }
3234- if ((mask & CEN_SPECIAL) != 0)
3235- {
3236- *cp++ = '+';
3237- cp = stpcpy (cp, special);
3238- }
3239- if ((mask & (CEN_SPONSOR | CEN_REVISION)) != 0)
3240- {
3241- *cp++ = ',';
3242- if ((mask & CEN_SPONSOR) != 0)
3243- cp = stpcpy (cp, sponsor);
3244- if ((mask & CEN_REVISION) != 0)
3245- {
3246- *cp++ = '_';
3247- cp = stpcpy (cp, revision);
3248- }
3249- }
3250-
3251- *cp++ = '/';
3252- stpcpy (cp, filename);
3253-
3254- /* Look in list of already loaded domains whether it is already
3255- available. */
3256- last = NULL;
3257- for (retval = *l10nfile_list; retval != NULL; retval = retval->next)
3258- if (retval->filename != NULL)
3259- {
3260- int compare = strcmp (retval->filename, abs_filename);
3261- if (compare == 0)
3262- /* We found it! */
3263- break;
3264- if (compare < 0)
3265- {
3266- /* It's not in the list. */
3267- retval = NULL;
3268- break;
3269- }
3270-
3271- last = retval;
3272- }
3273-
3274- if (retval != NULL || do_allocate == 0)
3275- {
3276- free (abs_filename);
3277- return retval;
3278- }
3279-
3280- retval = (struct loaded_l10nfile *)
3281- malloc (sizeof (*retval) + (__argz_count (dirlist, dirlist_len)
3282- * (1 << pop (mask))
3283- * sizeof (struct loaded_l10nfile *)));
3284- if (retval == NULL)
3285- return NULL;
3286-
3287- retval->filename = abs_filename;
3288- retval->decided = (__argz_count (dirlist, dirlist_len) != 1
3289- || ((mask & XPG_CODESET) != 0
3290- && (mask & XPG_NORM_CODESET) != 0));
3291- retval->data = NULL;
3292-
3293- if (last == NULL)
3294- {
3295- retval->next = *l10nfile_list;
3296- *l10nfile_list = retval;
3297- }
3298- else
3299- {
3300- retval->next = last->next;
3301- last->next = retval;
3302- }
3303-
3304- entries = 0;
3305- /* If the DIRLIST is a real list the RETVAL entry corresponds not to
3306- a real file. So we have to use the DIRLIST separation mechanism
3307- of the inner loop. */
3308- cnt = __argz_count (dirlist, dirlist_len) == 1 ? mask - 1 : mask;
3309- for (; cnt >= 0; --cnt)
3310- if ((cnt & ~mask) == 0
3311- && ((cnt & CEN_SPECIFIC) == 0 || (cnt & XPG_SPECIFIC) == 0)
3312- && ((cnt & XPG_CODESET) == 0 || (cnt & XPG_NORM_CODESET) == 0))
3313- {
3314- /* Iterate over all elements of the DIRLIST. */
3315- char *dir = NULL;
3316-
3317- while ((dir = __argz_next ((char *) dirlist, dirlist_len, dir))
3318- != NULL)
3319- retval->successor[entries++]
3320- = _nl_make_l10nflist (l10nfile_list, dir, strlen (dir) + 1, cnt,
3321- language, territory, codeset,
3322- normalized_codeset, modifier, special,
3323- sponsor, revision, filename, 1);
3324- }
3325- retval->successor[entries] = NULL;
3326-
3327- return retval;
3328-}
3329-
3330-/* Normalize codeset name. There is no standard for the codeset
3331- names. Normalization allows the user to use any of the common
3332- names. */
3333-const char *
3334-_nl_normalize_codeset (codeset, name_len)
3335- const char *codeset;
3336- size_t name_len;
3337-{
3338- int len = 0;
3339- int only_digit = 1;
3340- char *retval;
3341- char *wp;
3342- size_t cnt;
3343-
3344- for (cnt = 0; cnt < name_len; ++cnt)
3345- if (isalnum (codeset[cnt]))
3346- {
3347- ++len;
3348-
3349- if (isalpha (codeset[cnt]))
3350- only_digit = 0;
3351- }
3352-
3353- retval = (char *) malloc ((only_digit ? 3 : 0) + len + 1);
3354-
3355- if (retval != NULL)
3356- {
3357- if (only_digit)
3358- wp = stpcpy (retval, "iso");
3359- else
3360- wp = retval;
3361-
3362- for (cnt = 0; cnt < name_len; ++cnt)
3363- if (isalpha (codeset[cnt]))
3364- *wp++ = tolower (codeset[cnt]);
3365- else if (isdigit (codeset[cnt]))
3366- *wp++ = codeset[cnt];
3367-
3368- *wp = '\0';
3369- }
3370-
3371- return (const char *) retval;
3372-}
3373-
3374-
3375-/* @@ begin of epilog @@ */
3376-
3377-/* We don't want libintl.a to depend on any other library. So we
3378- avoid the non-standard function stpcpy. In GNU C Library this
3379- function is available, though. Also allow the symbol HAVE_STPCPY
3380- to be defined. */
3381-#if !_LIBC && !HAVE_STPCPY
3382-static char *
3383-stpcpy (dest, src)
3384- char *dest;
3385- const char *src;
3386-{
3387- while ((*dest++ = *src++) != '\0')
3388- /* Do nothing. */ ;
3389- return dest - 1;
3390-}
3391-#endif
3392diff -uprN clean/lrzsz-0.12.20/intl/libgettext.h lrzsz-0.12.20/intl/libgettext.h
3393--- clean/lrzsz-0.12.20/intl/libgettext.h 1998-04-26 14:22:36.000000000 +0100
3394+++ lrzsz-0.12.20/intl/libgettext.h 1970-01-01 01:00:00.000000000 +0100
3395@@ -1,182 +0,0 @@
3396-/* Message catalogs for internationalization.
3397- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
3398-
3399- This program is free software; you can redistribute it and/or modify
3400- it under the terms of the GNU General Public License as published by
3401- the Free Software Foundation; either version 2, or (at your option)
3402- any later version.
3403-
3404- This program is distributed in the hope that it will be useful,
3405- but WITHOUT ANY WARRANTY; without even the implied warranty of
3406- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3407- GNU General Public License for more details.
3408-
3409- You should have received a copy of the GNU General Public License
3410- along with this program; if not, write to the Free Software Foundation,
3411- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
3412-
3413-/* Because on some systems (e.g. Solaris) we sometimes have to include
3414- the systems libintl.h as well as this file we have more complex
3415- include protection above. But the systems header might perhaps also
3416- define _LIBINTL_H and therefore we have to protect the definition here. */
3417-
3418-#if !defined (_LIBINTL_H) || !defined (_LIBGETTEXT_H)
3419-#if !defined (_LIBINTL_H)
3420-# define _LIBINTL_H 1
3421-#endif
3422-#define _LIBGETTEXT_H 1
3423-
3424-/* We define an additional symbol to signal that we use the GNU
3425- implementation of gettext. */
3426-#define __USE_GNU_GETTEXT 1
3427-
3428-#include <sys/types.h>
3429-
3430-#if HAVE_LOCALE_H
3431-# include <locale.h>
3432-#endif
3433-
3434-
3435-#ifdef __cplusplus
3436-extern "C" {
3437-#endif
3438-
3439-/* @@ end of prolog @@ */
3440-
3441-#ifndef PARAMS
3442-# if __STDC__
3443-# define PARAMS(args) args
3444-# else
3445-# define PARAMS(args) ()
3446-# endif
3447-#endif
3448-
3449-#ifndef NULL
3450-# if !defined __cplusplus || defined __GNUC__
3451-# define NULL ((void *) 0)
3452-# else
3453-# define NULL (0)
3454-# endif
3455-#endif
3456-
3457-#if !HAVE_LC_MESSAGES
3458-/* This value determines the behaviour of the gettext() and dgettext()
3459- function. But some system does not have this defined. Define it
3460- to a default value. */
3461-# define LC_MESSAGES (-1)
3462-#endif
3463-
3464-
3465-/* Declarations for gettext-using-catgets interface. Derived from
3466- Jim Meyering's libintl.h. */
3467-struct _msg_ent
3468-{
3469- const char *_msg;
3470- int _msg_number;
3471-};
3472-
3473-
3474-#if HAVE_CATGETS
3475-/* These two variables are defined in the automatically by po-to-tbl.sed
3476- generated file `cat-id-tbl.c'. */
3477-extern const struct _msg_ent _msg_tbl[];
3478-extern int _msg_tbl_length;
3479-#endif
3480-
3481-
3482-/* For automatical extraction of messages sometimes no real
3483- translation is needed. Instead the string itself is the result. */
3484-#define gettext_noop(Str) (Str)
3485-
3486-/* Look up MSGID in the current default message catalog for the current
3487- LC_MESSAGES locale. If not found, returns MSGID itself (the default
3488- text). */
3489-extern char *gettext PARAMS ((const char *__msgid));
3490-extern char *gettext__ PARAMS ((const char *__msgid));
3491-
3492-/* Look up MSGID in the DOMAINNAME message catalog for the current
3493- LC_MESSAGES locale. */
3494-extern char *dgettext PARAMS ((const char *__domainname, const char *__msgid));
3495-extern char *dgettext__ PARAMS ((const char *__domainname,
3496- const char *__msgid));
3497-
3498-/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY
3499- locale. */
3500-extern char *dcgettext PARAMS ((const char *__domainname, const char *__msgid,
3501- int __category));
3502-extern char *dcgettext__ PARAMS ((const char *__domainname,
3503- const char *__msgid, int __category));
3504-
3505-
3506-/* Set the current default message catalog to DOMAINNAME.
3507- If DOMAINNAME is null, return the current default.
3508- If DOMAINNAME is "", reset to the default of "messages". */
3509-extern char *textdomain PARAMS ((const char *__domainname));
3510-extern char *textdomain__ PARAMS ((const char *__domainname));
3511-
3512-/* Specify that the DOMAINNAME message catalog will be found
3513- in DIRNAME rather than in the system locale data base. */
3514-extern char *bindtextdomain PARAMS ((const char *__domainname,
3515- const char *__dirname));
3516-extern char *bindtextdomain__ PARAMS ((const char *__domainname,
3517- const char *__dirname));
3518-
3519-#if ENABLE_NLS
3520-
3521-/* Solaris 2.3 has the gettext function but dcgettext is missing.
3522- So we omit this optimization for Solaris 2.3. BTW, Solaris 2.4
3523- has dcgettext. */
3524-# if !HAVE_CATGETS && (!HAVE_GETTEXT || HAVE_DCGETTEXT)
3525-
3526-# define gettext(Msgid) \
3527- dgettext (NULL, Msgid)
3528-
3529-# define dgettext(Domainname, Msgid) \
3530- dcgettext (Domainname, Msgid, LC_MESSAGES)
3531-
3532-# if defined __GNUC__ && __GNUC__ == 2 && __GNUC_MINOR__ >= 7
3533-/* This global variable is defined in loadmsgcat.c. We need a sign,
3534- whether a new catalog was loaded, which can be associated with all
3535- translations. */
3536-extern int _nl_msg_cat_cntr;
3537-
3538-# define dcgettext(Domainname, Msgid, Category) \
3539- (__extension__ \
3540- ({ \
3541- char *__result; \
3542- if (__builtin_constant_p (Msgid)) \
3543- { \
3544- static char *__translation__; \
3545- static int __catalog_counter__; \
3546- if (! __translation__ || __catalog_counter__ != _nl_msg_cat_cntr) \
3547- { \
3548- __translation__ = \
3549- dcgettext__ (Domainname, Msgid, Category); \
3550- __catalog_counter__ = _nl_msg_cat_cntr; \
3551- } \
3552- __result = __translation__; \
3553- } \
3554- else \
3555- __result = dcgettext__ (Domainname, Msgid, Category); \
3556- __result; \
3557- }))
3558-# endif
3559-# endif
3560-
3561-#else
3562-
3563-# define gettext(Msgid) (Msgid)
3564-# define dgettext(Domainname, Msgid) (Msgid)
3565-# define dcgettext(Domainname, Msgid, Category) (Msgid)
3566-# define textdomain(Domainname) while (0) /* nothing */
3567-# define bindtextdomain(Domainname, Dirname) while (0) /* nothing */
3568-
3569-#endif
3570-
3571-/* @@ begin of epilog @@ */
3572-
3573-#ifdef __cplusplus
3574-}
3575-#endif
3576-
3577-#endif
3578diff -uprN clean/lrzsz-0.12.20/intl/linux-msg.sed lrzsz-0.12.20/intl/linux-msg.sed
3579--- clean/lrzsz-0.12.20/intl/linux-msg.sed 1998-04-26 14:20:52.000000000 +0100
3580+++ lrzsz-0.12.20/intl/linux-msg.sed 1970-01-01 01:00:00.000000000 +0100
3581@@ -1,100 +0,0 @@
3582-# po2msg.sed - Convert Uniforum style .po file to Linux style .msg file
3583-# Copyright (C) 1995 Free Software Foundation, Inc.
3584-# Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
3585-#
3586-# This program is free software; you can redistribute it and/or modify
3587-# it under the terms of the GNU General Public License as published by
3588-# the Free Software Foundation; either version 2, or (at your option)
3589-# any later version.
3590-#
3591-# This program is distributed in the hope that it will be useful,
3592-# but WITHOUT ANY WARRANTY; without even the implied warranty of
3593-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3594-# GNU General Public License for more details.
3595-#
3596-# You should have received a copy of the GNU General Public License
3597-# along with this program; if not, write to the Free Software
3598-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
3599-#
3600-#
3601-# The first directive in the .msg should be the definition of the
3602-# message set number. We use always set number 1.
3603-#
3604-1 {
3605- i\
3606-$set 1 # Automatically created by po2msg.sed
3607- h
3608- s/.*/0/
3609- x
3610-}
3611-#
3612-# Mitch's old catalog format does not allow comments.
3613-#
3614-# We copy the original message as a comment into the .msg file.
3615-#
3616-/^msgid/ {
3617- s/msgid[ ]*"//
3618-#
3619-# This does not work now with the new format.
3620-# /"$/! {
3621-# s/\\$//
3622-# s/$/ ... (more lines following)"/
3623-# }
3624- x
3625-# The following nice solution is by
3626-# Bruno <Haible@ma2s2.mathematik.uni-karlsruhe.de>
3627- td
3628-# Increment a decimal number in pattern space.
3629-# First hide trailing `9' digits.
3630- :d
3631- s/9\(_*\)$/_\1/
3632- td
3633-# Assure at least one digit is available.
3634- s/^\(_*\)$/0\1/
3635-# Increment the last digit.
3636- s/8\(_*\)$/9\1/
3637- s/7\(_*\)$/8\1/
3638- s/6\(_*\)$/7\1/
3639- s/5\(_*\)$/6\1/
3640- s/4\(_*\)$/5\1/
3641- s/3\(_*\)$/4\1/
3642- s/2\(_*\)$/3\1/
3643- s/1\(_*\)$/2\1/
3644- s/0\(_*\)$/1\1/
3645-# Convert the hidden `9' digits to `0's.
3646- s/_/0/g
3647- x
3648- G
3649- s/\(.*\)"\n\([0-9]*\)/$ #\2 Original Message:(\1)/p
3650-}
3651-#
3652-# The .msg file contains, other then the .po file, only the translations
3653-# but each given a unique ID. Starting from 1 and incrementing by 1 for
3654-# each message we assign them to the messages.
3655-# It is important that the .po file used to generate the cat-id-tbl.c file
3656-# (with po-to-tbl) is the same as the one used here. (At least the order
3657-# of declarations must not be changed.)
3658-#
3659-/^msgstr/ {
3660- s/msgstr[ ]*"\(.*\)"/# \1/
3661-# Clear substitution flag.
3662- tb
3663-# Append the next line.
3664- :b
3665- N
3666-# Look whether second part is continuation line.
3667- s/\(.*\n\)"\(.*\)"/\1\2/
3668-# Yes, then branch.
3669- ta
3670- P
3671- D
3672-# Note that D includes a jump to the start!!
3673-# We found a continuation line. But before printing insert '\'.
3674- :a
3675- s/\(.*\)\(\n.*\)/\1\\\2/
3676- P
3677-# We cannot use D here.
3678- s/.*\n\(.*\)/\1/
3679- tb
3680-}
3681-d
3682diff -uprN clean/lrzsz-0.12.20/intl/loadinfo.h lrzsz-0.12.20/intl/loadinfo.h
3683--- clean/lrzsz-0.12.20/intl/loadinfo.h 1998-04-26 14:20:52.000000000 +0100
3684+++ lrzsz-0.12.20/intl/loadinfo.h 1970-01-01 01:00:00.000000000 +0100
3685@@ -1,58 +0,0 @@
3686-#ifndef PARAMS
3687-# if __STDC__
3688-# define PARAMS(args) args
3689-# else
3690-# define PARAMS(args) ()
3691-# endif
3692-#endif
3693-
3694-/* Encoding of locale name parts. */
3695-#define CEN_REVISION 1
3696-#define CEN_SPONSOR 2
3697-#define CEN_SPECIAL 4
3698-#define XPG_NORM_CODESET 8
3699-#define XPG_CODESET 16
3700-#define TERRITORY 32
3701-#define CEN_AUDIENCE 64
3702-#define XPG_MODIFIER 128
3703-
3704-#define CEN_SPECIFIC (CEN_REVISION|CEN_SPONSOR|CEN_SPECIAL|CEN_AUDIENCE)
3705-#define XPG_SPECIFIC (XPG_CODESET|XPG_NORM_CODESET|XPG_MODIFIER)
3706-
3707-
3708-struct loaded_l10nfile
3709-{
3710- const char *filename;
3711- int decided;
3712-
3713- const void *data;
3714-
3715- struct loaded_l10nfile *next;
3716- struct loaded_l10nfile *successor[1];
3717-};
3718-
3719-
3720-extern const char *_nl_normalize_codeset PARAMS ((const char *codeset,
3721- size_t name_len));
3722-
3723-extern struct loaded_l10nfile *
3724-_nl_make_l10nflist PARAMS ((struct loaded_l10nfile **l10nfile_list,
3725- const char *dirlist, size_t dirlist_len, int mask,
3726- const char *language, const char *territory,
3727- const char *codeset,
3728- const char *normalized_codeset,
3729- const char *modifier, const char *special,
3730- const char *sponsor, const char *revision,
3731- const char *filename, int do_allocate));
3732-
3733-
3734-extern const char *_nl_expand_alias PARAMS ((const char *name));
3735-
3736-extern int _nl_explode_name PARAMS ((char *name, const char **language,
3737- const char **modifier,
3738- const char **territory,
3739- const char **codeset,
3740- const char **normalized_codeset,
3741- const char **special,
3742- const char **sponsor,
3743- const char **revision));
3744diff -uprN clean/lrzsz-0.12.20/intl/loadmsgcat.c lrzsz-0.12.20/intl/loadmsgcat.c
3745--- clean/lrzsz-0.12.20/intl/loadmsgcat.c 1998-04-26 14:22:37.000000000 +0100
3746+++ lrzsz-0.12.20/intl/loadmsgcat.c 1970-01-01 01:00:00.000000000 +0100
3747@@ -1,199 +0,0 @@
3748-/* Load needed message catalogs
3749- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
3750-
3751- This program is free software; you can redistribute it and/or modify
3752- it under the terms of the GNU General Public License as published by
3753- the Free Software Foundation; either version 2, or (at your option)
3754- any later version.
3755-
3756- This program is distributed in the hope that it will be useful,
3757- but WITHOUT ANY WARRANTY; without even the implied warranty of
3758- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3759- GNU General Public License for more details.
3760-
3761- You should have received a copy of the GNU General Public License
3762- along with this program; if not, write to the Free Software Foundation,
3763- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
3764-
3765-#ifdef HAVE_CONFIG_H
3766-# include <config.h>
3767-#endif
3768-
3769-#include <fcntl.h>
3770-#include <sys/types.h>
3771-#include <sys/stat.h>
3772-
3773-#if defined STDC_HEADERS || defined _LIBC
3774-# include <stdlib.h>
3775-#endif
3776-
3777-#if defined HAVE_UNISTD_H || defined _LIBC
3778-# include <unistd.h>
3779-#endif
3780-
3781-#if (defined HAVE_MMAP && defined HAVE_MUNMAP) || defined _LIBC
3782-# include <sys/mman.h>
3783-#endif
3784-
3785-#include "gettext.h"
3786-#include "gettextP.h"
3787-
3788-/* @@ end of prolog @@ */
3789-
3790-#ifdef _LIBC
3791-/* Rename the non ISO C functions. This is required by the standard
3792- because some ISO C functions will require linking with this object
3793- file and the name space must not be polluted. */
3794-# define fstat __fstat
3795-# define open __open
3796-# define close __close
3797-# define read __read
3798-# define mmap __mmap
3799-# define munmap __munmap
3800-#endif
3801-
3802-/* We need a sign, whether a new catalog was loaded, which can be associated
3803- with all translations. This is important if the translations are
3804- cached by one of GCC's features. */
3805-int _nl_msg_cat_cntr = 0;
3806-
3807-
3808-/* Load the message catalogs specified by FILENAME. If it is no valid
3809- message catalog do nothing. */
3810-void
3811-_nl_load_domain (domain_file)
3812- struct loaded_l10nfile *domain_file;
3813-{
3814- int fd;
3815- struct stat st;
3816- struct mo_file_header *data = (struct mo_file_header *) -1;
3817-#if (defined HAVE_MMAP && defined HAVE_MUNMAP && !defined DISALLOW_MMAP) \
3818- || defined _LIBC
3819- int use_mmap = 0;
3820-#endif
3821- struct loaded_domain *domain;
3822-
3823- domain_file->decided = 1;
3824- domain_file->data = NULL;
3825-
3826- /* If the record does not represent a valid locale the FILENAME
3827- might be NULL. This can happen when according to the given
3828- specification the locale file name is different for XPG and CEN
3829- syntax. */
3830- if (domain_file->filename == NULL)
3831- return;
3832-
3833- /* Try to open the addressed file. */
3834- fd = open (domain_file->filename, O_RDONLY);
3835- if (fd == -1)
3836- return;
3837-
3838- /* We must know about the size of the file. */
3839- if (fstat (fd, &st) != 0
3840- && st.st_size < (off_t) sizeof (struct mo_file_header))
3841- {
3842- /* Something went wrong. */
3843- close (fd);
3844- return;
3845- }
3846-
3847-#if (defined HAVE_MMAP && defined HAVE_MUNMAP && !defined DISALLOW_MMAP) \
3848- || defined _LIBC
3849- /* Now we are ready to load the file. If mmap() is available we try
3850- this first. If not available or it failed we try to load it. */
3851- data = (struct mo_file_header *) mmap (NULL, st.st_size, PROT_READ,
3852- MAP_PRIVATE, fd, 0);
3853-
3854- if (data != (struct mo_file_header *) -1)
3855- {
3856- /* mmap() call was successful. */
3857- close (fd);
3858- use_mmap = 1;
3859- }
3860-#endif
3861-
3862- /* If the data is not yet available (i.e. mmap'ed) we try to load
3863- it manually. */
3864- if (data == (struct mo_file_header *) -1)
3865- {
3866- off_t to_read;
3867- char *read_ptr;
3868-
3869- data = (struct mo_file_header *) malloc (st.st_size);
3870- if (data == NULL)
3871- return;
3872-
3873- to_read = st.st_size;
3874- read_ptr = (char *) data;
3875- do
3876- {
3877- long int nb = (long int) read (fd, read_ptr, to_read);
3878- if (nb == -1)
3879- {
3880- close (fd);
3881- return;
3882- }
3883-
3884- read_ptr += nb;
3885- to_read -= nb;
3886- }
3887- while (to_read > 0);
3888-
3889- close (fd);
3890- }
3891-
3892- /* Using the magic number we can test whether it really is a message
3893- catalog file. */
3894- if (data->magic != _MAGIC && data->magic != _MAGIC_SWAPPED)
3895- {
3896- /* The magic number is wrong: not a message catalog file. */
3897-#if (defined HAVE_MMAP && defined HAVE_MUNMAP && !defined DISALLOW_MMAP) \
3898- || defined _LIBC
3899- if (use_mmap)
3900- munmap ((caddr_t) data, st.st_size);
3901- else
3902-#endif
3903- free (data);
3904- return;
3905- }
3906-
3907- domain_file->data
3908- = (struct loaded_domain *) malloc (sizeof (struct loaded_domain));
3909- if (domain_file->data == NULL)
3910- return;
3911-
3912- domain = (struct loaded_domain *) domain_file->data;
3913- domain->data = (char *) data;
3914- domain->must_swap = data->magic != _MAGIC;
3915-
3916- /* Fill in the information about the available tables. */
3917- switch (W (domain->must_swap, data->revision))
3918- {
3919- case 0:
3920- domain->nstrings = W (domain->must_swap, data->nstrings);
3921- domain->orig_tab = (struct string_desc *)
3922- ((char *) data + W (domain->must_swap, data->orig_tab_offset));
3923- domain->trans_tab = (struct string_desc *)
3924- ((char *) data + W (domain->must_swap, data->trans_tab_offset));
3925- domain->hash_size = W (domain->must_swap, data->hash_tab_size);
3926- domain->hash_tab = (nls_uint32 *)
3927- ((char *) data + W (domain->must_swap, data->hash_tab_offset));
3928- break;
3929- default:
3930- /* This is an illegal revision. */
3931-#if (defined HAVE_MMAP && defined HAVE_MUNMAP && !defined DISALLOW_MMAP) \
3932- || defined _LIBC
3933- if (use_mmap)
3934- munmap ((caddr_t) data, st.st_size);
3935- else
3936-#endif
3937- free (data);
3938- free (domain);
3939- domain_file->data = NULL;
3940- return;
3941- }
3942-
3943- /* Show that one domain is changed. This might make some cached
3944- translations invalid. */
3945- ++_nl_msg_cat_cntr;
3946-}
3947diff -uprN clean/lrzsz-0.12.20/intl/localealias.c lrzsz-0.12.20/intl/localealias.c
3948--- clean/lrzsz-0.12.20/intl/localealias.c 1998-04-26 14:22:37.000000000 +0100
3949+++ lrzsz-0.12.20/intl/localealias.c 1970-01-01 01:00:00.000000000 +0100
3950@@ -1,378 +0,0 @@
3951-/* Handle aliases for locale names
3952- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
3953- Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
3954-
3955- This program is free software; you can redistribute it and/or modify
3956- it under the terms of the GNU General Public License as published by
3957- the Free Software Foundation; either version 2, or (at your option)
3958- any later version.
3959-
3960- This program is distributed in the hope that it will be useful,
3961- but WITHOUT ANY WARRANTY; without even the implied warranty of
3962- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3963- GNU General Public License for more details.
3964-
3965- You should have received a copy of the GNU General Public License
3966- along with this program; if not, write to the Free Software Foundation,
3967- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
3968-
3969-#ifdef HAVE_CONFIG_H
3970-# include <config.h>
3971-#endif
3972-
3973-#include <ctype.h>
3974-#include <stdio.h>
3975-#include <sys/types.h>
3976-
3977-#ifdef __GNUC__
3978-# define alloca __builtin_alloca
3979-# define HAVE_ALLOCA 1
3980-#else
3981-# if defined HAVE_ALLOCA_H || defined _LIBC
3982-# include <alloca.h>
3983-# else
3984-# ifdef _AIX
3985- #pragma alloca
3986-# else
3987-# ifndef alloca
3988-char *alloca ();
3989-# endif
3990-# endif
3991-# endif
3992-#endif
3993-
3994-#if defined STDC_HEADERS || defined _LIBC
3995-# include <stdlib.h>
3996-#else
3997-char *getenv ();
3998-# ifdef HAVE_MALLOC_H
3999-# include <malloc.h>
4000-# else
4001-void free ();
4002-# endif
4003-#endif
4004-
4005-#if defined HAVE_STRING_H || defined _LIBC
4006-# ifndef _GNU_SOURCE
4007-# define _GNU_SOURCE 1
4008-# endif
4009-# include <string.h>
4010-#else
4011-# include <strings.h>
4012-# ifndef memcpy
4013-# define memcpy(Dst, Src, Num) bcopy (Src, Dst, Num)
4014-# endif
4015-#endif
4016-#if !HAVE_STRCHR && !defined _LIBC
4017-# ifndef strchr
4018-# define strchr index
4019-# endif
4020-#endif
4021-
4022-#include "gettext.h"
4023-#include "gettextP.h"
4024-
4025-/* @@ end of prolog @@ */
4026-
4027-#ifdef _LIBC
4028-/* Rename the non ANSI C functions. This is required by the standard
4029- because some ANSI C functions will require linking with this object
4030- file and the name space must not be polluted. */
4031-# define strcasecmp __strcasecmp
4032-#endif
4033-
4034-
4035-/* For those loosing systems which don't have `alloca' we have to add
4036- some additional code emulating it. */
4037-#ifdef HAVE_ALLOCA
4038-/* Nothing has to be done. */
4039-# define ADD_BLOCK(list, address) /* nothing */
4040-# define FREE_BLOCKS(list) /* nothing */
4041-#else
4042-struct block_list
4043-{
4044- void *address;
4045- struct block_list *next;
4046-};
4047-# define ADD_BLOCK(list, addr) \
4048- do { \
4049- struct block_list *newp = (struct block_list *) malloc (sizeof (*newp)); \
4050- /* If we cannot get a free block we cannot add the new element to \
4051- the list. */ \
4052- if (newp != NULL) { \
4053- newp->address = (addr); \
4054- newp->next = (list); \
4055- (list) = newp; \
4056- } \
4057- } while (0)
4058-# define FREE_BLOCKS(list) \
4059- do { \
4060- while (list != NULL) { \
4061- struct block_list *old = list; \
4062- list = list->next; \
4063- free (old); \
4064- } \
4065- } while (0)
4066-# undef alloca
4067-# define alloca(size) (malloc (size))
4068-#endif /* have alloca */
4069-
4070-
4071-struct alias_map
4072-{
4073- const char *alias;
4074- const char *value;
4075-};
4076-
4077-
4078-static struct alias_map *map;
4079-static size_t nmap = 0;
4080-static size_t maxmap = 0;
4081-
4082-
4083-/* Prototypes for local functions. */
4084-static size_t read_alias_file PARAMS ((const char *fname, int fname_len));
4085-static void extend_alias_table PARAMS ((void));
4086-static int alias_compare PARAMS ((const struct alias_map *map1,
4087- const struct alias_map *map2));
4088-
4089-
4090-const char *
4091-_nl_expand_alias (name)
4092- const char *name;
4093-{
4094- static const char *locale_alias_path = LOCALE_ALIAS_PATH;
4095- struct alias_map *retval;
4096- size_t added;
4097-
4098- do
4099- {
4100- struct alias_map item;
4101-
4102- item.alias = name;
4103-
4104- if (nmap > 0)
4105- retval = (struct alias_map *) bsearch (&item, map, nmap,
4106- sizeof (struct alias_map),
4107- (int (*) PARAMS ((const void *,
4108- const void *))
4109- ) alias_compare);
4110- else
4111- retval = NULL;
4112-
4113- /* We really found an alias. Return the value. */
4114- if (retval != NULL)
4115- return retval->value;
4116-
4117- /* Perhaps we can find another alias file. */
4118- added = 0;
4119- while (added == 0 && locale_alias_path[0] != '\0')
4120- {
4121- const char *start;
4122-
4123- while (locale_alias_path[0] == ':')
4124- ++locale_alias_path;
4125- start = locale_alias_path;
4126-
4127- while (locale_alias_path[0] != '\0' && locale_alias_path[0] != ':')
4128- ++locale_alias_path;
4129-
4130- if (start < locale_alias_path)
4131- added = read_alias_file (start, locale_alias_path - start);
4132- }
4133- }
4134- while (added != 0);
4135-
4136- return NULL;
4137-}
4138-
4139-
4140-static size_t
4141-read_alias_file (fname, fname_len)
4142- const char *fname;
4143- int fname_len;
4144-{
4145-#ifndef HAVE_ALLOCA
4146- struct block_list *block_list = NULL;
4147-#endif
4148- FILE *fp;
4149- char *full_fname;
4150- size_t added;
4151- static const char aliasfile[] = "/locale.alias";
4152-
4153- full_fname = (char *) alloca (fname_len + sizeof aliasfile);
4154- ADD_BLOCK (block_list, full_fname);
4155- memcpy (full_fname, fname, fname_len);
4156- memcpy (&full_fname[fname_len], aliasfile, sizeof aliasfile);
4157-
4158- fp = fopen (full_fname, "r");
4159- if (fp == NULL)
4160- {
4161- FREE_BLOCKS (block_list);
4162- return 0;
4163- }
4164-
4165- added = 0;
4166- while (!feof (fp))
4167- {
4168- /* It is a reasonable approach to use a fix buffer here because
4169- a) we are only interested in the first two fields
4170- b) these fields must be usable as file names and so must not
4171- be that long
4172- */
4173- char buf[BUFSIZ];
4174- char *alias;
4175- char *value;
4176- char *cp;
4177-
4178- if (fgets (buf, BUFSIZ, fp) == NULL)
4179- /* EOF reached. */
4180- break;
4181-
4182- cp = buf;
4183- /* Ignore leading white space. */
4184- while (isspace (cp[0]))
4185- ++cp;
4186-
4187- /* A leading '#' signals a comment line. */
4188- if (cp[0] != '\0' && cp[0] != '#')
4189- {
4190- alias = cp++;
4191- while (cp[0] != '\0' && !isspace (cp[0]))
4192- ++cp;
4193- /* Terminate alias name. */
4194- if (cp[0] != '\0')
4195- *cp++ = '\0';
4196-
4197- /* Now look for the beginning of the value. */
4198- while (isspace (cp[0]))
4199- ++cp;
4200-
4201- if (cp[0] != '\0')
4202- {
4203- char *tp;
4204- size_t len;
4205-
4206- value = cp++;
4207- while (cp[0] != '\0' && !isspace (cp[0]))
4208- ++cp;
4209- /* Terminate value. */
4210- if (cp[0] == '\n')
4211- {
4212- /* This has to be done to make the following test
4213- for the end of line possible. We are looking for
4214- the terminating '\n' which do not overwrite here. */
4215- *cp++ = '\0';
4216- *cp = '\n';
4217- }
4218- else if (cp[0] != '\0')
4219- *cp++ = '\0';
4220-
4221- if (nmap >= maxmap)
4222- extend_alias_table ();
4223-
4224- /* We cannot depend on strdup available in the libc. Sigh! */
4225- len = strlen (alias) + 1;
4226- tp = (char *) malloc (len);
4227- if (tp == NULL)
4228- {
4229- FREE_BLOCKS (block_list);
4230- return added;
4231- }
4232- memcpy (tp, alias, len);
4233- map[nmap].alias = tp;
4234-
4235- len = strlen (value) + 1;
4236- tp = (char *) malloc (len);
4237- if (tp == NULL)
4238- {
4239- FREE_BLOCKS (block_list);
4240- return added;
4241- }
4242- memcpy (tp, value, len);
4243- map[nmap].value = tp;
4244-
4245- ++nmap;
4246- ++added;
4247- }
4248- }
4249-
4250- /* Possibly not the whole line fits into the buffer. Ignore
4251- the rest of the line. */
4252- while (strchr (cp, '\n') == NULL)
4253- {
4254- cp = buf;
4255- if (fgets (buf, BUFSIZ, fp) == NULL)
4256- /* Make sure the inner loop will be left. The outer loop
4257- will exit at the `feof' test. */
4258- *cp = '\n';
4259- }
4260- }
4261-
4262- /* Should we test for ferror()? I think we have to silently ignore
4263- errors. --drepper */
4264- fclose (fp);
4265-
4266- if (added > 0)
4267- qsort (map, nmap, sizeof (struct alias_map),
4268- (int (*) PARAMS ((const void *, const void *))) alias_compare);
4269-
4270- FREE_BLOCKS (block_list);
4271- return added;
4272-}
4273-
4274-
4275-static void
4276-extend_alias_table ()
4277-{
4278- size_t new_size;
4279- struct alias_map *new_map;
4280-
4281- new_size = maxmap == 0 ? 100 : 2 * maxmap;
4282- new_map = (struct alias_map *) malloc (new_size
4283- * sizeof (struct alias_map));
4284- if (new_map == NULL)
4285- /* Simply don't extend: we don't have any more core. */
4286- return;
4287-
4288- memcpy (new_map, map, nmap * sizeof (struct alias_map));
4289-
4290- if (maxmap != 0)
4291- free (map);
4292-
4293- map = new_map;
4294- maxmap = new_size;
4295-}
4296-
4297-
4298-static int
4299-alias_compare (map1, map2)
4300- const struct alias_map *map1;
4301- const struct alias_map *map2;
4302-{
4303-#if defined _LIBC || defined HAVE_STRCASECMP
4304- return strcasecmp (map1->alias, map2->alias);
4305-#else
4306- const unsigned char *p1 = (const unsigned char *) map1->alias;
4307- const unsigned char *p2 = (const unsigned char *) map2->alias;
4308- unsigned char c1, c2;
4309-
4310- if (p1 == p2)
4311- return 0;
4312-
4313- do
4314- {
4315- /* I know this seems to be odd but the tolower() function in
4316- some systems libc cannot handle nonalpha characters. */
4317- c1 = isupper (*p1) ? tolower (*p1) : *p1;
4318- c2 = isupper (*p2) ? tolower (*p2) : *p2;
4319- if (c1 == '\0')
4320- break;
4321- ++p1;
4322- ++p2;
4323- }
4324- while (c1 == c2);
4325-
4326- return c1 - c2;
4327-#endif
4328-}
4329diff -uprN clean/lrzsz-0.12.20/intl/Makefile.in lrzsz-0.12.20/intl/Makefile.in
4330--- clean/lrzsz-0.12.20/intl/Makefile.in 1998-04-26 14:22:35.000000000 +0100
4331+++ lrzsz-0.12.20/intl/Makefile.in 1970-01-01 01:00:00.000000000 +0100
4332@@ -1,214 +0,0 @@
4333-# Makefile for directory with message catalog handling in GNU NLS Utilities.
4334-# Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
4335-#
4336-# This program is free software; you can redistribute it and/or modify
4337-# it under the terms of the GNU General Public License as published by
4338-# the Free Software Foundation; either version 2, or (at your option)
4339-# any later version.
4340-#
4341-# This program is distributed in the hope that it will be useful,
4342-# but WITHOUT ANY WARRANTY; without even the implied warranty of
4343-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4344-# GNU General Public License for more details.
4345-#
4346-# You should have received a copy of the GNU General Public License
4347-# along with this program; if not, write to the Free Software
4348-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
4349-
4350-PACKAGE = @PACKAGE@
4351-VERSION = @VERSION@
4352-
4353-SHELL = /bin/sh
4354-
4355-srcdir = @srcdir@
4356-top_srcdir = @top_srcdir@
4357-top_builddir = ..
4358-VPATH = @srcdir@
4359-
4360-prefix = @prefix@
4361-exec_prefix = @exec_prefix@
4362-transform = @program_transform_name@
4363-libdir = $(exec_prefix)/lib
4364-includedir = $(prefix)/include
4365-datadir = $(prefix)/@DATADIRNAME@
4366-localedir = $(datadir)/locale
4367-gnulocaledir = $(prefix)/share/locale
4368-gettextsrcdir = @datadir@/gettext/intl
4369-aliaspath = $(localedir):.
4370-subdir = intl
4371-
4372-INSTALL = @INSTALL@
4373-INSTALL_DATA = @INSTALL_DATA@
4374-MKINSTALLDIRS = @MKINSTALLDIRS@
4375-
4376-l = @l@
4377-
4378-AR = ar
4379-CC = @CC@
4380-LIBTOOL = @LIBTOOL@
4381-RANLIB = @RANLIB@
4382-
4383-DEFS = -DLOCALEDIR=\"$(localedir)\" -DGNULOCALEDIR=\"$(gnulocaledir)\" \
4384--DLOCALE_ALIAS_PATH=\"$(aliaspath)\" @DEFS@
4385-CPPFLAGS = @CPPFLAGS@
4386-CFLAGS = @CFLAGS@
4387-LDFLAGS = @LDFLAGS@
4388-
4389-COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS)
4390-
4391-HEADERS = $(COMHDRS) libgettext.h loadinfo.h
4392-COMHDRS = gettext.h gettextP.h hash-string.h
4393-SOURCES = $(COMSRCS) intl-compat.c cat-compat.c
4394-COMSRCS = bindtextdom.c dcgettext.c dgettext.c gettext.c \
4395-finddomain.c loadmsgcat.c localealias.c textdomain.c l10nflist.c \
4396-explodename.c
4397-OBJECTS = @INTLOBJS@ bindtextdom.$lo dcgettext.$lo dgettext.$lo gettext.$lo \
4398-finddomain.$lo loadmsgcat.$lo localealias.$lo textdomain.$lo l10nflist.$lo \
4399-explodename.$lo
4400-CATOBJS = cat-compat.$lo ../po/cat-id-tbl.$lo
4401-GETTOBJS = intl-compat.$lo
4402-DISTFILES.common = ChangeLog Makefile.in linux-msg.sed po2tbl.sed.in \
4403-xopen-msg.sed $(HEADERS) $(SOURCES)
4404-DISTFILES.normal = VERSION
4405-DISTFILES.gettext = libintl.glibc intlh.inst.in
4406-
4407-.SUFFIXES:
4408-.SUFFIXES: .c .o .lo
4409-.c.o:
4410- $(COMPILE) $<
4411-.c.lo:
4412- $(LIBTOOL) --mode=compile $(COMPILE) $<
4413-
4414-INCLUDES = -I.. -I. -I$(top_srcdir)/intl -I$(top_srcdir)/lib
4415-
4416-all: all-@USE_INCLUDED_LIBINTL@
4417-
4418-all-yes: libintl.$la intlh.inst
4419-all-no:
4420-
4421-libintl.a: $(OBJECTS)
4422- rm -f $@
4423- $(AR) cru $@ $(OBJECTS)
4424- $(RANLIB) $@
4425-
4426-libintl.la: $(OBJECTS)
4427- $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -o $@ $(OBJECTS) \
4428- -version-info 1:0 -rpath $(libdir)
4429-
4430-../po/cat-id-tbl.$lo: ../po/cat-id-tbl.c $(top_srcdir)/po/$(PACKAGE).pot
4431- cd ../po && $(MAKE) cat-id-tbl.$lo
4432-
4433-check: all
4434-
4435-# This installation goal is only used in GNU gettext. Packages which
4436-# only use the library should use install instead.
4437-
4438-# We must not install the libintl.h/libintl.a files if we are on a
4439-# system which has the gettext() function in its C library or in a
4440-# separate library or use the catgets interface. A special case is
4441-# where configure found a previously installed GNU gettext library.
4442-# If you want to use the one which comes with this version of the
4443-# package, you have to use `configure --with-included-gettext'.
4444-install: install-exec install-data
4445-install-exec: all
4446- if test "$(PACKAGE)" = "gettext" \
4447- && test '@INTLOBJS@' = '$(GETTOBJS)'; then \
4448- if test -r $(MKINSTALLDIRS); then \
4449- $(MKINSTALLDIRS) $(libdir) $(includedir); \
4450- else \
4451- $(top_srcdir)/mkinstalldirs $(libdir) $(includedir); \
4452- fi; \
4453- $(INSTALL_DATA) intlh.inst $(includedir)/libintl.h; \
4454- $(INSTALL_DATA) libintl.a $(libdir)/libintl.a; \
4455- else \
4456- : ; \
4457- fi
4458-install-data: all
4459- if test "$(PACKAGE)" = "gettext"; then \
4460- if test -r $(MKINSTALLDIRS); then \
4461- $(MKINSTALLDIRS) $(gettextsrcdir); \
4462- else \
4463- $(top_srcdir)/mkinstalldirs $(gettextsrcdir); \
4464- fi; \
4465- $(INSTALL_DATA) VERSION $(gettextsrcdir)/VERSION; \
4466- dists="$(DISTFILES.common)"; \
4467- for file in $$dists; do \
4468- $(INSTALL_DATA) $(srcdir)/$$file $(gettextsrcdir)/$$file; \
4469- done; \
4470- else \
4471- : ; \
4472- fi
4473-
4474-# Define this as empty until I found a useful application.
4475-installcheck:
4476-
4477-uninstall:
4478- dists="$(DISTFILES.common)"; \
4479- for file in $$dists; do \
4480- rm -f $(gettextsrcdir)/$$file; \
4481- done
4482-
4483-info dvi:
4484-
4485-$(OBJECTS): ../config.h libgettext.h
4486-bindtextdom.$lo finddomain.$lo loadmsgcat.$lo: gettextP.h gettext.h loadinfo.h
4487-dcgettext.$lo: gettextP.h gettext.h hash-string.h loadinfo.h
4488-
4489-tags: TAGS
4490-
4491-TAGS: $(HEADERS) $(SOURCES)
4492- here=`pwd`; cd $(srcdir) && etags -o $$here/TAGS $(HEADERS) $(SOURCES)
4493-
4494-id: ID
4495-
4496-ID: $(HEADERS) $(SOURCES)
4497- here=`pwd`; cd $(srcdir) && mkid -f$$here/ID $(HEADERS) $(SOURCES)
4498-
4499-
4500-mostlyclean:
4501- rm -f *.a *.o *.lo core core.*
4502-
4503-clean: mostlyclean
4504-
4505-distclean: clean
4506- rm -f Makefile ID TAGS po2msg.sed po2tbl.sed libintl.h
4507-
4508-maintainer-clean: distclean
4509- @echo "This command is intended for maintainers to use;"
4510- @echo "it deletes files that may require special tools to rebuild."
4511-
4512-
4513-# GNU gettext needs not contain the file `VERSION' but contains some
4514-# other files which should not be distributed in other packages.
4515-distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
4516-dist distdir: Makefile $(DISTFILES)
4517- if test "$(PACKAGE)" = gettext; then \
4518- additional="$(DISTFILES.gettext)"; \
4519- else \
4520- additional="$(DISTFILES.normal)"; \
4521- fi; \
4522- for file in $(DISTFILES.common) $$additional; do \
4523- ln $(srcdir)/$$file $(distdir) 2> /dev/null \
4524- || cp -p $(srcdir)/$$file $(distdir); \
4525- done
4526-
4527-dist-libc:
4528- tar zcvf intl-glibc.tar.gz $(COMSRCS) $(COMHDRS) libintl.h.glibc
4529-
4530-Makefile: Makefile.in ../config.status
4531- cd .. \
4532- && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
4533-
4534-# The dependency for intlh.inst is different in gettext and all other
4535-# packages. Because we cannot you GNU make features we have to solve
4536-# the problem while rewriting Makefile.in.
4537-@GT_YES@intlh.inst: intlh.inst.in ../config.status
4538-@GT_YES@ cd .. \
4539-@GT_YES@ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= \
4540-@GT_YES@ $(SHELL) ./config.status
4541-@GT_NO@.PHONY: intlh.inst
4542-@GT_NO@intlh.inst:
4543-
4544-# Tell versions [3.59,3.63) of GNU make not to export all variables.
4545-# Otherwise a system limit (for SysV at least) may be exceeded.
4546-.NOEXPORT:
4547diff -uprN clean/lrzsz-0.12.20/intl/po2tbl.sed.in lrzsz-0.12.20/intl/po2tbl.sed.in
4548--- clean/lrzsz-0.12.20/intl/po2tbl.sed.in 1998-04-26 14:20:52.000000000 +0100
4549+++ lrzsz-0.12.20/intl/po2tbl.sed.in 1970-01-01 01:00:00.000000000 +0100
4550@@ -1,102 +0,0 @@
4551-# po2tbl.sed - Convert Uniforum style .po file to lookup table for catgets
4552-# Copyright (C) 1995 Free Software Foundation, Inc.
4553-# Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
4554-#
4555-# This program is free software; you can redistribute it and/or modify
4556-# it under the terms of the GNU General Public License as published by
4557-# the Free Software Foundation; either version 2, or (at your option)
4558-# any later version.
4559-#
4560-# This program is distributed in the hope that it will be useful,
4561-# but WITHOUT ANY WARRANTY; without even the implied warranty of
4562-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4563-# GNU General Public License for more details.
4564-#
4565-# You should have received a copy of the GNU General Public License
4566-# along with this program; if not, write to the Free Software
4567-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
4568-#
4569-1 {
4570- i\
4571-/* Automatically generated by po2tbl.sed from @PACKAGE NAME@.pot. */\
4572-\
4573-#if HAVE_CONFIG_H\
4574-# include <config.h>\
4575-#endif\
4576-\
4577-#include "libgettext.h"\
4578-\
4579-const struct _msg_ent _msg_tbl[] = {
4580- h
4581- s/.*/0/
4582- x
4583-}
4584-#
4585-# Write msgid entries in C array form.
4586-#
4587-/^msgid/ {
4588- s/msgid[ ]*\(".*"\)/ {\1/
4589- tb
4590-# Append the next line
4591- :b
4592- N
4593-# Look whether second part is continuation line.
4594- s/\(.*\)"\(\n\)"\(.*"\)/\1\2\3/
4595-# Yes, then branch.
4596- ta
4597-# Because we assume that the input file correctly formed the line
4598-# just read cannot be again be a msgid line. So it's safe to ignore
4599-# it.
4600- s/\(.*\)\n.*/\1/
4601- bc
4602-# We found a continuation line. But before printing insert '\'.
4603- :a
4604- s/\(.*\)\(\n.*\)/\1\\\2/
4605- P
4606-# We cannot use D here.
4607- s/.*\n\(.*\)/\1/
4608-# Some buggy seds do not clear the `successful substitution since last ``t'''
4609-# flag on `N', so we do a `t' here to clear it.
4610- tb
4611-# Not reached
4612- :c
4613- x
4614-# The following nice solution is by
4615-# Bruno <Haible@ma2s2.mathematik.uni-karlsruhe.de>
4616- td
4617-# Increment a decimal number in pattern space.
4618-# First hide trailing `9' digits.
4619- :d
4620- s/9\(_*\)$/_\1/
4621- td
4622-# Assure at least one digit is available.
4623- s/^\(_*\)$/0\1/
4624-# Increment the last digit.
4625- s/8\(_*\)$/9\1/
4626- s/7\(_*\)$/8\1/
4627- s/6\(_*\)$/7\1/
4628- s/5\(_*\)$/6\1/
4629- s/4\(_*\)$/5\1/
4630- s/3\(_*\)$/4\1/
4631- s/2\(_*\)$/3\1/
4632- s/1\(_*\)$/2\1/
4633- s/0\(_*\)$/1\1/
4634-# Convert the hidden `9' digits to `0's.
4635- s/_/0/g
4636- x
4637- G
4638- s/\(.*\)\n\([0-9]*\)/\1, \2},/
4639- s/\(.*\)"$/\1/
4640- p
4641-}
4642-#
4643-# Last line.
4644-#
4645-$ {
4646- i\
4647-};\
4648-
4649- g
4650- s/0*\(.*\)/int _msg_tbl_length = \1;/p
4651-}
4652-d
4653diff -uprN clean/lrzsz-0.12.20/intl/textdomain.c lrzsz-0.12.20/intl/textdomain.c
4654--- clean/lrzsz-0.12.20/intl/textdomain.c 1998-04-26 14:22:37.000000000 +0100
4655+++ lrzsz-0.12.20/intl/textdomain.c 1970-01-01 01:00:00.000000000 +0100
4656@@ -1,106 +0,0 @@
4657-/* Implementation of the textdomain(3) function
4658- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
4659- Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
4660-
4661- This program is free software; you can redistribute it and/or modify
4662- it under the terms of the GNU General Public License as published by
4663- the Free Software Foundation; either version 2, or (at your option)
4664- any later version.
4665-
4666- This program is distributed in the hope that it will be useful,
4667- but WITHOUT ANY WARRANTY; without even the implied warranty of
4668- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4669- GNU General Public License for more details.
4670-
4671- You should have received a copy of the GNU General Public License
4672- along with this program; if not, write to the Free Software Foundation,
4673- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
4674-
4675-#ifdef HAVE_CONFIG_H
4676-# include <config.h>
4677-#endif
4678-
4679-#if defined STDC_HEADERS || defined _LIBC
4680-# include <stdlib.h>
4681-#endif
4682-
4683-#if defined STDC_HEADERS || defined HAVE_STRING_H || defined _LIBC
4684-# include <string.h>
4685-#else
4686-# include <strings.h>
4687-# ifndef memcpy
4688-# define memcpy(Dst, Src, Num) bcopy (Src, Dst, Num)
4689-# endif
4690-#endif
4691-
4692-#ifdef _LIBC
4693-# include <libintl.h>
4694-#else
4695-# include "libgettext.h"
4696-#endif
4697-
4698-/* @@ end of prolog @@ */
4699-
4700-/* Name of the default text domain. */
4701-extern const char _nl_default_default_domain[];
4702-
4703-/* Default text domain in which entries for gettext(3) are to be found. */
4704-extern const char *_nl_current_default_domain;
4705-
4706-
4707-/* Names for the libintl functions are a problem. They must not clash
4708- with existing names and they should follow ANSI C. But this source
4709- code is also used in GNU C Library where the names have a __
4710- prefix. So we have to make a difference here. */
4711-#ifdef _LIBC
4712-# define TEXTDOMAIN __textdomain
4713-# define strdup(str) __strdup (str)
4714-#else
4715-# define TEXTDOMAIN textdomain__
4716-#endif
4717-
4718-/* Set the current default message catalog to DOMAINNAME.
4719- If DOMAINNAME is null, return the current default.
4720- If DOMAINNAME is "", reset to the default of "messages". */
4721-char *
4722-TEXTDOMAIN (domainname)
4723- const char *domainname;
4724-{
4725- char *old;
4726-
4727- /* A NULL pointer requests the current setting. */
4728- if (domainname == NULL)
4729- return (char *) _nl_current_default_domain;
4730-
4731- old = (char *) _nl_current_default_domain;
4732-
4733- /* If domain name is the null string set to default domain "messages". */
4734- if (domainname[0] == '\0'
4735- || strcmp (domainname, _nl_default_default_domain) == 0)
4736- _nl_current_default_domain = _nl_default_default_domain;
4737- else
4738- {
4739- /* If the following malloc fails `_nl_current_default_domain'
4740- will be NULL. This value will be returned and so signals we
4741- are out of core. */
4742-#if defined _LIBC || defined HAVE_STRDUP
4743- _nl_current_default_domain = strdup (domainname);
4744-#else
4745- size_t len = strlen (domainname) + 1;
4746- char *cp = (char *) malloc (len);
4747- if (cp != NULL)
4748- memcpy (cp, domainname, len);
4749- _nl_current_default_domain = cp;
4750-#endif
4751- }
4752-
4753- if (old != _nl_default_default_domain)
4754- free (old);
4755-
4756- return (char *) _nl_current_default_domain;
4757-}
4758-
4759-#ifdef _LIBC
4760-/* Alias for function name in GNU C Library. */
4761-weak_alias (__textdomain, textdomain);
4762-#endif
4763diff -uprN clean/lrzsz-0.12.20/intl/VERSION lrzsz-0.12.20/intl/VERSION
4764--- clean/lrzsz-0.12.20/intl/VERSION 1998-04-26 14:22:37.000000000 +0100
4765+++ lrzsz-0.12.20/intl/VERSION 1970-01-01 01:00:00.000000000 +0100
4766@@ -1 +0,0 @@
4767-GNU gettext library from gettext-0.10.32
4768diff -uprN clean/lrzsz-0.12.20/intl/xopen-msg.sed lrzsz-0.12.20/intl/xopen-msg.sed
4769--- clean/lrzsz-0.12.20/intl/xopen-msg.sed 1998-04-26 14:20:52.000000000 +0100
4770+++ lrzsz-0.12.20/intl/xopen-msg.sed 1970-01-01 01:00:00.000000000 +0100
4771@@ -1,104 +0,0 @@
4772-# po2msg.sed - Convert Uniforum style .po file to X/Open style .msg file
4773-# Copyright (C) 1995 Free Software Foundation, Inc.
4774-# Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
4775-#
4776-# This program is free software; you can redistribute it and/or modify
4777-# it under the terms of the GNU General Public License as published by
4778-# the Free Software Foundation; either version 2, or (at your option)
4779-# any later version.
4780-#
4781-# This program is distributed in the hope that it will be useful,
4782-# but WITHOUT ANY WARRANTY; without even the implied warranty of
4783-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4784-# GNU General Public License for more details.
4785-#
4786-# You should have received a copy of the GNU General Public License
4787-# along with this program; if not, write to the Free Software
4788-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
4789-#
4790-#
4791-# The first directive in the .msg should be the definition of the
4792-# message set number. We use always set number 1.
4793-#
4794-1 {
4795- i\
4796-$set 1 # Automatically created by po2msg.sed
4797- h
4798- s/.*/0/
4799- x
4800-}
4801-#
4802-# We copy all comments into the .msg file. Perhaps they can help.
4803-#
4804-/^#/ s/^#[ ]*/$ /p
4805-#
4806-# We copy the original message as a comment into the .msg file.
4807-#
4808-/^msgid/ {
4809-# Does not work now
4810-# /"$/! {
4811-# s/\\$//
4812-# s/$/ ... (more lines following)"/
4813-# }
4814- s/^msgid[ ]*"\(.*\)"$/$ Original Message: \1/
4815- p
4816-}
4817-#
4818-# The .msg file contains, other then the .po file, only the translations
4819-# but each given a unique ID. Starting from 1 and incrementing by 1 for
4820-# each message we assign them to the messages.
4821-# It is important that the .po file used to generate the cat-id-tbl.c file
4822-# (with po-to-tbl) is the same as the one used here. (At least the order
4823-# of declarations must not be changed.)
4824-#
4825-/^msgstr/ {
4826- s/msgstr[ ]*"\(.*\)"/\1/
4827- x
4828-# The following nice solution is by
4829-# Bruno <Haible@ma2s2.mathematik.uni-karlsruhe.de>
4830- td
4831-# Increment a decimal number in pattern space.
4832-# First hide trailing `9' digits.
4833- :d
4834- s/9\(_*\)$/_\1/
4835- td
4836-# Assure at least one digit is available.
4837- s/^\(_*\)$/0\1/
4838-# Increment the last digit.
4839- s/8\(_*\)$/9\1/
4840- s/7\(_*\)$/8\1/
4841- s/6\(_*\)$/7\1/
4842- s/5\(_*\)$/6\1/
4843- s/4\(_*\)$/5\1/
4844- s/3\(_*\)$/4\1/
4845- s/2\(_*\)$/3\1/
4846- s/1\(_*\)$/2\1/
4847- s/0\(_*\)$/1\1/
4848-# Convert the hidden `9' digits to `0's.
4849- s/_/0/g
4850- x
4851-# Bring the line in the format `<number> <message>'
4852- G
4853- s/^[^\n]*$/& /
4854- s/\(.*\)\n\([0-9]*\)/\2 \1/
4855-# Clear flag from last substitution.
4856- tb
4857-# Append the next line.
4858- :b
4859- N
4860-# Look whether second part is a continuation line.
4861- s/\(.*\n\)"\(.*\)"/\1\2/
4862-# Yes, then branch.
4863- ta
4864- P
4865- D
4866-# Note that `D' includes a jump to the start!!
4867-# We found a continuation line. But before printing insert '\'.
4868- :a
4869- s/\(.*\)\(\n.*\)/\1\\\2/
4870- P
4871-# We cannot use the sed command `D' here
4872- s/.*\n\(.*\)/\1/
4873- tb
4874-}
4875-d
4876diff -uprN clean/lrzsz-0.12.20/lib/Makefile.am lrzsz-0.12.20/lib/Makefile.am
4877--- clean/lrzsz-0.12.20/lib/Makefile.am 1998-12-27 16:25:26.000000000 +0000
4878+++ lrzsz-0.12.20/lib/Makefile.am 2019-11-25 16:22:34.000000000 +0000
4879@@ -1,6 +1,4 @@
4880 noinst_LIBRARIES=libzmodem.a
4881-CFLAGS=@CFLAGS@
4882-AUTOMAKE_OPTIONS=ansi2knr
4883
4884 EXTRA_DIST = alloca.c ansi2knr.1 ansi2knr.c \
4885 getopt.c getopt1.c mkdir.c mktime.c \
4886diff -uprN clean/lrzsz-0.12.20/Makefile.am lrzsz-0.12.20/Makefile.am
4887--- clean/lrzsz-0.12.20/Makefile.am 1998-12-30 11:19:40.000000000 +0000
4888+++ lrzsz-0.12.20/Makefile.am 2019-11-26 11:47:29.000000000 +0000
4889@@ -1,5 +1,5 @@
4890-SUBDIRS = lib intl src po man testsuite
4891-EXTRA_DIST = check.lrzsz COMPATABILITY README.cvs README.isdn4linux \
4892+SUBDIRS = lib src po man testsuite
4893+EXTRA_DIST = config.rpath m4/ChangeLog check.lrzsz COMPATABILITY README.cvs README.isdn4linux \
4894 README.gettext rpmrc buildrpm systype.in fastcheck.sh README.tests \
4895 beos-runpiped.c fastcheck.beos
4896 noinst_SCRIPTS=systype
4897@@ -7,7 +7,6 @@ PR=@PACKAGE@-@VERSION@
4898 CLEAN_FILES=fastcheck.done
4899
4900 dist-hook:
4901- mkdir $(distdir)/debian
4902 cp -fa $(srcdir)/debian/changelog $(distdir)/debian/
4903 cp -fa $(srcdir)/debian/control $(distdir)/debian/
4904 cp -fa $(srcdir)/debian/copyright $(distdir)/debian/
4905@@ -83,3 +82,5 @@ cvs-dist:
4906 rpm: $(PR).tar.gz Specfile
4907 $(srcdir)/buildrpm $(srcdir)
4908
4909+
4910+ACLOCAL_AMFLAGS = -I m4
4911diff -uprN clean/lrzsz-0.12.20/po/cat-id-tbl.c lrzsz-0.12.20/po/cat-id-tbl.c
4912--- clean/lrzsz-0.12.20/po/cat-id-tbl.c 1998-12-29 09:24:24.000000000 +0000
4913+++ lrzsz-0.12.20/po/cat-id-tbl.c 1970-01-01 01:00:00.000000000 +0100
4914@@ -1,234 +0,0 @@
4915-/* Automatically generated by po2tbl.sed from lrzsz.pot. */
4916-
4917-#if HAVE_CONFIG_H
4918-# include <config.h>
4919-#endif
4920-
4921-#include "libgettext.h"
4922-
4923-const struct _msg_ent _msg_tbl[] = {
4924- {"", 1},
4925- {"io_mode(,2) in rbsb.c not implemented\n", 2},
4926- {"caught signal %d; exiting", 3},
4927- {"command tries", 4},
4928- {"packetlength", 5},
4929- {"packetlength out of range 24..%ld", 6},
4930- {"framelength", 7},
4931- {"framelength out of range 32..%ld", 8},
4932- {"min_bps", 9},
4933- {"min_bps must be >= 0", 10},
4934- {"min_bps_time", 11},
4935- {"min_bps_time must be > 1", 12},
4936- {"hour to large (0..23)", 13},
4937- {"unparsable stop time\n", 14},
4938- {"minute to large (0..59)", 15},
4939- {"stop time to small", 16},
4940- {"stop-at", 17},
4941- {"timeout", 18},
4942- {"timeout out of range 10..1000", 19},
4943- {"security violation: can't do that under restricted shell\n", 20},
4944- {"window size", 21},
4945- {"cannot turnoff syslog", 22},
4946- {"startup delay", 23},
4947- {"out of memory", 24},
4948- {"this program was never intended to be used setuid\n", 25},
4949- {"need at least one file to send", 26},
4950- {"Can't send command in restricted mode\n", 27},
4951- {"hostname too long\n", 28},
4952- {"illegal server address\n", 29},
4953- {"can read only one file from stdin", 30},
4954- {"Transfer incomplete\n", 31},
4955- {"Transfer complete\n", 32},
4956- {"send_pseudo %s: cannot open tmpfile %s: %s", 33},
4957- {"send_pseudo %s: cannot lstat tmpfile %s: %s", 34},
4958- {"send_pseudo %s: avoiding symlink trap", 35},
4959- {"send_pseudo %s: cannot write to tmpfile %s: %s", 36},
4960- {"send_pseudo %s: failed", 37},
4961- {"send_pseudo %s: ok", 38},
4962- {"tcp protocol init failed\n", 39},
4963- {"Answering TIMESYNC at %s", 40},
4964- {"timezone", 41},
4965- {"timezone unknown", 42},
4966- {"Can't open any requested files.", 43},
4967- {"security violation: not allowed to upload from %s", 44},
4968- {"cannot open %s", 45},
4969- {"is not a file: %s", 46},
4970- {"%s/%s: error occured", 47},
4971- {"skipped: %s", 48},
4972- {"%s/%s: skipped", 49},
4973- {"Bytes Sent:%7ld BPS:%-8ld \n", 50},
4974- {"Sending %s, %ld blocks: ", 51},
4975- {"Give your local XMODEM receive command now.", 52},
4976- {"Sending: %s\n", 53},
4977- {"Timeout on pathname", 54},
4978- {"Receiver Cancelled", 55},
4979- {"No ACK on EOT", 56},
4980- {"Xmodem sectors/kbytes sent: %3d/%2dk", 57},
4981- {"Ymodem sectors/kbytes sent: %3d/%2dk", 58},
4982- {"Cancelled", 59},
4983- {"Timeout on sector ACK", 60},
4984- {"NAK on sector", 61},
4985- {"Got burst for sector ACK", 62},
4986- {"Got %02x for sector ACK", 63},
4987- {"Retry Count Exceeded", 64},
4988- {"Try `%s --help' for more information.\n", 65},
4989- {"%s version %s\n", 66},
4990- {"Usage: %s [options] file ...\n", 67},
4991- {" or: %s [options] -{c|i} COMMAND\n", 68},
4992- {"Send file(s) with ZMODEM/YMODEM/XMODEM protocol\n", 69},
4993- {"\
4994- (X) = option applies to XMODEM only\n\
4995- (Y) = option applies to YMODEM only\n\
4996- (Z) = option applies to ZMODEM only\n", 70},
4997- {"\
4998- -+, --append append to existing destination file (Z)\n\
4999- -2, --twostop use 2 stop bits\n\
5000- -4, --try-4k go up to 4K blocksize\n\
5001- --start-4k start with 4K blocksize (doesn't try 8)\n\
5002- -8, --try-8k go up to 8K blocksize\n\
5003- --start-8k start with 8K blocksize\n\
5004- -a, --ascii ASCII transfer (change CR/LF to LF)\n\
5005- -b, --binary binary transfer\n\
5006- -B, --bufsize N buffer N bytes (N==auto: buffer whole file)\n\
5007- -c, --command COMMAND execute remote command COMMAND (Z)\n\
5008- -C, --command-tries N try N times to execute a command (Z)\n\
5009- -d, --dot-to-slash change '.' to '/' in pathnames (Y/Z)\n\
5010- --delay-startup N sleep N seconds before doing anything\n\
5011- -e, --escape escape all control characters (Z)\n\
5012- -E, --rename force receiver to rename files it already has\n\
5013- -f, --full-path send full pathname (Y/Z)\n\
5014- -i, --immediate-command CMD send remote CMD, return immediately (Z)\n\
5015- -h, --help print this usage message\n\
5016- -k, --1k send 1024 byte packets (X)\n\
5017- -L, --packetlen N limit subpacket length to N bytes (Z)\n\
5018- -l, --framelen N limit frame length to N bytes (l>=L) (Z)\n\
5019- -m, --min-bps N stop transmission if BPS below N\n\
5020- -M, --min-bps-time N for at least N seconds (default: 120)\n", 71},
5021- {"\
5022- -n, --newer send file if source newer (Z)\n\
5023- -N, --newer-or-longer send file if source newer or longer (Z)\n\
5024- -o, --16-bit-crc use 16 bit CRC instead of 32 bit CRC (Z)\n\
5025- -O, --disable-timeouts disable timeout code, wait forever\n\
5026- -p, --protect protect existing destination file (Z)\n\
5027- -r, --resume resume interrupted file transfer (Z)\n\
5028- -R, --restricted restricted, more secure mode\n\
5029- -q, --quiet quiet (no progress reports)\n\
5030- -s, --stop-at {HH:MM|+N} stop transmission at HH:MM or in N seconds\n\
5031- --tcp build a TCP connection to transmit files\n\
5032- --tcp-server open socket, wait for connection\n\
5033- -u, --unlink unlink file after transmission\n\
5034- -U, --unrestrict turn off restricted mode (if allowed to)\n\
5035- -v, --verbose be verbose, provide debugging information\n\
5036- -w, --windowsize N Window is N bytes (Z)\n\
5037- -X, --xmodem use XMODEM protocol\n\
5038- -y, --overwrite overwrite existing files\n\
5039- -Y, --overwrite-or-skip overwrite existing files, else skip\n\
5040- --ymodem use YMODEM protocol\n\
5041- -Z, --zmodem use ZMODEM protocol\n\
5042-\n\
5043-short options use the same arguments as the long ones\n", 72},
5044- {"got ZRQINIT", 73},
5045- {"got ZCAN", 74},
5046- {"blklen now %d\n", 75},
5047- {"zsendfdata: bps rate %ld below min %ld", 76},
5048- {"zsendfdata: reached stop time", 77},
5049- {"Bytes Sent:%7ld/%7ld BPS:%-8ld ETA %02d:%02d ", 78},
5050- {"calc_blklen: reduced to %d due to error\n", 79},
5051- {"calc_blklen: returned old value %d due to low bpe diff\n", 80},
5052- {"calc_blklen: old %ld, new %ld, d %ld\n", 81},
5053- {"calc_blklen: calc total_bytes=%ld, bpe=%ld, ec=%ld\n", 82},
5054- {"calc_blklen: blklen %d, ok %ld, failed %ld -> %lu\n", 83},
5055- {"calc_blklen: returned %d as best\n", 84},
5056- {"\
5057-\n\
5058-countem: Total %d %ld\n", 85},
5059- {"Bad escape sequence %x", 86},
5060- {"Sender Canceled", 87},
5061- {"TIMEOUT", 88},
5062- {"Bad data subpacket", 89},
5063- {"Data subpacket too long", 90},
5064- {"Garbage count exceeded", 91},
5065- {"Got %s", 92},
5066- {"Retry %d: ", 93},
5067- {"don't have settimeofday, will not set time\n", 94},
5068- {"not running as root (this is good!), can not set time\n", 95},
5069- {"bytes_per_error", 96},
5070- {"bytes-per-error should be >100", 97},
5071- {"O_SYNC not supported by the kernel", 98},
5072- {"garbage on commandline", 99},
5073- {"Usage: %s [options] [filename.if.xmodem]\n", 100},
5074- {"Receive files with ZMODEM/YMODEM/XMODEM protocol\n", 101},
5075- {"\
5076- -+, --append append to existing files\n\
5077- -a, --ascii ASCII transfer (change CR/LF to LF)\n\
5078- -b, --binary binary transfer\n\
5079- -B, --bufsize N buffer N bytes (N==auto: buffer whole file)\n\
5080- -c, --with-crc Use 16 bit CRC (X)\n\
5081- -C, --allow-remote-commands allow execution of remote commands (Z)\n\
5082- -D, --null write all received data to /dev/null\n\
5083- --delay-startup N sleep N seconds before doing anything\n\
5084- -e, --escape Escape control characters (Z)\n\
5085- -E, --rename rename any files already existing\n\
5086- --errors N generate CRC error every N bytes (debugging)\n\
5087- -h, --help Help, print this usage message\n\
5088- -m, --min-bps N stop transmission if BPS below N\n\
5089- -M, --min-bps-time N for at least N seconds (default: 120)\n\
5090- -O, --disable-timeouts disable timeout code, wait forever for data\n\
5091- --o-sync open output file(s) in synchronous write mode\n\
5092- -p, --protect protect existing files\n\
5093- -q, --quiet quiet, no progress reports\n\
5094- -r, --resume try to resume interrupted file transfer (Z)\n\
5095- -R, --restricted restricted, more secure mode\n\
5096- -s, --stop-at {HH:MM|+N} stop transmission at HH:MM or in N seconds\n\
5097- -S, --timesync request remote time (twice: set local time)\n\
5098- --syslog[=off] turn syslog on or off, if possible\n\
5099- -t, --timeout N set timeout to N tenths of a second\n\
5100- -u, --keep-uppercase keep upper case filenames\n\
5101- -U, --unrestrict disable restricted mode (if allowed to)\n\
5102- -v, --verbose be verbose, provide debugging information\n\
5103- -w, --windowsize N Window is N bytes (Z)\n\
5104- -X --xmodem use XMODEM protocol\n\
5105- -y, --overwrite Yes, clobber existing file if any\n\
5106- --ymodem use YMODEM protocol\n\
5107- -Z, --zmodem use ZMODEM protocol\n\
5108-\n\
5109-short options use the same arguments as the long ones\n", 102},
5110- {"%s waiting to receive.", 103},
5111- {"\rBytes received: %7ld/%7ld BPS:%-6ld \r\n", 104},
5112- {"%s: ready to receive %s", 105},
5113- {"\rBytes received: %7ld BPS:%-6ld \r\n", 106},
5114- {"\
5115-\r\n\
5116-%s: %s removed.\r\n", 107},
5117- {"Pathname fetch returned EOT", 108},
5118- {"Received dup Sector", 109},
5119- {"Sync Error", 110},
5120- {"CRC", 111},
5121- {"Checksum", 112},
5122- {"Sector number garbled", 113},
5123- {"Sender Cancelled", 114},
5124- {"Got 0%o sector header", 115},
5125- {"file name ends with a /, skipped: %s\n", 116},
5126- {"zmanag=%d, Lzmanag=%d\n", 117},
5127- {"zconv=%d\n", 118},
5128- {"file exists, skipped: %s\n", 119},
5129- {"TIMESYNC: here %ld, remote %ld, diff %ld seconds\n", 120},
5130- {"TIMESYNC: cannot set time: %s\n", 121},
5131- {"cannot tmpfile() for tcp protocol synchronization", 122},
5132- {"Topipe", 123},
5133- {"Receiving: %s\n", 124},
5134- {"Blocks received: %d", 125},
5135- {"%s: %s exists\n", 126},
5136- {"%s:\tSecurity Violation", 127},
5137- {"remote command execution requested", 128},
5138- {"not executed", 129},
5139- {"got ZRINIT", 130},
5140- {"Skipped", 131},
5141- {"rzfile: bps rate %ld below min %ld", 132},
5142- {"rzfile: reached stop time", 133},
5143- {"\rBytes received: %7ld/%7ld BPS:%-6ld ETA %02d:%02d ", 134},
5144- {"fgets for tcp protocol synchronization failed: ", 135},
5145- {"file close error", 136},
5146-};
5147-
5148-int _msg_tbl_length = 136;
5149Binary files clean/lrzsz-0.12.20/po/de.gmo and lrzsz-0.12.20/po/de.gmo differ
5150diff -uprN clean/lrzsz-0.12.20/po/de.po lrzsz-0.12.20/po/de.po
5151--- clean/lrzsz-0.12.20/po/de.po 1998-12-30 16:31:46.000000000 +0000
5152+++ lrzsz-0.12.20/po/de.po 2019-11-26 11:42:07.000000000 +0000
5153@@ -6,10 +6,12 @@
5154 msgid ""
5155 msgstr ""
5156 "Project-Id-Version: PACKAGE VERSION\n"
5157-"POT-Creation-Date: 1998-12-30 08:49+0100\n"
5158+"Report-Msgid-Bugs-To: \n"
5159+"POT-Creation-Date: 2019-11-26 11:39+0000\n"
5160 "PO-Revision-Date: 1997-06-01 19:00+0200\n"
5161 "Last-Translator: FULL NAME <uwe@ohse.de>\n"
5162 "Language-Team: none. try <uwe@ohse.de>\n"
5163+"Language: de\n"
5164 "MIME-Version: 1.0\n"
5165 "Content-Type: text/plain; charset=iso-8859-1\n"
5166 "Content-Transfer-Encoding: 8bit\n"
5167@@ -18,7 +20,7 @@ msgstr ""
5168 msgid "io_mode(,2) in rbsb.c not implemented\n"
5169 msgstr "io_mode(2) in rbsb.c nicht implementiert\n"
5170
5171-#: src/lrz.c:201 src/lsz.c:230
5172+#: src/lsz.c:230 src/lrz.c:201
5173 #, c-format
5174 msgid "caught signal %d; exiting"
5175 msgstr "erhielt Signal %d; Programmabbruch"
5176@@ -45,7 +47,7 @@ msgstr "Framelänge"
5177 msgid "framelength out of range 32..%ld"
5178 msgstr "Argument der Option l außerhalb des Bereichs 32..%ld"
5179
5180-#: src/lrz.c:323 src/lsz.c:450
5181+#: src/lsz.c:450 src/lrz.c:323
5182 msgid "min_bps"
5183 msgstr "minimale BPS-Rate"
5184
5185@@ -53,65 +55,65 @@ msgstr "minimale BPS-Rate"
5186 msgid "min_bps must be >= 0"
5187 msgstr "minimale BPS-Rate muß >= 0 sein"
5188
5189-#: src/lrz.c:329 src/lsz.c:458
5190+#: src/lsz.c:458 src/lrz.c:329
5191 msgid "min_bps_time"
5192 msgstr ""
5193
5194-#: src/lrz.c:331 src/lsz.c:460
5195+#: src/lsz.c:460 src/lrz.c:331
5196 msgid "min_bps_time must be > 1"
5197 msgstr "Zeitfenster für minimale BPS-Rate muß > 1 Sekunde sein"
5198
5199-#: src/lrz.c:347 src/lsz.c:484
5200+#: src/lsz.c:484 src/lrz.c:347
5201 msgid "hour to large (0..23)"
5202 msgstr "Stunde zu gross (0..23)"
5203
5204-#: src/lrz.c:349 src/lsz.c:486
5205+#: src/lsz.c:486 src/lrz.c:349
5206 msgid "unparsable stop time\n"
5207 msgstr "unparsbare Endzeit\n"
5208
5209-#: src/lrz.c:353 src/lsz.c:490
5210+#: src/lsz.c:490 src/lrz.c:353
5211 msgid "minute to large (0..59)"
5212 msgstr "Minute zu groß (0..59)"
5213
5214-#: src/lrz.c:363 src/lrz.c:370 src/lsz.c:500 src/lsz.c:507
5215+#: src/lsz.c:500 src/lsz.c:507 src/lrz.c:363 src/lrz.c:370
5216 msgid "stop time to small"
5217 msgstr "Stopzeit zu kurz"
5218
5219-#: src/lrz.c:368 src/lsz.c:505
5220+#: src/lsz.c:505 src/lrz.c:368
5221 msgid "stop-at"
5222 msgstr ""
5223
5224-#: src/lrz.c:399 src/lsz.c:516
5225+#: src/lsz.c:516 src/lrz.c:399
5226 msgid "timeout"
5227 msgstr "Timeout"
5228
5229-#: src/lrz.c:401 src/lsz.c:518
5230+#: src/lsz.c:518 src/lrz.c:401
5231 msgid "timeout out of range 10..1000"
5232 msgstr "Argument der Option t außerhalb des Bereichs 10..1000"
5233
5234-#: src/lrz.c:417 src/lsz.c:526
5235+#: src/lsz.c:526 src/lrz.c:417
5236 msgid "security violation: can't do that under restricted shell\n"
5237 msgstr "Sicherheitsverstoß: Ausführung unter eingeschränkter Shell verboten\n"
5238
5239-#: src/lrz.c:407 src/lsz.c:533
5240+#: src/lsz.c:533 src/lrz.c:407
5241 msgid "window size"
5242 msgstr "Fenstergröße"
5243
5244-#: src/lrz.c:432 src/lrz.c:439 src/lsz.c:556 src/lsz.c:563
5245+#: src/lsz.c:556 src/lsz.c:563 src/lrz.c:432 src/lrz.c:439
5246 msgid "cannot turnoff syslog"
5247 msgstr "kann syslogging nicht abschalten"
5248
5249-#: src/lrz.c:454 src/lsz.c:571
5250+#: src/lsz.c:571 src/lrz.c:454
5251 msgid "startup delay"
5252 msgstr "Startverzögerung"
5253
5254+#: src/lsz.c:583 src/lsz.c:692 src/lsz.c:831 src/lsz.c:1080 src/zreadline.c:127
5255 #: src/lrz.c:470 src/lrz.c:755 src/lrz.c:1117 src/lrz.c:1243 src/lrz.c:1300
5256-#: src/lrz.c:1317 src/lrz.c:1332 src/lrz.c:1431 src/lsz.c:583 src/lsz.c:692
5257-#: src/lsz.c:831 src/lsz.c:1080 src/zreadline.c:127
5258+#: src/lrz.c:1317 src/lrz.c:1332 src/lrz.c:1431
5259 msgid "out of memory"
5260 msgstr "Kein Speicher mehr frei"
5261
5262-#: src/lrz.c:480 src/lsz.c:595
5263+#: src/lsz.c:595 src/lrz.c:480
5264 msgid "this program was never intended to be used setuid\n"
5265 msgstr "dieses Programm darf nicht setuid laufen\n"
5266
5267@@ -120,14 +122,15 @@ msgid "need at least one file to send"
5268 msgstr "es muß mindestens ein Name einer zu sendenden Datei angegeben werden"
5269
5270 #: src/lsz.c:628
5271+#, c-format
5272 msgid "Can't send command in restricted mode\n"
5273 msgstr "Im eingeschränkten Modus ist das Senden von Kommandos verboten\n"
5274
5275-#: src/lrz.c:524 src/lsz.c:655
5276+#: src/lsz.c:655 src/lrz.c:524
5277 msgid "hostname too long\n"
5278 msgstr "Hostname zu lang\n"
5279
5280-#: src/lrz.c:539 src/lsz.c:670
5281+#: src/lsz.c:670 src/lrz.c:539
5282 msgid "illegal server address\n"
5283 msgstr "Illegale Serveraddresse\n"
5284
5285@@ -135,11 +138,11 @@ msgstr "Illegale Serveraddresse\n"
5286 msgid "can read only one file from stdin"
5287 msgstr "kann nur eine Datei von der Standardeingabe lesen"
5288
5289-#: src/lrz.c:571 src/lsz.c:806
5290+#: src/lsz.c:806 src/lrz.c:571
5291 msgid "Transfer incomplete\n"
5292 msgstr "Ãœbertragung nicht abgeschlossen\n"
5293
5294-#: src/lrz.c:573 src/lsz.c:808
5295+#: src/lsz.c:808 src/lrz.c:573
5296 msgid "Transfer complete\n"
5297 msgstr "Ãœbertragung abgeschlossen\n"
5298
5299@@ -197,9 +200,9 @@ msgstr "Kann keine der angeforderten Dat
5300 #: src/lsz.c:1028
5301 #, c-format
5302 msgid "security violation: not allowed to upload from %s"
5303-msgstr "Sicherheitsverstoß: Ausführung unter eingeschränkter Shell verboten"
5304+msgstr "Sicherheitsverstoß: Ausführung unter %s verboten"
5305
5306-#: src/lrz.c:1392 src/lsz.c:1046
5307+#: src/lsz.c:1046 src/lrz.c:1392
5308 #, c-format
5309 msgid "cannot open %s"
5310 msgstr "kann %s nicht öffnen"
5311@@ -290,12 +293,12 @@ msgstr "Erhielt %02x als Sektorbestätigu
5312 msgid "Retry Count Exceeded"
5313 msgstr "Maximale Wiederholungsanzahl überschritten"
5314
5315-#: src/lrz.c:593 src/lsz.c:1521
5316+#: src/lsz.c:1521 src/lrz.c:593
5317 #, c-format
5318 msgid "Try `%s --help' for more information.\n"
5319 msgstr "`%s --help' gibt weitere Informationen.\n"
5320
5321-#: src/lrz.c:598 src/lsz.c:1526
5322+#: src/lsz.c:1526 src/lrz.c:598
5323 #, c-format
5324 msgid "%s version %s\n"
5325 msgstr "%s Version %s\n"
5326@@ -315,7 +318,7 @@ msgid "Send file(s) with ZMODEM/YMODEM/X
5327 msgstr "Dateien mit ZMODEM/YMODEM/XMODEM übertragen\n"
5328
5329 # src/lrz.c:475 src/lsz.c:1330 xx
5330-#: src/lrz.c:604 src/lsz.c:1534
5331+#: src/lsz.c:1534 src/lrz.c:604
5332 msgid ""
5333 " (X) = option applies to XMODEM only\n"
5334 " (Y) = option applies to YMODEM only\n"
5335@@ -431,7 +434,7 @@ msgstr ""
5336 msgid "got ZRQINIT"
5337 msgstr "erhielt ZRQINIT"
5338
5339-#: src/lrz.c:1074 src/lrz.c:1787 src/lsz.c:1792
5340+#: src/lsz.c:1792 src/lrz.c:1074 src/lrz.c:1787
5341 msgid "got ZCAN"
5342 msgstr "erhielt ZCAN"
5343
5344@@ -472,7 +475,7 @@ msgstr "calc_blklen: alt %ld, neu %ld, D
5345 #: src/lsz.c:2272
5346 #, c-format
5347 msgid "calc_blklen: calc total_bytes=%ld, bpe=%ld, ec=%ld\n"
5348-msgstr "calc_blklen: kalkuliere gesamt_bytes=%ld, bpe=%le, ec=%ld\n"
5349+msgstr "calc_blklen: kalkuliere gesamt_bytes=%ld, bpe=%ld, ec=%ld\n"
5350
5351 #: src/lsz.c:2283
5352 #, c-format
5353@@ -493,6 +496,10 @@ msgstr ""
5354 "\n"
5355 "countem: Gesamt %d %ld\n"
5356
5357+#: src/zm.c:91
5358+msgid "Bad CRC"
5359+msgstr ""
5360+
5361 #: src/zm.c:244
5362 #, c-format
5363 msgid "Bad escape sequence %x"
5364@@ -502,7 +509,7 @@ msgstr "Falsche Escapesequenz %x"
5365 msgid "Sender Canceled"
5366 msgstr "Sender brach ab"
5367
5368-#: src/lrz.c:997 src/zm.c:585 src/zm.c:644
5369+#: src/zm.c:585 src/zm.c:644 src/lrz.c:997
5370 msgid "TIMEOUT"
5371 msgstr "TIMEOUT"
5372
5373@@ -772,13 +779,11 @@ msgstr "Erhielt unerwartetes ZRINIT"
5374 msgid "Skipped"
5375 msgstr "Ãœbersprungen"
5376
5377-#. too bad
5378 #: src/lrz.c:2064
5379 #, c-format
5380 msgid "rzfile: bps rate %ld below min %ld"
5381 msgstr "rzfile: BPS-Rate %ld unter Minimum %ld"
5382
5383-#. too bad
5384 #: src/lrz.c:2079
5385 msgid "rzfile: reached stop time"
5386 msgstr "rzfile: Abbruchzeit erreicht"
5387diff -uprN clean/lrzsz-0.12.20/po/lrzsz.pot lrzsz-0.12.20/po/lrzsz.pot
5388--- clean/lrzsz-0.12.20/po/lrzsz.pot 1998-12-30 07:50:00.000000000 +0000
5389+++ lrzsz-0.12.20/po/lrzsz.pot 2019-11-26 11:39:12.000000000 +0000
5390@@ -1,24 +1,27 @@
5391 # SOME DESCRIPTIVE TITLE.
5392 # Copyright (C) YEAR Free Software Foundation, Inc.
5393+# This file is distributed under the same license as the lrzsz package.
5394 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5395 #
5396 #, fuzzy
5397 msgid ""
5398 msgstr ""
5399-"Project-Id-Version: PACKAGE VERSION\n"
5400-"POT-Creation-Date: 1998-12-30 08:49+0100\n"
5401+"Project-Id-Version: lrzsz 0.12.20\n"
5402+"Report-Msgid-Bugs-To: \n"
5403+"POT-Creation-Date: 2019-11-26 11:39+0000\n"
5404 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
5405 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
5406 "Language-Team: LANGUAGE <LL@li.org>\n"
5407+"Language: \n"
5408 "MIME-Version: 1.0\n"
5409 "Content-Type: text/plain; charset=CHARSET\n"
5410-"Content-Transfer-Encoding: ENCODING\n"
5411+"Content-Transfer-Encoding: 8bit\n"
5412
5413 #: src/lsz.c:228
5414 msgid "io_mode(,2) in rbsb.c not implemented\n"
5415 msgstr ""
5416
5417-#: src/lrz.c:201 src/lsz.c:230
5418+#: src/lsz.c:230 src/lrz.c:201
5419 #, c-format
5420 msgid "caught signal %d; exiting"
5421 msgstr ""
5422@@ -45,7 +48,7 @@ msgstr ""
5423 msgid "framelength out of range 32..%ld"
5424 msgstr ""
5425
5426-#: src/lrz.c:323 src/lsz.c:450
5427+#: src/lsz.c:450 src/lrz.c:323
5428 msgid "min_bps"
5429 msgstr ""
5430
5431@@ -53,65 +56,65 @@ msgstr ""
5432 msgid "min_bps must be >= 0"
5433 msgstr ""
5434
5435-#: src/lrz.c:329 src/lsz.c:458
5436+#: src/lsz.c:458 src/lrz.c:329
5437 msgid "min_bps_time"
5438 msgstr ""
5439
5440-#: src/lrz.c:331 src/lsz.c:460
5441+#: src/lsz.c:460 src/lrz.c:331
5442 msgid "min_bps_time must be > 1"
5443 msgstr ""
5444
5445-#: src/lrz.c:347 src/lsz.c:484
5446+#: src/lsz.c:484 src/lrz.c:347
5447 msgid "hour to large (0..23)"
5448 msgstr ""
5449
5450-#: src/lrz.c:349 src/lsz.c:486
5451+#: src/lsz.c:486 src/lrz.c:349
5452 msgid "unparsable stop time\n"
5453 msgstr ""
5454
5455-#: src/lrz.c:353 src/lsz.c:490
5456+#: src/lsz.c:490 src/lrz.c:353
5457 msgid "minute to large (0..59)"
5458 msgstr ""
5459
5460-#: src/lrz.c:363 src/lrz.c:370 src/lsz.c:500 src/lsz.c:507
5461+#: src/lsz.c:500 src/lsz.c:507 src/lrz.c:363 src/lrz.c:370
5462 msgid "stop time to small"
5463 msgstr ""
5464
5465-#: src/lrz.c:368 src/lsz.c:505
5466+#: src/lsz.c:505 src/lrz.c:368
5467 msgid "stop-at"
5468 msgstr ""
5469
5470-#: src/lrz.c:399 src/lsz.c:516
5471+#: src/lsz.c:516 src/lrz.c:399
5472 msgid "timeout"
5473 msgstr ""
5474
5475-#: src/lrz.c:401 src/lsz.c:518
5476+#: src/lsz.c:518 src/lrz.c:401
5477 msgid "timeout out of range 10..1000"
5478 msgstr ""
5479
5480-#: src/lrz.c:417 src/lsz.c:526
5481+#: src/lsz.c:526 src/lrz.c:417
5482 msgid "security violation: can't do that under restricted shell\n"
5483 msgstr ""
5484
5485-#: src/lrz.c:407 src/lsz.c:533
5486+#: src/lsz.c:533 src/lrz.c:407
5487 msgid "window size"
5488 msgstr ""
5489
5490-#: src/lrz.c:432 src/lrz.c:439 src/lsz.c:556 src/lsz.c:563
5491+#: src/lsz.c:556 src/lsz.c:563 src/lrz.c:432 src/lrz.c:439
5492 msgid "cannot turnoff syslog"
5493 msgstr ""
5494
5495-#: src/lrz.c:454 src/lsz.c:571
5496+#: src/lsz.c:571 src/lrz.c:454
5497 msgid "startup delay"
5498 msgstr ""
5499
5500+#: src/lsz.c:583 src/lsz.c:692 src/lsz.c:831 src/lsz.c:1080 src/zreadline.c:127
5501 #: src/lrz.c:470 src/lrz.c:755 src/lrz.c:1117 src/lrz.c:1243 src/lrz.c:1300
5502-#: src/lrz.c:1317 src/lrz.c:1332 src/lrz.c:1431 src/lsz.c:583 src/lsz.c:692
5503-#: src/lsz.c:831 src/lsz.c:1080 src/zreadline.c:127
5504+#: src/lrz.c:1317 src/lrz.c:1332 src/lrz.c:1431
5505 msgid "out of memory"
5506 msgstr ""
5507
5508-#: src/lrz.c:480 src/lsz.c:595
5509+#: src/lsz.c:595 src/lrz.c:480
5510 msgid "this program was never intended to be used setuid\n"
5511 msgstr ""
5512
5513@@ -120,14 +123,15 @@ msgid "need at least one file to send"
5514 msgstr ""
5515
5516 #: src/lsz.c:628
5517+#, c-format
5518 msgid "Can't send command in restricted mode\n"
5519 msgstr ""
5520
5521-#: src/lrz.c:524 src/lsz.c:655
5522+#: src/lsz.c:655 src/lrz.c:524
5523 msgid "hostname too long\n"
5524 msgstr ""
5525
5526-#: src/lrz.c:539 src/lsz.c:670
5527+#: src/lsz.c:670 src/lrz.c:539
5528 msgid "illegal server address\n"
5529 msgstr ""
5530
5531@@ -135,11 +139,11 @@ msgstr ""
5532 msgid "can read only one file from stdin"
5533 msgstr ""
5534
5535-#: src/lrz.c:571 src/lsz.c:806
5536+#: src/lsz.c:806 src/lrz.c:571
5537 msgid "Transfer incomplete\n"
5538 msgstr ""
5539
5540-#: src/lrz.c:573 src/lsz.c:808
5541+#: src/lsz.c:808 src/lrz.c:573
5542 msgid "Transfer complete\n"
5543 msgstr ""
5544
5545@@ -199,7 +203,7 @@ msgstr ""
5546 msgid "security violation: not allowed to upload from %s"
5547 msgstr ""
5548
5549-#: src/lrz.c:1392 src/lsz.c:1046
5550+#: src/lsz.c:1046 src/lrz.c:1392
5551 #, c-format
5552 msgid "cannot open %s"
5553 msgstr ""
5554@@ -290,12 +294,12 @@ msgstr ""
5555 msgid "Retry Count Exceeded"
5556 msgstr ""
5557
5558-#: src/lrz.c:593 src/lsz.c:1521
5559+#: src/lsz.c:1521 src/lrz.c:593
5560 #, c-format
5561 msgid "Try `%s --help' for more information.\n"
5562 msgstr ""
5563
5564-#: src/lrz.c:598 src/lsz.c:1526
5565+#: src/lsz.c:1526 src/lrz.c:598
5566 #, c-format
5567 msgid "%s version %s\n"
5568 msgstr ""
5569@@ -314,7 +318,7 @@ msgstr ""
5570 msgid "Send file(s) with ZMODEM/YMODEM/XMODEM protocol\n"
5571 msgstr ""
5572
5573-#: src/lrz.c:604 src/lsz.c:1534
5574+#: src/lsz.c:1534 src/lrz.c:604
5575 msgid ""
5576 " (X) = option applies to XMODEM only\n"
5577 " (Y) = option applies to YMODEM only\n"
5578@@ -378,7 +382,7 @@ msgstr ""
5579 msgid "got ZRQINIT"
5580 msgstr ""
5581
5582-#: src/lrz.c:1074 src/lrz.c:1787 src/lsz.c:1792
5583+#: src/lsz.c:1792 src/lrz.c:1074 src/lrz.c:1787
5584 msgid "got ZCAN"
5585 msgstr ""
5586
5587@@ -438,6 +442,10 @@ msgid ""
5588 "countem: Total %d %ld\n"
5589 msgstr ""
5590
5591+#: src/zm.c:91
5592+msgid "Bad CRC"
5593+msgstr ""
5594+
5595 #: src/zm.c:244
5596 #, c-format
5597 msgid "Bad escape sequence %x"
5598@@ -447,7 +455,7 @@ msgstr ""
5599 msgid "Sender Canceled"
5600 msgstr ""
5601
5602-#: src/lrz.c:997 src/zm.c:585 src/zm.c:644
5603+#: src/zm.c:585 src/zm.c:644 src/lrz.c:997
5604 msgid "TIMEOUT"
5605 msgstr ""
5606
5607@@ -678,13 +686,11 @@ msgstr ""
5608 msgid "Skipped"
5609 msgstr ""
5610
5611-#. too bad
5612 #: src/lrz.c:2064
5613 #, c-format
5614 msgid "rzfile: bps rate %ld below min %ld"
5615 msgstr ""
5616
5617-#. too bad
5618 #: src/lrz.c:2079
5619 msgid "rzfile: reached stop time"
5620 msgstr ""
5621diff -uprN clean/lrzsz-0.12.20/po/Makevars lrzsz-0.12.20/po/Makevars
5622--- clean/lrzsz-0.12.20/po/Makevars 1970-01-01 01:00:00.000000000 +0100
5623+++ lrzsz-0.12.20/po/Makevars 2019-11-25 18:09:52.000000000 +0000
5624@@ -0,0 +1,78 @@
5625+# Makefile variables for PO directory in any package using GNU gettext.
5626+
5627+# Usually the message domain is the same as the package name.
5628+DOMAIN = $(PACKAGE)
5629+
5630+# These two variables depend on the location of this directory.
5631+subdir = po
5632+top_builddir = ..
5633+
5634+# These options get passed to xgettext.
5635+XGETTEXT_OPTIONS = --keyword=_ --keyword=N_
5636+
5637+# This is the copyright holder that gets inserted into the header of the
5638+# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding
5639+# package. (Note that the msgstr strings, extracted from the package's
5640+# sources, belong to the copyright holder of the package.) Translators are
5641+# expected to transfer the copyright for their translations to this person
5642+# or entity, or to disclaim their copyright. The empty string stands for
5643+# the public domain; in this case the translators are expected to disclaim
5644+# their copyright.
5645+COPYRIGHT_HOLDER = Free Software Foundation, Inc.
5646+
5647+# This tells whether or not to prepend "GNU " prefix to the package
5648+# name that gets inserted into the header of the $(DOMAIN).pot file.
5649+# Possible values are "yes", "no", or empty. If it is empty, try to
5650+# detect it automatically by scanning the files in $(top_srcdir) for
5651+# "GNU packagename" string.
5652+PACKAGE_GNU =
5653+
5654+# This is the email address or URL to which the translators shall report
5655+# bugs in the untranslated strings:
5656+# - Strings which are not entire sentences, see the maintainer guidelines
5657+# in the GNU gettext documentation, section 'Preparing Strings'.
5658+# - Strings which use unclear terms or require additional context to be
5659+# understood.
5660+# - Strings which make invalid assumptions about notation of date, time or
5661+# money.
5662+# - Pluralisation problems.
5663+# - Incorrect English spelling.
5664+# - Incorrect formatting.
5665+# It can be your email address, or a mailing list address where translators
5666+# can write to without being subscribed, or the URL of a web page through
5667+# which the translators can contact you.
5668+MSGID_BUGS_ADDRESS =
5669+
5670+# This is the list of locale categories, beyond LC_MESSAGES, for which the
5671+# message catalogs shall be used. It is usually empty.
5672+EXTRA_LOCALE_CATEGORIES =
5673+
5674+# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt'
5675+# context. Possible values are "yes" and "no". Set this to yes if the
5676+# package uses functions taking also a message context, like pgettext(), or
5677+# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument.
5678+USE_MSGCTXT = no
5679+
5680+# These options get passed to msgmerge.
5681+# Useful options are in particular:
5682+# --previous to keep previous msgids of translated messages,
5683+# --quiet to reduce the verbosity.
5684+MSGMERGE_OPTIONS =
5685+
5686+# These options get passed to msginit.
5687+# If you want to disable line wrapping when writing PO files, add
5688+# --no-wrap to MSGMERGE_OPTIONS, XGETTEXT_OPTIONS, and
5689+# MSGINIT_OPTIONS.
5690+MSGINIT_OPTIONS =
5691+
5692+# This tells whether or not to regenerate a PO file when $(DOMAIN).pot
5693+# has changed. Possible values are "yes" and "no". Set this to no if
5694+# the POT file is checked in the repository and the version control
5695+# program ignores timestamps.
5696+PO_DEPENDS_ON_POT = yes
5697+
5698+# This tells whether or not to forcibly update $(DOMAIN).pot and
5699+# regenerate PO files on "make dist". Possible values are "yes" and
5700+# "no". Set this to no if the POT file and PO files are maintained
5701+# externally.
5702+DIST_DEPENDS_ON_UPDATE_PO = yes
5703diff -uprN clean/lrzsz-0.12.20/po/stamp-cat-id lrzsz-0.12.20/po/stamp-cat-id
5704--- clean/lrzsz-0.12.20/po/stamp-cat-id 1998-12-30 07:50:01.000000000 +0000
5705+++ lrzsz-0.12.20/po/stamp-cat-id 1970-01-01 01:00:00.000000000 +0100
5706@@ -1 +0,0 @@
5707-timestamp
5708diff -uprN clean/lrzsz-0.12.20/po/stamp-po lrzsz-0.12.20/po/stamp-po
5709--- clean/lrzsz-0.12.20/po/stamp-po 1970-01-01 01:00:00.000000000 +0100
5710+++ lrzsz-0.12.20/po/stamp-po 2019-11-26 11:42:09.000000000 +0000
5711@@ -0,0 +1 @@
5712+timestamp
5713diff -uprN clean/lrzsz-0.12.20/src/Makefile.am lrzsz-0.12.20/src/Makefile.am
5714--- clean/lrzsz-0.12.20/src/Makefile.am 1998-12-28 08:38:47.000000000 +0000
5715+++ lrzsz-0.12.20/src/Makefile.am 2019-11-25 16:22:49.000000000 +0000
5716@@ -2,13 +2,11 @@ bin_PROGRAMS=lrz lsz
5717 lrz_SOURCES=lrz.c timing.c zperr.c zreadline.c crctab.c rbsb.c zm.c protname.c tcp.c lsyslog.c canit.c
5718 lsz_SOURCES=lsz.c timing.c zperr.c zreadline.c crctab.c rbsb.c zm.c protname.c tcp.c lsyslog.c canit.c
5719 noinst_HEADERS = timing.h zglobal.h zmodem.h
5720-datadir = $(prefix)/@DATADIRNAME@
5721+datadir = $(prefix)/share
5722 localedir = $(datadir)/locale
5723-CFLAGS=@CFLAGS@
5724 DISTCLEAN_FILES=lrzszbug
5725
5726-LDADD = ../lib/libzmodem.a @INTLLIBS@
5727-AUTOMAKE_OPTIONS=ansi2knr
5728+LDADD = ../lib/libzmodem.a @LIBINTL@
5729 EXTRA_DIST = ansi2knr.1 ansi2knr.c lrzszbug.in
5730 INCLUDES = -I.. -I$(srcdir) -I$(top_srcdir)/src -I../intl -I$(top_srcdir)/lib
5731 #DEFS = -DLOCALEDIR=\"$(localedir)\" -DOS=\"@host_os@\" -DCPU=\"@host_cpu@\"
5732diff -uprN clean/lrzsz-0.12.20/src/zglobal.h lrzsz-0.12.20/src/zglobal.h
5733--- clean/lrzsz-0.12.20/src/zglobal.h 1998-12-29 12:34:59.000000000 +0000
5734+++ lrzsz-0.12.20/src/zglobal.h 2019-11-25 16:32:42.000000000 +0000
5735@@ -180,9 +180,6 @@ struct termios;
5736 #if HAVE_LOCALE_H
5737 # include <locale.h>
5738 #endif
5739-#if !HAVE_SETLOCALE
5740-# define setlocale(Category, Locale) /* empty */
5741-#endif
5742
5743 #if ENABLE_NLS
5744 # include <libintl.h>
5745diff -uprN clean/lrzsz-0.12.20/stamp-h.in lrzsz-0.12.20/stamp-h.in
5746--- clean/lrzsz-0.12.20/stamp-h.in 1998-12-30 07:51:07.000000000 +0000
5747+++ lrzsz-0.12.20/stamp-h.in 1970-01-01 01:00:00.000000000 +0100
5748@@ -1 +0,0 @@
5749-timestamp