net: core: let's use native isxdigit instead of custom
In kernel we have fast and pretty implementation of the isxdigit() function. Let's use it. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
05fcaeac05
commit
5a048e3b59
@@ -17,6 +17,7 @@
|
|||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/jiffies.h>
|
#include <linux/jiffies.h>
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
|
#include <linux/ctype.h>
|
||||||
#include <linux/inet.h>
|
#include <linux/inet.h>
|
||||||
#include <linux/mm.h>
|
#include <linux/mm.h>
|
||||||
#include <linux/net.h>
|
#include <linux/net.h>
|
||||||
@@ -348,9 +349,7 @@ int mac_pton(const char *s, u8 *mac)
|
|||||||
|
|
||||||
/* Don't dirty result unless string is valid MAC. */
|
/* Don't dirty result unless string is valid MAC. */
|
||||||
for (i = 0; i < ETH_ALEN; i++) {
|
for (i = 0; i < ETH_ALEN; i++) {
|
||||||
if (!strchr("0123456789abcdefABCDEF", s[i * 3]))
|
if (!isxdigit(s[i * 3]) || !isxdigit(s[i * 3 + 1]))
|
||||||
return 0;
|
|
||||||
if (!strchr("0123456789abcdefABCDEF", s[i * 3 + 1]))
|
|
||||||
return 0;
|
return 0;
|
||||||
if (i != ETH_ALEN - 1 && s[i * 3 + 2] != ':')
|
if (i != ETH_ALEN - 1 && s[i * 3 + 2] != ':')
|
||||||
return 0;
|
return 0;
|
||||||
|
Reference in New Issue
Block a user