diff options
Diffstat (limited to 'util.c')
-rw-r--r-- | util.c | 19 |
1 files changed, 19 insertions, 0 deletions
@@ -1,5 +1,6 @@ #include <stdio.h> #include <stdlib.h> +#include <string.h> #include "util.h" @@ -41,3 +42,21 @@ read_file(char *path, char **output, size_t * read_size) return 0; } + +char * +v_strcpy(char *str, size_t len) +{ + char *new_str; + size_t new_len; + + new_str = (char *) malloc(sizeof(char) * (len + 1)); + if (new_str == NULL) + return NULL; + + new_len = strlcpy(new_str, str, len + 1); + if (new_len >= len + 1) { + free(new_str); + return NULL; + } + return new_str; +} |