summaryrefslogtreecommitdiff
path: root/src/string
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2014-07-26 05:36:25 -0400
committerRich Felker <dalias@aerifal.cx>2014-07-26 05:36:25 -0400
commitc5b8f1930512d206a7c1cf1093a4a47e1722a414 (patch)
treea8b58dafc8f53f19858bb10d7a70d9f79a40ba58 /src/string
parent0206f596d5156af560e8af10e950d3cb2f29b73d (diff)
downloadmusl-c5b8f1930512d206a7c1cf1093a4a47e1722a414.tar.gz
musl-c5b8f1930512d206a7c1cf1093a4a47e1722a414.tar.bz2
musl-c5b8f1930512d206a7c1cf1093a4a47e1722a414.tar.xz
musl-c5b8f1930512d206a7c1cf1093a4a47e1722a414.zip
add support for LC_TIME and LC_MESSAGES translations
for LC_MESSAGES, translation of strerror and similar literal message functions is supported. for messages in other places (particularly the dynamic linker) that use format strings, translation is not yet supported. in order to make it possible and safe, such messages will need to be refactored to separate the textual content from the format. for LC_TIME, the day and month names and strftime-style format strings provided by nl_langinfo are supported for translation. however there may be limitations, as some of the original C-locale nl_langinfo strings are non-unique and thus perhaps non-suitable as keys. overall, the locale support activated by this commit should not be seen as complete and polished but as a basis for beginning to test locale functionality and implement locales.
Diffstat (limited to 'src/string')
-rw-r--r--src/string/strsignal.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/string/strsignal.c b/src/string/strsignal.c
index 905c0956..96bfe841 100644
--- a/src/string/strsignal.c
+++ b/src/string/strsignal.c
@@ -1,5 +1,6 @@
#include <signal.h>
#include <string.h>
+#include "locale_impl.h"
#if (SIGHUP == 1) && (SIGINT == 2) && (SIGQUIT == 3) && (SIGILL == 4) \
&& (SIGTRAP == 5) && (SIGABRT == 6) && (SIGBUS == 7) && (SIGFPE == 8) \
@@ -104,12 +105,12 @@ static const char strings[] =
char *strsignal(int signum)
{
- char *s = (char *)strings;
+ const char *s = strings;
signum = sigmap(signum);
if (signum - 1U >= _NSIG-1) signum = 0;
for (; signum--; s++) for (; *s; s++);
- return s;
+ return (char *)LCTRANS_CUR(s);
}