summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1995-10-17 05:49:48 +0000
committerRoland McGrath <roland@gnu.org>1995-10-17 05:49:48 +0000
commitb3a59f408e7462fbd77289e8c3f50606044a585a (patch)
treecfd874921dda17cb953c2f4a44b533db0641639d
parent0700dfa143cad61b491c6d596657ee69cd5b35bd (diff)
Tue Oct 17 01:21:21 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* stdio-common/psignal.c: Translate signal description strings. * string/strsignal.c: Likewise. * sysdeps/generic/_strerror.c (_strerror_internal): Translate error strings. * sysdeps/mach/_strerror.c: Likewise. * stdio-common/snprintf.c (__snprintf): Renamed from snprintf; call __vsnprintf. (snprintf): Define as weak alias. * stdio/vsnprintf.c (__vsnprintf): Renamed from vsnprintf. (vsnprintf): Define as weak alias. * libc-symbols.h [! ASSEMBLER] (_): New macro.
-rw-r--r--ChangeLog16
-rwxr-xr-xconfigure2
-rw-r--r--libc-symbols.h8
-rw-r--r--stdio-common/Makefile6
-rw-r--r--stdio-common/asprintf.c4
-rw-r--r--stdio-common/dprintf.c4
-rw-r--r--stdio-common/psignal.c6
-rw-r--r--stdio-common/snprintf.c7
-rw-r--r--stdio/Makefile1
-rw-r--r--stdio/vasprintf.c (renamed from stdio-common/vasprintf.c)0
-rw-r--r--stdio/vdprintf.c (renamed from stdio-common/vdprintf.c)0
-rw-r--r--stdio/vsnprintf.c (renamed from stdio-common/vsnprintf.c)6
-rw-r--r--stdio/vsprintf.c (renamed from stdio-common/vsprintf.c)0
-rw-r--r--stdio/vsscanf.c (renamed from stdio-common/vsscanf.c)0
-rw-r--r--string/strsignal.c16
-rw-r--r--sysdeps/generic/_strerror.c7
-rw-r--r--sysdeps/mach/_strerror.c13
17 files changed, 54 insertions, 42 deletions
diff --git a/ChangeLog b/ChangeLog
index ffb6103366..2639dbfbba 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+Tue Oct 17 01:21:21 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
+
+ * stdio-common/psignal.c: Translate signal description strings.
+ * string/strsignal.c: Likewise.
+ * sysdeps/generic/_strerror.c (_strerror_internal): Translate
+ error strings.
+ * sysdeps/mach/_strerror.c: Likewise.
+
+ * stdio-common/snprintf.c (__snprintf): Renamed from snprintf;
+ call __vsnprintf.
+ (snprintf): Define as weak alias.
+ * stdio/vsnprintf.c (__vsnprintf): Renamed from vsnprintf.
+ (vsnprintf): Define as weak alias.
+
Mon Oct 16 03:22:37 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* Makerules (install-lib): Filter out %_pic.a; install only the
@@ -5,7 +19,7 @@ Mon Oct 16 03:22:37 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* locale/Makefile (aux): Add SYS_libc.
* locale/SYS_libc.c: New file.
- * libc-symbols.h (_): New macro.
+ * libc-symbols.h [! ASSEMBLER] (_): New macro.
* configure.in (libc_cv_asm_set_directive): Link program into
conftest instead of letting it default to a.out.
diff --git a/configure b/configure
index 08609a496e..be1f7b2047 100755
--- a/configure
+++ b/configure
@@ -1302,7 +1302,7 @@ extern int glibc_conftest_frobozz;
main () { printf ("%d\n", glibc_conftest_frobozz); }
EOF
if ${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
- conftest.s conftest1.c 1>&5 2>&5; then
+ -o conftest conftest.s conftest1.c 1>&5 2>&5; then
libc_cv_asm_set_directive=yes
else
libc_cv_asm_set_directive=no
diff --git a/libc-symbols.h b/libc-symbols.h
index 7997c8d0de..50631d164a 100644
--- a/libc-symbols.h
+++ b/libc-symbols.h
@@ -48,10 +48,11 @@ Cambridge, MA 02139, USA. */
#define _LIBC 1
/*
+*/
- Define the macro `_' for conveniently marking translatable strings
- in the libc source code. */
-
+#ifndef ASSEMBLER
+/* Define the macro `_' for conveniently marking translatable strings
+ in the libc source code. */
#include <libintl.h>
extern const char _libc_intl_domainname[];
#ifdef dgettext
@@ -62,6 +63,7 @@ extern const char _libc_intl_domainname[];
instead of an optimizing macro. */
#define _(msgid) __dgettext (_libc_intl_domainname, (msgid))
#endif
+#endif
/*
diff --git a/stdio-common/Makefile b/stdio-common/Makefile
index 6ca6c7d1d3..3afb555458 100644
--- a/stdio-common/Makefile
+++ b/stdio-common/Makefile
@@ -26,10 +26,8 @@ headers := stdio_lim.h printf.h
routines := \
ctermid cuserid \
vfprintf vprintf printf_fp reg-printf printf-prs _itoa \
- vsnprintf vsprintf vasprintf \
- fprintf printf snprintf sprintf asprintf \
- dprintf vdprintf \
- vfscanf vscanf vsscanf \
+ fprintf printf snprintf sprintf asprintf dprintf \
+ vfscanf vscanf \
fscanf scanf sscanf \
perror psignal \
tmpfile tmpnam tempnam tempname \
diff --git a/stdio-common/asprintf.c b/stdio-common/asprintf.c
index 85ab7b1041..dd9eec5ba1 100644
--- a/stdio-common/asprintf.c
+++ b/stdio-common/asprintf.c
@@ -27,9 +27,7 @@ Cambridge, MA 02139, USA. */
allocated with malloc and stored in *STRING_PTR. */
/* VARARGS2 */
int
-asprintf (string_ptr, format)
- char **string_ptr;
- const char *format;
+asprintf (char **string_ptr, const char *format, ...)
{
va_list arg;
int done;
diff --git a/stdio-common/dprintf.c b/stdio-common/dprintf.c
index 5746d49841..611a6030a1 100644
--- a/stdio-common/dprintf.c
+++ b/stdio-common/dprintf.c
@@ -26,9 +26,7 @@ Cambridge, MA 02139, USA. */
/* Write formatted output to D, according to the format string FORMAT. */
/* VARARGS2 */
int
-dprintf (d, format)
- int d;
- const char *format;
+dprintf (int d, const char *format, ...)
{
va_list arg;
int done;
diff --git a/stdio-common/psignal.c b/stdio-common/psignal.c
index 8997a2ecdf..f82bed6933 100644
--- a/stdio-common/psignal.c
+++ b/stdio-common/psignal.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1992, 1995 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -43,7 +43,7 @@ DEFUN(psignal, (sig, s), int sig AND register CONST char *s)
colon = ": ";
if (sig >= 0 && sig < NSIG)
- (void) fprintf(stderr, "%s%s%s\n", s, colon, _sys_siglist[sig]);
+ (void) fprintf (stderr, "%s%s%s\n", s, colon, _(_sys_siglist[sig]));
else
- (void) fprintf(stderr, "%s%sUnknown signal %d\n", s, colon, sig);
+ (void) fprintf (stderr, _("%s%sUnknown signal %d\n"), s, colon, sig);
}
diff --git a/stdio-common/snprintf.c b/stdio-common/snprintf.c
index 00b85f3175..a7a6e722ee 100644
--- a/stdio-common/snprintf.c
+++ b/stdio-common/snprintf.c
@@ -20,14 +20,14 @@ Cambridge, MA 02139, USA. */
#include <stdio.h>
#ifdef USE_IN_LIBIO
-# define vsnprintf _IO_vsnprintf
+# define __vsnprintf _IO_vsnprintf
#endif
/* Write formatted output into S, according to the format
string FORMAT, writing no more than MAXLEN characters. */
/* VARARGS3 */
int
-snprintf (s, maxlen, format)
+__snprintf (s, maxlen, format)
char *s;
size_t maxlen;
const char *format;
@@ -36,8 +36,9 @@ snprintf (s, maxlen, format)
int done;
va_start (arg, format);
- done = vsnprintf (s, maxlen, format, arg);
+ done = __vsnprintf (s, maxlen, format, arg);
va_end (arg);
return done;
}
+weak_alias (__snprintf, snprintf)
diff --git a/stdio/Makefile b/stdio/Makefile
index a15aa56aff..7d1adf58ee 100644
--- a/stdio/Makefile
+++ b/stdio/Makefile
@@ -35,6 +35,7 @@ routines := \
fgets gets fputs puts \
getdelim \
fclose fflush \
+ vdprintf vsnprintf vsprintf vasprintf vsscanf \
memstream obstream \
internals sysd-stdio pipestream stdio_init libc_fatal
aux := defs glue
diff --git a/stdio-common/vasprintf.c b/stdio/vasprintf.c
index d2ad6b1da6..d2ad6b1da6 100644
--- a/stdio-common/vasprintf.c
+++ b/stdio/vasprintf.c
diff --git a/stdio-common/vdprintf.c b/stdio/vdprintf.c
index 9df4e537bc..9df4e537bc 100644
--- a/stdio-common/vdprintf.c
+++ b/stdio/vdprintf.c
diff --git a/stdio-common/vsnprintf.c b/stdio/vsnprintf.c
index a02c259131..5de157dc44 100644
--- a/stdio-common/vsnprintf.c
+++ b/stdio/vsnprintf.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1992, 1995 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -28,8 +28,7 @@ Cambridge, MA 02139, USA. */
* than MAXLEN characters.
*/
int
-DEFUN(vsnprintf, (s, maxlen, format, arg),
- char *s AND size_t maxlen AND CONST char *format AND va_list arg)
+__vsnprintf (char *s, size_t maxlen, const char *format, va_list arg)
{
int done;
FILE f;
@@ -54,3 +53,4 @@ DEFUN(vsnprintf, (s, maxlen, format, arg),
return done;
}
+weak_alias (__vsnprintf, vsnprintf)
diff --git a/stdio-common/vsprintf.c b/stdio/vsprintf.c
index 82be90f1fa..82be90f1fa 100644
--- a/stdio-common/vsprintf.c
+++ b/stdio/vsprintf.c
diff --git a/stdio-common/vsscanf.c b/stdio/vsscanf.c
index 6f027d5065..6f027d5065 100644
--- a/stdio-common/vsscanf.c
+++ b/stdio/vsscanf.c
diff --git a/string/strsignal.c b/string/strsignal.c
index c2c8835a19..ccd2c0e82f 100644
--- a/string/strsignal.c
+++ b/string/strsignal.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1994 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1994, 1995 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -36,14 +36,14 @@ DEFUN(strsignal, (signum), int signum)
{
if (signum < 0 || signum > NSIG)
{
- static char unknown_signal[] = "Unknown signal 000000000000000000";
- static char fmt[] = "Unknown signal%d";
- size_t len = sprintf(unknown_signal, fmt, signum);
- if (len < sizeof(fmt) - 2)
+ static char buf[512];
+ static char fmt[] = ;
+ int len = __snprintf (buf, sizeof buf, _("Unknown signal %d"), signum);
+ if (len < 0)
return NULL;
- unknown_signal[len] = '\0';
- return unknown_signal;
+ buf[len - 1] = '\0';
+ return buf;
}
- return (char *) _sys_siglist[signum];
+ return (char *) _(_sys_siglist[signum]);
}
diff --git a/sysdeps/generic/_strerror.c b/sysdeps/generic/_strerror.c
index 0d069f84c5..72ebb216bf 100644
--- a/sysdeps/generic/_strerror.c
+++ b/sysdeps/generic/_strerror.c
@@ -33,13 +33,12 @@ _strerror_internal (errnum, buf, buflen)
{
if (errnum < 0 || errnum > _sys_nerr)
{
- static char fmt[] = "Unknown error %d";
- size_t len = snprintf (buf, buflen, fmt, errnum);
- if (len < sizeof (fmt) - 2)
+ int len = __snprintf (buf, buflen, _("Unknown error %d"), errnum);
+ if (len < 0)
return NULL;
buf[len - 1] = '\0';
return buf;
}
- return (char *) _sys_errlist[errnum];
+ return (char *) _(_sys_errlist[errnum]);
}
diff --git a/sysdeps/mach/_strerror.c b/sysdeps/mach/_strerror.c
index f2411122ea..8754f4c047 100644
--- a/sysdeps/mach/_strerror.c
+++ b/sysdeps/mach/_strerror.c
@@ -40,12 +40,12 @@ _strerror_internal (int errnum, char *buf, size_t buflen)
if (system > err_max_system || ! __mach_error_systems[system].bad_sub)
{
- static const char unk[] = "Error in unknown error system: ";
+ const char *unk = _("Error in unknown error system: ");
+ const size_t unklen = strlen (unk);
char *p = buf + buflen;
*p-- = '\0';
p = _itoa (errnum, p, 16, 1);
- p -= sizeof unk - 1;
- return memcpy (p, unk, sizeof unk - 1);
+ return memcpy (p - unklen, unk, unklen);
}
es = &__mach_error_systems[system];
@@ -55,15 +55,16 @@ _strerror_internal (int errnum, char *buf, size_t buflen)
if (code >= es->subsystem[sub].max_code)
{
- static const char unk[] = "Unknown error ";
+ const char *unk = _("Unknown error ");
+ const size_t unklen = strlen (unk);
char *p = buf + buflen;
size_t len = strlen (es->subsystem[sub].subsys_name);
*p-- = '\0';
p = _itoa (errnum, p, 16, 1);
*p-- = ' ';
p = memcpy (p - len, es->subsystem[sub].subsys_name, len);
- return memcpy (p - sizeof unk - 1, unk, sizeof unk - 1);
+ return memcpy (p - unklen, unk, unklen);
}
- return (char *) es->subsystem[sub].codes[code];
+ return (char *) _(es->subsystem[sub].codes[code]);
}