diff --git a/src/lib.c b/src/lib.c index 5f9540e..bc6243c 100644 --- a/src/lib.c +++ b/src/lib.c @@ -13,7 +13,7 @@ inline int _strnlen(const char *s, int maxlen) { while (s[len] != 0 && len < maxlen) len++; return len; } -inline char _strncpy(char *dest, const char *src, int n) { +inline int _strncpy(char *dest, const char *src, int n) { int i = 0; while (i < n && src[i] != '\0') { dest[i] = src[i]; @@ -23,7 +23,7 @@ inline char _strncpy(char *dest, const char *src, int n) { dest[i] = '\0'; i++; } - return dest; + return i; } uint16_t crc16_ccitt(char* data, uint16_t len) { uint16_t i, crc=0xFFFF; diff --git a/src/lib.h b/src/lib.h index ccca945..785c1df 100644 --- a/src/lib.h +++ b/src/lib.h @@ -6,7 +6,7 @@ void msleep(unsigned long ms); int _strnlen(const char *s, int maxlen); -char _strncpy(char *dest, const char *src, int n); +int _strncpy(char *dest, const char *src, int n); uint16_t crc16_ccitt(char *data, uint16_t len);