From 45dc3ad77e9ab9648365866c64650593114c84fb Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Tue, 21 Aug 2007 14:56:27 +0000 Subject: [PATCH] [BZ #4925] * debug/pcprofiledump.c: Turn on internationalization by calling setlocale. Patch mostly by Benno Schulenberg. --- ChangeLog | 4 ++++ debug/pcprofiledump.c | 17 +++++++++++------ 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index c884b4fd58..2ffbc3c955 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2007-08-21 Ulrich Drepper + [BZ #4925] + * debug/pcprofiledump.c: Turn on internationalization by calling + setlocale. Patch mostly by Benno Schulenberg. + [BZ #4936] * iconv/gconv.c (__gconv): If flush was successful, clear rest of the state. diff --git a/debug/pcprofiledump.c b/debug/pcprofiledump.c index 210e5089e9..62c0d73f40 100644 --- a/debug/pcprofiledump.c +++ b/debug/pcprofiledump.c @@ -1,5 +1,5 @@ /* Dump information generated by PC profiling. - Copyright (C) 1999, 2002 Free Software Foundation, Inc. + Copyright (C) 1999, 2002, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1999. @@ -37,6 +37,7 @@ #include "../version.h" +#define PACKAGE _libc_intl_domainname #ifndef _ # define _(Str) gettext (Str) @@ -75,14 +76,17 @@ static struct argp argp = int main (int argc, char *argv[]) { - int fd; - int remaining; - int must_swap; - uint32_t word; + /* Set locale via LC_ALL. */ + setlocale (LC_ALL, ""); + + /* Set the text message domain. */ + textdomain (PACKAGE); /* Parse and process arguments. */ + int remaining; argp_parse (&argp, argc, argv, 0, &remaining, NULL); + int fd; if (remaining == argc) fd = STDIN_FILENO; else if (remaining + 1 != argc) @@ -102,11 +106,12 @@ main (int argc, char *argv[]) /* Read the first 4-byte word. It contains the information about the word size and the endianess. */ + uint32_t word; if (TEMP_FAILURE_RETRY (read (fd, &word, 4)) != 4) error (EXIT_FAILURE, errno, _("cannot read header")); /* Check whether we have to swap the byte order. */ - must_swap = (word & 0xfffffff0) == bswap_32 (0xdeb00000); + int must_swap = (word & 0xfffffff0) == bswap_32 (0xdeb00000); if (must_swap) word = bswap_32 (word);