Module Name:    src
Committed By:   riastradh
Date:           Wed Feb 25 14:55:57 UTC 2015

Modified Files:
        src/sys/external/bsd/drm2/include/linux: string.h

Log Message:
Add kstrndup.


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/sys/external/bsd/drm2/include/linux/string.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/drm2/include/linux/string.h
diff -u src/sys/external/bsd/drm2/include/linux/string.h:1.3 src/sys/external/bsd/drm2/include/linux/string.h:1.4
--- src/sys/external/bsd/drm2/include/linux/string.h:1.3	Wed Jul 16 20:56:25 2014
+++ src/sys/external/bsd/drm2/include/linux/string.h	Wed Feb 25 14:55:57 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: string.h,v 1.3 2014/07/16 20:56:25 riastradh Exp $	*/
+/*	$NetBSD: string.h,v 1.4 2015/02/25 14:55:57 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -64,4 +64,24 @@ kmemdup(const void *src, size_t len, gfp
 	return dst;
 }
 
+static inline char *
+kstrndup(const char *src, size_t maxlen, gfp_t gfp)
+{
+	char *dst;
+	size_t len;
+
+	if (src == NULL)
+		return NULL;
+
+	len = strnlen(src, maxlen);
+	dst = kmalloc(len + 1, gfp);
+	if (dst == NULL)
+		return NULL;
+
+	(void)memcpy(dst, src, len);
+	dst[len] = '\0';
+
+	return dst;
+}
+
 #endif  /* _LINUX_STRING_H_ */

Reply via email to