util/StringUtil: move code to StripRight()
This commit is contained in:
parent
87bcf739ee
commit
f860a2fbd6
@ -35,17 +35,28 @@ StripLeft(const char *p)
|
||||
return p;
|
||||
}
|
||||
|
||||
size_t
|
||||
StripRight(const char *p, size_t length)
|
||||
{
|
||||
while (length > 0 && IsWhitespaceNotNull(p[length - 1]))
|
||||
--length;
|
||||
|
||||
return length;
|
||||
}
|
||||
|
||||
void
|
||||
StripRight(char *p)
|
||||
{
|
||||
size_t old_length = strlen(p);
|
||||
size_t new_length = StripRight(p, old_length);
|
||||
p[new_length] = 0;
|
||||
}
|
||||
|
||||
char *
|
||||
Strip(char *p)
|
||||
{
|
||||
p = StripLeft(p);
|
||||
|
||||
size_t length = strlen(p);
|
||||
while (length > 0 && IsWhitespaceNotNull(p[length - 1]))
|
||||
--length;
|
||||
|
||||
p[length] = 0;
|
||||
|
||||
StripRight(p);
|
||||
return p;
|
||||
}
|
||||
|
||||
|
@ -39,6 +39,20 @@ StripLeft(char *p)
|
||||
return const_cast<char *>(StripLeft((const char *)p));
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine the string's length as if it was stripped on the right
|
||||
* side.
|
||||
*/
|
||||
gcc_pure
|
||||
size_t
|
||||
StripRight(const char *p, size_t length);
|
||||
|
||||
/**
|
||||
* Strip trailing whitespace by null-terminating the string.
|
||||
*/
|
||||
void
|
||||
StripRight(char *p);
|
||||
|
||||
/**
|
||||
* Skip whitespace at the beginning and terminate the string after the
|
||||
* last non-whitespace character.
|
||||
|
Loading…
Reference in New Issue
Block a user