| Summary: | Locale is not used properly | ||
|---|---|---|---|
| Product: | Base System | Reporter: | Dima Sivachenko <dima> |
| Component: | kern | Assignee: | Andrey A. Chernov <ache> |
| Status: | Closed FIXED | ||
| Severity: | Affects Only Me | ||
| Priority: | Normal | ||
| Version: | 3.3-RELEASE | ||
| Hardware: | Any | ||
| OS: | Any | ||
Responsible Changed From-To: freebsd-bugs->ache Over to our internationalization expert. State Changed From-To: open->closed Example program have incorrect function argument |
According to man-pages, toupper et. al. functions should use current locale to transform non-english letters. But they don't. How-To-Repeat: Compile this program. It will output lowercase letter, instead of uppercase. #include <locale.h> #include <stdio.h> #include <ctype.h> main() { setlocale(LC_CTYPE, "ru_RU.KOI8-R"); setlocale(LC_COLLATE, "ru_RU.KOI8-R"); printf("%c\n", toupper('Æ')); };