db78a9a4db57267e927e6e7b650440e1ee0c9009
[mes.git] / scaffold / tests / 7j-strtoull.c
1 /* -*-comment-start: "//";comment-end:""-*-
2  * Mes --- Maxwell Equations of Software
3  * Copyright © 2017 Jan (janneke) 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 #if !defined ( __TINYC__)
28 unsigned long long
29 strtoull (char const *p, char **end, int base)
30 {
31   *end = p;
32   return abtoi (end, base);
33 }
34 #endif
35
36 int
37 test ()
38 {
39   char *p = "42foo\n";
40   int n = abtoi (&p, 0);
41   if (n != 42) return 1;
42   eputs (p);
43   if (strcmp (p, "foo\n")) return 2;
44
45   p = "2azar\n";
46   n = strtoull (p, (char**)&p, 16);  
47   if (n != 42) return 3;
48   eputs (p);
49   if (strcmp (p, "zar\n")) return 4;
50   
51   return 0;
52 }