summaryrefslogtreecommitdiff
path: root/util.c
diff options
context:
space:
mode:
Diffstat (limited to 'util.c')
-rw-r--r--util.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/util.c b/util.c
index 54586c4..f36ee4e 100644
--- a/util.c
+++ b/util.c
@@ -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;
+}