From ef64b99e8412f2273dd2e8b3291c2f78ffc4667f Mon Sep 17 00:00:00 2001 From: roberto Date: Thu, 9 Dec 1999 13:01:21 +0000 Subject: Virgin import of ntpd 4.0.98f --- contrib/ntp/libntp/hextoint.c | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 contrib/ntp/libntp/hextoint.c (limited to 'contrib/ntp/libntp/hextoint.c') diff --git a/contrib/ntp/libntp/hextoint.c b/contrib/ntp/libntp/hextoint.c new file mode 100644 index 0000000..0d774eb --- /dev/null +++ b/contrib/ntp/libntp/hextoint.c @@ -0,0 +1,39 @@ +/* + * hextoint - convert an ascii string in hex to an unsigned + * long, with error checking + */ +#include + +#include "ntp_stdlib.h" + +int +hextoint( + const char *str, + u_long *ival + ) +{ + register u_long u; + register const char *cp; + + cp = str; + + if (*cp == '\0') + return 0; + + u = 0; + while (*cp != '\0') { + if (!isxdigit((int)*cp)) + return 0; + if (u >= 0x10000000) + return 0; /* overflow */ + u <<= 4; + if (*cp <= '9') /* very ascii dependent */ + u += *cp++ - '0'; + else if (*cp >= 'a') + u += *cp++ - 'a' + 10; + else + u += *cp++ - 'A' + 10; + } + *ival = u; + return 1; +} -- cgit v1.1