s/qmail  3.3.23
Next generation secure email transport
scan_xlong.c
Go to the documentation of this file.
1 #include "scan.h"
2 
3 static inline int fromhex(unsigned char c) {
4  if (c>='0' && c<='9')
5  return c-'0';
6  else if (c>='A' && c<='F')
7  return c-'A'+10;
8  else if (c>='a' && c<='f')
9  return c-'a'+10;
10  return -1;
11 }
12 
13 unsigned int scan_xlong(const char *src,unsigned long *dest) {
14  register const char *tmp=src;
15  register int l=0;
16  register unsigned char c;
17  while ((c = fromhex(*tmp)) < 16) {
18  l=(l<<4)+c;
19  ++tmp;
20  }
21  *dest=l;
22  return tmp-src;
23 }
stralloc tmp
Definition: newinclude.c:31
unsigned int scan_xlong(const char *src, unsigned long *dest)
Definition: scan_xlong.c:13