util/StringUtil: add ToUpperASCII()
Replaces g_ascii_strup() and allows building the Vorbis encoder without GLib.
This commit is contained in:
@@ -120,3 +120,23 @@ string_array_contains(const char *const* haystack, const char *needle)
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void
|
||||
ToUpperASCII(char *dest, const char *src, size_t size)
|
||||
{
|
||||
assert(dest != nullptr);
|
||||
assert(src != nullptr);
|
||||
assert(size > 1);
|
||||
|
||||
char *const end = dest + size - 1;
|
||||
|
||||
do {
|
||||
char ch = *src++;
|
||||
if (ch == 0)
|
||||
break;
|
||||
|
||||
*dest++ = ToUpperASCII(ch);
|
||||
} while (dest < end);
|
||||
|
||||
*dest = 0;
|
||||
}
|
||||
|
@@ -114,4 +114,12 @@ gcc_pure
|
||||
bool
|
||||
string_array_contains(const char *const* haystack, const char *needle);
|
||||
|
||||
/**
|
||||
* Convert the specified ASCII string (0x00..0x7f) to upper case.
|
||||
*
|
||||
* @param size the destination buffer size
|
||||
*/
|
||||
void
|
||||
ToUpperASCII(char *dest, const char *src, size_t size);
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user