From: yoonki.park Date: Sun, 27 Oct 2013 20:24:39 +0000 (+0900) Subject: add strnlen function to fix build break in case of Windows X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e6064834250c6dacfd5fbd59c3f02d9c65eef883;p=sdk%2Ftools%2Fsdb.git add strnlen function to fix build break in case of Windows Change-Id: Ied8bec48579b97c15f809a63882d9d0122721dea Signed-off-by: yoonki.park --- diff --git a/src/log.c b/src/log.c index 7e8494e..711c4bb 100644 --- a/src/log.c +++ b/src/log.c @@ -21,6 +21,7 @@ #include // for using va_list #include "log.h" #include "utils.h" +#include "strutils.h" int loglevel_mask; @@ -39,7 +40,7 @@ static struct { void logging_hex(char* hex, char* asci) { - int hex_len = strnlen(hex, 4096); + int hex_len = s_strnlen(hex, 4096); char* hex_ptr = hex; @@ -57,7 +58,7 @@ void logging_hex(char* hex, char* asci) { fprintf(stderr, "%s\n", hex_ptr); - int asci_len = strnlen(asci, 4096); + int asci_len = s_strnlen(asci, 4096); char* asci_ptr = asci; fprintf(stderr, "ASCI:\n"); diff --git a/src/strutils.c b/src/strutils.c index d4be7a3..e7444b7 100755 --- a/src/strutils.c +++ b/src/strutils.c @@ -70,17 +70,30 @@ int read_line(const int fd, char* ptr, const unsigned int maxlen) */ char *s_strncpy(char *dest, const char *source, size_t n) { - char *start = dest; + char *start = dest; - if(n) { - while(--n) { - if(*source == '\0') { - break; - } - *dest++ = *source++; - } - *dest = '\0'; - } + if (n) { + while (--n) { + if (*source == '\0') { + break; + } + *dest++ = *source++; + } + *dest = '\0'; + } + + return start; +} - return start; +/** + * Mingw doesn't have strnlen. + */ +size_t s_strnlen(const char *s, size_t maxlen) { + size_t len; + for (len = 0; len < maxlen; len++, s++) { + if (!*s) { + break; + } + } + return len; } diff --git a/src/strutils.h b/src/strutils.h index 897579f..d5bf30b 100644 --- a/src/strutils.h +++ b/src/strutils.h @@ -7,5 +7,6 @@ size_t tokenize(const char *str, const char *delim, char *tokens[], size_t max_t void free_strings(char **array, int n); int read_line(const int fd, char* ptr, const unsigned int maxlen); char *s_strncpy(char *dest, const char *source, size_t n); +size_t s_strnlen(const char *s, size_t maxlen); #endif