s/qmail
3.3.23
Next generation secure email transport
sqmail-3.3.23
src
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
}
scan.h
tmp
stralloc tmp
Definition:
newinclude.c:31
scan_xlong
unsigned int scan_xlong(const char *src, unsigned long *dest)
Definition:
scan_xlong.c:13
Generated on Sat Jan 12 2019 23:42:28 for s/qmail by
1.8.13