mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-27 22:03:31 +01:00
break out the string manipulation routines
svn:r804
This commit is contained in:
parent
3b392717e0
commit
9358381d83
@ -48,6 +48,43 @@ char *tor_strdup(const char *s) {
|
||||
return dup;
|
||||
}
|
||||
|
||||
/*
|
||||
* String manipulation
|
||||
*/
|
||||
|
||||
/* return the first char of s that is not whitespace and not a comment */
|
||||
char *eat_whitespace(char *s) {
|
||||
assert(s);
|
||||
|
||||
while(isspace(*s) || *s == '#') {
|
||||
while(isspace(*s))
|
||||
s++;
|
||||
if(*s == '#') { /* read to a \n or \0 */
|
||||
while(*s && *s != '\n')
|
||||
s++;
|
||||
if(!*s)
|
||||
return s;
|
||||
}
|
||||
}
|
||||
return s;
|
||||
}
|
||||
|
||||
char *eat_whitespace_no_nl(char *s) {
|
||||
while(*s == ' ' || *s == '\t')
|
||||
++s;
|
||||
return s;
|
||||
}
|
||||
|
||||
/* return the first char of s that is whitespace or '#' or '\0 */
|
||||
char *find_whitespace(char *s) {
|
||||
assert(s);
|
||||
|
||||
while(*s && !isspace(*s) && *s != '#')
|
||||
s++;
|
||||
|
||||
return s;
|
||||
}
|
||||
|
||||
/*
|
||||
* Time
|
||||
*/
|
||||
@ -653,3 +690,4 @@ int switch_id(char *user, char *group) {
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
@ -37,6 +37,10 @@ void *tor_realloc(void *ptr, size_t size);
|
||||
char *tor_strdup(const char *s);
|
||||
#define tor_free(p) do {if(p) {free(p); (p)=NULL;}} while(0)
|
||||
|
||||
char *eat_whitespace(char *s);
|
||||
char *eat_whitespace_no_nl(char *s);
|
||||
char *find_whitespace(char *s);
|
||||
|
||||
void tor_gettimeofday(struct timeval *timeval);
|
||||
long tv_udiff(struct timeval *start, struct timeval *end);
|
||||
void tv_addms(struct timeval *a, long ms);
|
||||
|
Loading…
Reference in New Issue
Block a user