summaryrefslogtreecommitdiff
path: root/src/ctype/__ctype_toupper_loc.c
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2012-06-02 17:49:14 -0400
committerRich Felker <dalias@aerifal.cx>2012-06-02 17:49:14 -0400
commit9372655e884b3829c6639fc1a6047b2569f3c3ec (patch)
treed5a2e702c13bddb35af495c0bde565ea925ef63f /src/ctype/__ctype_toupper_loc.c
parentd200bd727beab4f687e4891e2febc16b4ab97020 (diff)
downloadmusl-9372655e884b3829c6639fc1a6047b2569f3c3ec.tar.gz
add LSB abi junk for ctype functions
this should be the last major fix needed to support running glibc-linked conforming POSIX programs with musl in place of glibc, as long as musl provides the features they need and they don't use pthread cancellation (which is implemented as c++ exceptions in glibc, and fundamentally incompatible with musl).
Diffstat (limited to 'src/ctype/__ctype_toupper_loc.c')
-rw-r--r--src/ctype/__ctype_toupper_loc.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/ctype/__ctype_toupper_loc.c b/src/ctype/__ctype_toupper_loc.c
new file mode 100644
index 00000000..5e23dda7
--- /dev/null
+++ b/src/ctype/__ctype_toupper_loc.c
@@ -0,0 +1,31 @@
+#include <ctype.h>
+#include <inttypes.h>
+
+static const int32_t table[] = {
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
+16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,
+32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,
+48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,
+64,
+'A','B','C','D','E','F','G','H','I','J','K','L','M',
+'N','O','P','Q','R','S','T','U','V','W','X','Y','Z',
+91,92,93,94,95,96,
+'A','B','C','D','E','F','G','H','I','J','K','L','M',
+'N','O','P','Q','R','S','T','U','V','W','X','Y','Z',
+123,124,125,126,127,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+};
+
+static const int32_t *const ptable = table;
+
+const int32_t **__ctype_toupper_loc(void)
+{
+ return (void *)&ptable;
+}