diff options
author | Ulrich Drepper <drepper@redhat.com> | 2004-12-22 20:10:10 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2004-12-22 20:10:10 +0000 |
commit | a334319f6530564d22e775935d9c91663623a1b4 (patch) | |
tree | b5877475619e4c938e98757d518bb1e9cbead751 /stdio-common/psignal.c | |
parent | 0ecb606cb6cf65de1d9fc8a919bceb4be476c602 (diff) | |
download | glibc-a334319f6530564d22e775935d9c91663623a1b4.tar.gz |
(CFLAGS-tst-align.c): Add -mpreferred-stack-boundary=4.
Diffstat (limited to 'stdio-common/psignal.c')
-rw-r--r-- | stdio-common/psignal.c | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/stdio-common/psignal.c b/stdio-common/psignal.c index 98049a5871..2e6588c692 100644 --- a/stdio-common/psignal.c +++ b/stdio-common/psignal.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 1992, 1995, 1996, 1997, 2001, 2002, 2004, 2005 +/* Copyright (C) 1991, 1992, 1995, 1996, 1997, 2001, 2002, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -24,6 +24,10 @@ #include <wchar.h> +#ifndef HAVE_GNU_LD +#define _sys_siglist sys_siglist +#endif + /* Defined in sys_siglist.c. */ extern const char *const _sys_siglist[]; extern const char *const _sys_siglist_internal[] attribute_hidden; @@ -43,16 +47,29 @@ psignal (int sig, const char *s) colon = ": "; if (sig >= 0 && sig < NSIG && (desc = INTUSE(_sys_siglist)[sig]) != NULL) - (void) __fxprintf (NULL, "%s%s%s\n", s, colon, _(desc)); + { + if (_IO_fwide (stderr, 0) > 0) + (void) __fwprintf (stderr, L"%s%s%s\n", s, colon, _(desc)); + else + (void) fprintf (stderr, "%s%s%s\n", s, colon, _(desc)); + } else { char *buf; if (__asprintf (&buf, _("%s%sUnknown signal %d\n"), s, colon, sig) < 0) - (void) __fxprintf (NULL, "%s%s%s\n", s, colon, _("Unknown signal")); + { + if (_IO_fwide (stderr, 0) > 0) + (void) __fwprintf (stderr, L"%s%s%s\n", s, colon, _("Unknown signal")); + else + (void) fprintf (stderr, "%s%s%s\n", s, colon, _("Unknown signal")); + } else { - (void) __fxprintf (NULL, "%s", buf); + if (_IO_fwide (stderr, 0) > 0) + (void) __fwprintf (stderr, L"%s", buf); + else + (void) fputs (buf, stderr); free (buf); } |