Added atol() that ignores overflow, so that unsigned long constants are dealt with properly
This commit is contained in:
parent
2483e5723d
commit
1072a8797e
|
@ -849,8 +849,28 @@ extxcon(header) {
|
||||||
return ;
|
return ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Added atol() that ignores overflow. --Ceriel */
|
||||||
|
long atol(s)
|
||||||
|
register char *s;
|
||||||
|
{
|
||||||
|
register long total = 0;
|
||||||
|
register unsigned digit;
|
||||||
|
int minus = 0;
|
||||||
|
|
||||||
|
while (*s == ' ' || *s == '\t') s++;
|
||||||
|
if (*s == '+') s++;
|
||||||
|
else if (*s == '-') {
|
||||||
|
s++;
|
||||||
|
minus = 1;
|
||||||
|
}
|
||||||
|
while ((digit = *s++ - '0') < 10) {
|
||||||
|
total *= 10;
|
||||||
|
total += digit;
|
||||||
|
}
|
||||||
|
return(minus ? -total : total);
|
||||||
|
}
|
||||||
|
|
||||||
extvcon(header) {
|
extvcon(header) {
|
||||||
extern long atol() ;
|
|
||||||
/*
|
/*
|
||||||
* generate data for a constant initialized by a string.
|
* generate data for a constant initialized by a string.
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in a new issue