diff options
Diffstat (limited to 'lib/libc/locale/toupper.c')
-rw-r--r-- | lib/libc/locale/toupper.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/lib/libc/locale/toupper.c b/lib/libc/locale/toupper.c new file mode 100644 index 0000000..1f6c722 --- /dev/null +++ b/lib/libc/locale/toupper.c @@ -0,0 +1,22 @@ +#include <stdio.h> +#include <rune.h> + +_BSD_RUNE_T_ +___toupper(c) + _BSD_RUNE_T_ c; +{ + int x; + _RuneRange *rr = &_CurrentRuneLocale->mapupper_ext; + _RuneEntry *re = rr->ranges; + + if (c == EOF) + return(EOF); + for (x = 0; x < rr->nranges; ++x, ++re) { + if (c < re->min) + return(c); + if (c <= re->max) + return(re->map + c - re->min); + } + return(c); +} + |