Browse Source

add strlcpy

git-svn-id: https://rt-thread.googlecode.com/svn/trunk@412 bbd45198-f89e-11dd-88c7-29a3b14d5316
gary.li.wenchao.4 15 years ago
parent
commit
6c82f5086f
1 changed files with 20 additions and 0 deletions
  1. 20 0
      src/kservice.c

+ 20 - 0
src/kservice.c

@@ -335,6 +335,26 @@ char *rt_strncpy(char *dest, const char *src, rt_ubase_t n)
 	return dest;
 }
 
+/**
+ * This function will copy string no more than n bytes.
+ *
+ * @param dest the string to copy
+ * @param src the string to be copied
+ * @param n the maximum copied length
+ *
+ * @return the result with '\0' at the end
+ */
+char *rt_strlcpy(char *dest, const char *src, rt_ubase_t n)
+{
+	char *tmp = (char *) dest, *s = (char *) src;
+
+	while(n--)
+		*tmp++ = *s++;
+	*tmp = '\0';
+	
+	return dest;
+}
+
 /**
  * This function will compare two strings with specified maximum length
  *