common: strscat/cpy are simple wrappers around the same function
authorFerry Huberts <ferry.huberts@pelagic.nl>
Thu, 2 Jun 2016 17:13:11 +0000 (19:13 +0200)
committerFerry Huberts <ferry.huberts@pelagic.nl>
Thu, 2 Jun 2016 20:06:48 +0000 (22:06 +0200)
Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
src/common/string_handling.c

index eaeb804..5887152 100644 (file)
@@ -62,7 +62,7 @@
  *
  * @return pointer to destination buffer
  */
-char * strscpy(char *dest, const char *src, size_t dest_size) {
+static char *_internal_strscpy(char *dest, const char *src, size_t dest_size) {
   register size_t l = 0;
 #if !defined(NODEBUG) && defined(DEBUG)
   if (NULL == dest)
@@ -83,6 +83,23 @@ char * strscpy(char *dest, const char *src, size_t dest_size) {
   return strncpy(dest, src, l);
 }
 
+/**
+ * A somewhat safe version of strncpy.
+ * 1) This function never writes more than dest_size bytes.
+ * 2) This function always terminates the content of the dest buffer with
+ *    a zero byte.
+ * 3) This function does not write more than strlen(src)+1 bytes
+ *
+ * @param dest pointer to the destination buffer
+ * @param src pointer to the source buffer
+ * @param dest_size length of destination buffer in bytes
+ *
+ * @return pointer to destination buffer
+ */
+char * strscpy(char *dest, const char *src, size_t dest_size) {
+  return _internal_strscpy(dest, src, dest_size);
+}
+
 /**
  * A somewhat safe version of strncat, it appends the string
  * content of src to dest.
@@ -101,5 +118,5 @@ char * strscpy(char *dest, const char *src, size_t dest_size) {
  */
 char * strscat(char *dest, const char *src, size_t dest_size) {
   register size_t l = strlen(dest);
-  return strscpy(dest + l, src, dest_size > l ? dest_size - l : 0);
+  return _internal_strscpy(dest + l, src, dest_size > l ? dest_size - l : 0);
 }