improve range check
parent
674a60b278
commit
7f3c1ccc0c
@ -0,0 +1,16 @@
|
|||||||
|
#include <assert.h>
|
||||||
|
#include <limits.h>
|
||||||
|
#include "scan.h"
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
unsigned long l;
|
||||||
|
char buf[100];
|
||||||
|
assert(scan_ulong("12345",&l)==5 && l==12345);
|
||||||
|
assert(scan_ulong("-12345",&l)==0);
|
||||||
|
assert(scan_ulong("4294967295",&l)==10 && l==4294967295ul);
|
||||||
|
if (sizeof(unsigned long)==4) {
|
||||||
|
assert(scan_ulong("4294967296",&l)==9 && l==429496729);
|
||||||
|
assert(scan_ulong("42949672950",&l)==10 && l==4294967295ul);
|
||||||
|
assert(scan_ulong("5294967295",&l)==9 && l==529496729);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue