mirror of
https://github.com/samba-team/samba.git
synced 2025-01-15 23:24:37 +03:00
make strupper() and strlower() not modify the string if it doesn't
need modifying that makes constant strings OK
This commit is contained in:
parent
14bfd9107a
commit
57196635d9
@ -140,7 +140,7 @@ int unix_strupper(const char *src, size_t srclen, char *dest, size_t destlen)
|
||||
smb_ucs2_t *buffer=(smb_ucs2_t*)cvtbuf;
|
||||
size=convert_string(CH_UNIX, CH_UCS2, src, srclen, buffer, sizeof(cvtbuf));
|
||||
len=size/2;
|
||||
strupper_w(buffer);
|
||||
if (!strupper_w(buffer) && (dest == src)) return srclen;
|
||||
return convert_string(CH_UCS2, CH_UNIX, buffer, size, dest, destlen);
|
||||
}
|
||||
|
||||
@ -150,7 +150,7 @@ int unix_strlower(const char *src, size_t srclen, char *dest, size_t destlen)
|
||||
smb_ucs2_t *buffer=(smb_ucs2_t*)cvtbuf;
|
||||
size=convert_string(CH_UNIX, CH_UCS2, src, srclen, buffer, sizeof(cvtbuf));
|
||||
len=size/2;
|
||||
strlower_w(buffer);
|
||||
if (!strlower_w(buffer) && (dest == src)) return srclen;
|
||||
return convert_string(CH_UCS2, CH_UNIX, buffer, size, dest, destlen);
|
||||
}
|
||||
|
||||
|
@ -248,26 +248,36 @@ smb_ucs2_t *strchr_w(const smb_ucs2_t *s, smb_ucs2_t c)
|
||||
|
||||
/*******************************************************************
|
||||
Convert a string to lower case.
|
||||
return True if any char is converted
|
||||
********************************************************************/
|
||||
void strlower_w(smb_ucs2_t *s)
|
||||
BOOL strlower_w(smb_ucs2_t *s)
|
||||
{
|
||||
BOOL ret = False;
|
||||
while (*s) {
|
||||
if (isupper_w(*s))
|
||||
if (isupper_w(*s)) {
|
||||
*s = tolower_w(*s);
|
||||
ret = True;
|
||||
}
|
||||
s++;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
/*******************************************************************
|
||||
Convert a string to upper case.
|
||||
return True if any char is converted
|
||||
********************************************************************/
|
||||
void strupper_w(smb_ucs2_t *s)
|
||||
BOOL strupper_w(smb_ucs2_t *s)
|
||||
{
|
||||
BOOL ret = False;
|
||||
while (*s) {
|
||||
if (islower_w(*s))
|
||||
if (islower_w(*s)) {
|
||||
*s = toupper_w(*s);
|
||||
ret = True;
|
||||
}
|
||||
s++;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
/*******************************************************************
|
||||
|
Loading…
x
Reference in New Issue
Block a user