Imported Upstream version 2.7.3

This commit is contained in:
Arnaud Quette 2015-04-30 15:53:36 +02:00
parent a356b56d11
commit fd413a3168
283 changed files with 14978 additions and 6511 deletions

View file

@ -586,13 +586,21 @@ char *xstrdup(const char *string)
/* modify in - strip all trailing instances of <sep> */
char *rtrim(char *in, const char sep)
{
char seps[2] = { sep, '\0' };
return rtrim_m(in, seps);
}
/* modify in - strip all trailing instances of each char in <seps> */
char *rtrim_m(char *in, const char *seps)
{
char *p;
if (in) {
if (in && strlen(in)) {
p = &in[strlen(in) - 1];
while ((p >= in) && (*p == sep))
while ((p >= in) && (strchr(seps, *p) != NULL))
*p-- = '\0';
}
return in;
@ -601,16 +609,19 @@ char *rtrim(char *in, const char sep)
/* modify in - strip all leading instances of <sep> */
char* ltrim(char *in, const char sep)
{
char *p;
char seps[2] = { sep, '\0' };
if (in) {
p = in;
return ltrim_m(in, seps);
}
while ((*p != '\0') && (*p == sep))
*p++ = *in++;
p = '\0';
/* modify in - strip all leading instances of each char in <seps> */
char* ltrim_m(char *in, const char *seps)
{
if (in && strlen(in)) {
while ((*in != '\0') && (strchr(seps, *in) != NULL))
memmove(in, in + 1, strlen(in));
}
return in;
}