diff mbox

[U-Boot,v2,1/3] lib: string: move strlcpy() to a common place

Message ID 1416486034-21959-2-git-send-email-yamada.m@jp.panasonic.com
State Accepted
Delegated to: Simon Glass
Headers show

Commit Message

Masahiro Yamada Nov. 20, 2014, 12:20 p.m. UTC
Move strlcpy() definition from drivers/usb/gadget/ether.c to
lib/string.c because it is a very useful function.
Let's add the prototype to include/linux/string.h too.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
---

Changes in v2: None

 drivers/usb/gadget/ether.c | 24 ------------------------
 include/linux/string.h     |  3 +++
 lib/string.c               | 25 +++++++++++++++++++++++++
 3 files changed, 28 insertions(+), 24 deletions(-)

Comments

Simon Glass Nov. 20, 2014, 2:27 p.m. UTC | #1
On 20 November 2014 12:20, Masahiro Yamada <yamada.m@jp.panasonic.com> wrote:
>
> Move strlcpy() definition from drivers/usb/gadget/ether.c to
> lib/string.c because it is a very useful function.
> Let's add the prototype to include/linux/string.h too.
>
> Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
> ---
>
> Changes in v2: None

Acked-by: Simon Glass <sjg@chromium.org>
Simon Glass Nov. 30, 2014, 3:28 a.m. UTC | #2
On 20 November 2014 at 07:27, Simon Glass <sjg@chromium.org> wrote:
> On 20 November 2014 12:20, Masahiro Yamada <yamada.m@jp.panasonic.com> wrote:
>>
>> Move strlcpy() definition from drivers/usb/gadget/ether.c to
>> lib/string.c because it is a very useful function.
>> Let's add the prototype to include/linux/string.h too.
>>
>> Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
>> ---
>>
>> Changes in v2: None
>
> Acked-by: Simon Glass <sjg@chromium.org>

Applied to u-boot-dm, thanks!
diff mbox

Patch

diff --git a/drivers/usb/gadget/ether.c b/drivers/usb/gadget/ether.c
index d0dd29f..ba442d5 100644
--- a/drivers/usb/gadget/ether.c
+++ b/drivers/usb/gadget/ether.c
@@ -852,30 +852,6 @@  DEFINE_CACHE_ALIGN_BUFFER(u8, control_req, USB_BUFSIZ);
 DEFINE_CACHE_ALIGN_BUFFER(u8, status_req, STATUS_BYTECOUNT);
 #endif
 
-
-/**
- * strlcpy - Copy a %NUL terminated string into a sized buffer
- * @dest: Where to copy the string to
- * @src: Where to copy the string from
- * @size: size of destination buffer
- *
- * Compatible with *BSD: the result is always a valid
- * NUL-terminated string that fits in the buffer (unless,
- * of course, the buffer size is zero). It does not pad
- * out the result like strncpy() does.
- */
-size_t strlcpy(char *dest, const char *src, size_t size)
-{
-	size_t ret = strlen(src);
-
-	if (size) {
-		size_t len = (ret >= size) ? size - 1 : ret;
-		memcpy(dest, src, len);
-		dest[len] = '\0';
-	}
-	return ret;
-}
-
 /*============================================================================*/
 
 /*
diff --git a/include/linux/string.h b/include/linux/string.h
index 96348d6..c7047ba 100644
--- a/include/linux/string.h
+++ b/include/linux/string.h
@@ -30,6 +30,9 @@  extern char * strcpy(char *,const char *);
 #ifndef __HAVE_ARCH_STRNCPY
 extern char * strncpy(char *,const char *, __kernel_size_t);
 #endif
+#ifndef __HAVE_ARCH_STRLCPY
+size_t strlcpy(char *, const char *, size_t);
+#endif
 #ifndef __HAVE_ARCH_STRCAT
 extern char * strcat(char *, const char *);
 #endif
diff --git a/lib/string.c b/lib/string.c
index 29c2ca7..87c9a40 100644
--- a/lib/string.c
+++ b/lib/string.c
@@ -102,6 +102,31 @@  char * strncpy(char * dest,const char *src,size_t count)
 }
 #endif
 
+#ifndef __HAVE_ARCH_STRLCPY
+/**
+ * strlcpy - Copy a C-string into a sized buffer
+ * @dest: Where to copy the string to
+ * @src: Where to copy the string from
+ * @size: size of destination buffer
+ *
+ * Compatible with *BSD: the result is always a valid
+ * NUL-terminated string that fits in the buffer (unless,
+ * of course, the buffer size is zero). It does not pad
+ * out the result like strncpy() does.
+ */
+size_t strlcpy(char *dest, const char *src, size_t size)
+{
+	size_t ret = strlen(src);
+
+	if (size) {
+		size_t len = (ret >= size) ? size - 1 : ret;
+		memcpy(dest, src, len);
+		dest[len] = '\0';
+	}
+	return ret;
+}
+#endif
+
 #ifndef __HAVE_ARCH_STRCAT
 /**
  * strcat - Append one %NUL-terminated string to another