| |
| |
| |
| |
| |
| |
| #include <psxtypes/psxtypes.h> |
| #include <pemagine/pemagine.h> |
| #include "pe_impl.h" |
| |
| int32_t pe_impl_strlen_ansi(const char * str) |
| { |
| char * ch; |
| char * upper_bound; |
| |
| |
| upper_bound = (char *)str + PE_STR_MAX_SYMBOL_LEN_ALLOWED; |
| |
| for (ch = (char *)str; (ch < upper_bound) && (*ch); ch++); |
| |
| if (ch < upper_bound) |
| return (uint32_t)(ch - str); |
| else |
| return -1; |
| } |
| |
| |
| int32_t pe_impl_strlen_utf16(const wchar16_t * str) |
| { |
| wchar16_t * wch; |
| wchar16_t * upper_bound; |
| |
| |
| upper_bound = (wchar16_t *)str + PE_STR_MAX_SYMBOL_LEN_ALLOWED; |
| |
| for (wch = (wchar16_t *)str; (wch < upper_bound) && (*wch); wch++); |
| |
| if (wch < upper_bound) |
| return (uint32_t)(wch - str); |
| else |
| return -1; |
| } |
| |
| |
| wchar16_t pe_impl_utf16_char_to_lower(const wchar16_t c) |
| { |
| if ((c >= 'A') && (c <= 'Z')) |
| return c + 'a' - 'A'; |
| else |
| return c; |
| } |