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);
|
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 void dstr_from_wcs(struct dstr *dst, const wchar_t *wstr);
|
||||||
EXPORT wchar_t *dstr_to_wcs(const struct dstr *str);
|
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)
|
static inline void dstr_init(struct dstr *dst)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user