2 * Copyright (C) 2006 Atmark Techno, Inc.
4 * This file is subject to the terms and conditions of the GNU General Public
5 * License. See the file "COPYING" in the main directory of this archive
9 #include <linux/string.h>
10 #include <asm/uaccess.h>
14 long strnlen_user(const char __user *src, long count)
16 return strlen(src) + 1;
19 #define __do_strncpy_from_user(dst, src, count, res) \
22 strncpy(dst, src, count); \
23 for (tmp = dst; *tmp && count > 0; tmp++, count--) \
28 long __strncpy_from_user(char *dst, const char __user *src, long count)
31 __do_strncpy_from_user(dst, src, count, res);
35 long strncpy_from_user(char *dst, const char __user *src, long count)
38 if (access_ok(VERIFY_READ, src, 1))
39 __do_strncpy_from_user(dst, src, count, res);