X-Git-Url: https://git.octo.it/?p=rrdtool.git;a=blobdiff_plain;f=src%2Fwin32comp.c;h=457e69e518aa44b5d49cc5c2b37ee221beffad2c;hp=590e4787c6b8ec9221f97b9bb5b8bdc0b1d7e272;hb=HEAD;hpb=93a74eb976a85adc4926beec68a37295522bcabf diff --git a/src/win32comp.c b/src/win32comp.c index 590e478..457e69e 100644 --- a/src/win32comp.c +++ b/src/win32comp.c @@ -1,67 +1,82 @@ -// compatibility routines, non reentrant .... - -#include -#include - -struct tm* localtime_r(const time_t* t, struct tm* r) { - struct tm * temp; - temp = localtime(t); - memcpy(r,temp,sizeof(struct tm)); - return(r); -} - -struct tm* gmtime_r(const time_t* t, struct tm* r) { - struct tm * temp; - temp = gmtime(t); - memcpy(r,temp,sizeof(struct tm)); - return r; -} - -char* ctime_r (const time_t* t, char* buf) { - char * temp; - temp = asctime(localtime(t)); - strcpy(buf,temp); - return(buf); -} - -/* - s - Points to the string from which to extract tokens. - - delim - Points to a null-terminated set of delimiter characters. - - save_ptr - Is a value-return parameter used by strtok_r() to record its progress through s1. -*/ - - -char * strtok_r (char *s, const char *delim, char **save_ptr) { - char *token; - - if (s == NULL) s = *save_ptr; - - /* Scan leading delimiters. */ - s += strspn(s, delim); - if (*s == '\0') - { - *save_ptr = s; - return NULL; - } - - /* Find the end of the token. */ - token = s; - s = strpbrk (token, delim); - if (s == NULL) { - /* This token finishes the string. */ - *save_ptr = token; - while (**save_ptr != '\0') (*save_ptr)++; - } else - { - /* Terminate the token and make *SAVE_PTR point past it. */ - *s = '\0'; - *save_ptr = s + 1; - } - return token; -} - +/* compatibility routines, non reentrant .... */ + +#include +#include + +struct tm *localtime_r( + const time_t *t, + struct tm *r) +{ + struct tm *temp; + + temp = localtime(t); + memcpy(r, temp, sizeof(struct tm)); + return (r); +} + +struct tm *gmtime_r( + const time_t *t, + struct tm *r) +{ + struct tm *temp; + + temp = gmtime(t); + memcpy(r, temp, sizeof(struct tm)); + return r; +} + +char *ctime_r( + const time_t *t, + char *buf) +{ + char *temp; + + temp = asctime(localtime(t)); + strcpy(buf, temp); + return (buf); +} + +/* + s + Points to the string from which to extract tokens. + + delim + Points to a null-terminated set of delimiter characters. + + save_ptr + Is a value-return parameter used by strtok_r() to record its progress through s1. +*/ + + +char *strtok_r( + char *s, + const char *delim, + char **save_ptr) +{ + char *token; + + if (s == NULL) + s = *save_ptr; + + /* Scan leading delimiters. */ + s += strspn(s, delim); + if (*s == '\0') { + *save_ptr = s; + return NULL; + } + + /* Find the end of the token. */ + token = s; + s = strpbrk(token, delim); + if (s == NULL) { + /* This token finishes the string. */ + *save_ptr = token; + while (**save_ptr != '\0') + (*save_ptr)++; + } else { + /* Terminate the token and make *SAVE_PTR point past it. */ + *s = '\0'; + *save_ptr = s + 1; + } + return token; +}