Add: strnlen, strncat, safer string functions
This commit is contained in:
@@ -103,3 +103,32 @@ void strcat(char* dest, const char* src)
|
||||
|
||||
*dest = '\0';
|
||||
}
|
||||
|
||||
size_t strnlen(const char* str, size_t max_len)
|
||||
{
|
||||
size_t len = 0;
|
||||
while (*str && len < max_len)
|
||||
{
|
||||
len++;
|
||||
str++;
|
||||
}
|
||||
return len;
|
||||
}
|
||||
|
||||
void strncat(char* dest, const char* src, size_t n)
|
||||
{
|
||||
while (*dest)
|
||||
{
|
||||
dest++;
|
||||
}
|
||||
|
||||
while (*src && n > 0)
|
||||
{
|
||||
*dest = *src;
|
||||
dest++;
|
||||
src++;
|
||||
n--;
|
||||
}
|
||||
|
||||
*dest = '\0';
|
||||
}
|
||||
|
||||
@@ -12,4 +12,8 @@ char* strtok(char* str, const char* delimiter);
|
||||
int atoi(char* str);
|
||||
void strcat(char* dest, const char* src);
|
||||
|
||||
// Safer functions
|
||||
size_t strnlen(const char* str, size_t max_len);
|
||||
void strncat(char* dest, const char* src, size_t n);
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user