mescc: Tinycc support: strtoull.
[mes.git] / scaffold / tests / 7j-strtoull.c
1 /* -*-comment-start: "//";comment-end:""-*-
2  * Mes --- Maxwell Equations of Software
3  * Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
4  *
5  * This file is part of Mes.
6  *
7  * Mes is free software; you can redistribute it and/or modify it
8  * under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 3 of the License, or (at
10  * your option) any later version.
11  *
12  * Mes is distributed in the hope that it will be useful, but
13  * WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with Mes.  If not, see <http://www.gnu.org/licenses/>.
19  */
20
21 #include "30-test.i"
22 #include <mlibc.h>
23 #include <stdio.h>
24 #include <stdlib.h>
25 #include <string.h>
26
27 unsigned long long
28 strtoull (char const *p, char **end, int base)
29 {
30   *end = p;
31   return _atoi (end, base);
32 }
33
34 int
35 test ()
36 {
37   char *p = "42foo\n";
38   int n = _atoi (&p, 0);
39   if (n != 42) return 1;
40   eputs (p);
41   if (strcmp (p, "foo\n")) return 2;
42
43   p = "2azar\n";
44   n = strtoull (p, (char**)&p, 16);  
45   if (n != 42) return 3;
46   eputs (p);
47   if (strcmp (p, "zar\n")) return 4;
48   
49   return 0;
50 }