From 5449ae78f44a39270e11d118b061a5eeec04ddcc Mon Sep 17 00:00:00 2001 From: Jonas 'Sortie' Termansen Date: Mon, 5 Mar 2012 12:53:58 +0100 Subject: [PATCH] Added atol(3) and atoll(3). --- libmaxsi/include/stdlib.h | 5 ++--- libmaxsi/integer.cpp | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/libmaxsi/include/stdlib.h b/libmaxsi/include/stdlib.h index 53235971..76f1ba19 100644 --- a/libmaxsi/include/stdlib.h +++ b/libmaxsi/include/stdlib.h @@ -47,6 +47,8 @@ typedef int div_t, ldiv_t, lldiv_t; void abort(void); int atoi(const char*); +long atol(const char*); +long long atoll(const char*); void* calloc(size_t, size_t); void exit(int); void _Exit(int status); @@ -67,9 +69,6 @@ long a64l(const char* s); int abs(int value); int atexit(void (*function)(void)); double atof(const char* value); -int atoi(const char*); -long atol(const char*); -long long atoll(const char*); void* bsearch(const void*, const void*, size_t, size_t, int (*)(const void*, const void*)); div_t div(int, int); double drand48(void); diff --git a/libmaxsi/integer.cpp b/libmaxsi/integer.cpp index 1a051607..c1b3ad94 100644 --- a/libmaxsi/integer.cpp +++ b/libmaxsi/integer.cpp @@ -106,6 +106,24 @@ namespace Maxsi { return ParseInteger(str, endptr, base); } + +// TODO: This conflicts with libmaxsi/string.cpp:Maxsi::ToInt(). +#if 0 + extern "C" int atoi(const char* str) + { + return strtol(str, (char **) NULL, 10); + } +#endif + + extern "C" long atol(const char* str) + { + return strtol(str, (char **) NULL, 10); + } + + extern "C" long long atoll(const char* str) + { + return strtoll(str, (char **) NULL, 10); + } } }