]> git.sur5r.net Git - cc65/blob - testcode/lib/atoi-test.c
cbm stuff from greggs pull request
[cc65] / testcode / lib / atoi-test.c
1 /* A small test for atoi. Assumes twos complement */
2 #include <stdio.h>
3 #include <stdlib.h>
4 #include <string.h>
5 #include <limits.h>
6 #include <errno.h>
7
8
9
10 #define outfile stderr
11
12
13
14 static unsigned int Failures = 0;
15
16
17
18 static void CheckAtoi (const char* Str, int Val)
19 {
20     int Res = atoi (Str);
21     if (Res != Val) {
22         fprintf (outfile, "atoi error in \"%s\":\n"
23                           "  result = %d, should be %d\n", Str, Res, Val);
24         ++Failures;
25     }
26 }
27
28
29
30 int main (void)
31 {
32     CheckAtoi ("\t +0A", 0);
33     CheckAtoi ("\t -0.123", 0);
34     CheckAtoi ("  -32  ", -32);
35     CheckAtoi (" +32  ", 32);
36     CheckAtoi ("0377", 377);
37     CheckAtoi (" 0377 ", 377);
38     CheckAtoi (" +0377 ", 377);
39     CheckAtoi (" -0377 ", -377);
40     CheckAtoi ("0x7FFF", 0);
41     CheckAtoi (" +0x7FFF", 0);
42     CheckAtoi (" -0x7FFF", 0);
43     fprintf (outfile, "Failures: %u\n", Failures);
44     return (Failures != 0);
45 }