util: Add dstr functions to make upper/lower
This commit is contained in:
parent
ae19eec2c6
commit
bf1ca59965
@ -691,3 +691,49 @@ void dstr_from_wcs(struct dstr *dst, const wchar_t *wstr)
|
||||
dstr_free(dst);
|
||||
}
|
||||
}
|
||||
|
||||
void dstr_to_upper(struct dstr *str)
|
||||
{
|
||||
wchar_t *wstr;
|
||||
wchar_t *temp;
|
||||
|
||||
if (dstr_is_empty(str))
|
||||
return;
|
||||
|
||||
wstr = dstr_to_wcs(str);
|
||||
temp = wstr;
|
||||
|
||||
if (!wstr)
|
||||
return;
|
||||
|
||||
while (*temp) {
|
||||
*temp = (wchar_t)towupper(*temp);
|
||||
temp++;
|
||||
}
|
||||
|
||||
dstr_from_wcs(str, wstr);
|
||||
bfree(wstr);
|
||||
}
|
||||
|
||||
void dstr_to_lower(struct dstr *str)
|
||||
{
|
||||
wchar_t *wstr;
|
||||
wchar_t *temp;
|
||||
|
||||
if (dstr_is_empty(str))
|
||||
return;
|
||||
|
||||
wstr = dstr_to_wcs(str);
|
||||
temp = wstr;
|
||||
|
||||
if (!wstr)
|
||||
return;
|
||||
|
||||
while (*temp) {
|
||||
*temp = (wchar_t)towlower(*temp);
|
||||
temp++;
|
||||
}
|
||||
|
||||
dstr_from_wcs(str, wstr);
|
||||
bfree(wstr);
|
||||
}
|
||||
|
@ -143,6 +143,9 @@ EXPORT char *dstr_to_mbs(const struct dstr *str);
|
||||
EXPORT void dstr_from_wcs(struct dstr *dst, const wchar_t *wstr);
|
||||
EXPORT wchar_t *dstr_to_wcs(const struct dstr *str);
|
||||
|
||||
EXPORT void dstr_to_upper(struct dstr *str);
|
||||
EXPORT void dstr_to_lower(struct dstr *str);
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
static inline void dstr_init(struct dstr *dst)
|
||||
|
Loading…
x
Reference in New Issue
Block a user