diff options
| author | Thomas Gleixner <tglx@linutronix.de> | 2010-12-09 18:17:25 +0100 | 
|---|---|---|
| committer | Thomas Gleixner <tglx@linutronix.de> | 2010-12-09 18:17:25 +0100 | 
| commit | d834a9dcecae834cd6b2bc5e50e1907738d9cf6a (patch) | |
| tree | 0589d753465d3fe359ba451ba6cb7798df03aaa2 /net/core/utils.c | |
| parent | a38c5380ef9f088be9f49b6e4c5d80af8b1b5cd4 (diff) | |
| parent | f658bcfb2607bf0808966a69cf74135ce98e5c2d (diff) | |
Merge branch 'x86/amd-nb' into x86/apic-cleanups
Reason: apic cleanup series depends on x86/apic, x86/amd-nb x86/platform
Conflicts:
	arch/x86/include/asm/io_apic.h
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'net/core/utils.c')
| -rw-r--r-- | net/core/utils.c | 15 | 
1 files changed, 8 insertions, 7 deletions
| diff --git a/net/core/utils.c b/net/core/utils.c index f4185447053..5fea0ab2190 100644 --- a/net/core/utils.c +++ b/net/core/utils.c @@ -75,7 +75,7 @@ __be32 in_aton(const char *str)  				str++;  		}  	} -	return(htonl(l)); +	return htonl(l);  }  EXPORT_SYMBOL(in_aton); @@ -92,18 +92,19 @@ EXPORT_SYMBOL(in_aton);  static inline int xdigit2bin(char c, int delim)  { +	int val; +  	if (c == delim || c == '\0')  		return IN6PTON_DELIM;  	if (c == ':')  		return IN6PTON_COLON_MASK;  	if (c == '.')  		return IN6PTON_DOT; -	if (c >= '0' && c <= '9') -		return (IN6PTON_XDIGIT | IN6PTON_DIGIT| (c - '0')); -	if (c >= 'a' && c <= 'f') -		return (IN6PTON_XDIGIT | (c - 'a' + 10)); -	if (c >= 'A' && c <= 'F') -		return (IN6PTON_XDIGIT | (c - 'A' + 10)); + +	val = hex_to_bin(c); +	if (val >= 0) +		return val | IN6PTON_XDIGIT | (val < 10 ? IN6PTON_DIGIT : 0); +  	if (delim == -1)  		return IN6PTON_DELIM;  	return IN6PTON_UNKNOWN; | 
