1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-06-23 19:21:59 +03:00

Remove implementations of non-ISO libc functions which are present in newlib

This commit is contained in:
Ivan Grokhotkov
2016-06-27 21:10:41 +08:00
parent 1588b45a8a
commit 6d3109e8c7
4 changed files with 88 additions and 61 deletions

View File

@ -29,21 +29,6 @@
#include <math.h>
#include "stdlib_noniso.h"
int atoi(const char* s) {
return (int) atol(s);
}
long atol(const char* s) {
char * tmp;
return strtol(s, &tmp, 10);
}
double atof(const char* s) {
char * tmp;
return strtod(s, &tmp);
}
void reverse(char* begin, char* end) {
char *is = begin;
char *ie = end - 1;
@ -56,31 +41,6 @@ void reverse(char* begin, char* end) {
}
}
char* itoa(int value, char* result, int base) {
if(base < 2 || base > 16) {
*result = 0;
return result;
}
char* out = result;
int quotient = abs(value);
do {
const int tmp = quotient / base;
*out = "0123456789abcdef"[quotient - (tmp * base)];
++out;
quotient = tmp;
} while(quotient);
// Apply negative sign
if(value < 0)
*out++ = '-';
reverse(result, out);
*out = 0;
return result;
}
char* ltoa(long value, char* result, int base) {
if(base < 2 || base > 16) {
*result = 0;
@ -106,27 +66,6 @@ char* ltoa(long value, char* result, int base) {
return result;
}
char* utoa(unsigned value, char* result, int base) {
if(base < 2 || base > 16) {
*result = 0;
return result;
}
char* out = result;
unsigned quotient = value;
do {
const unsigned tmp = quotient / base;
*out = "0123456789abcdef"[quotient - (tmp * base)];
++out;
quotient = tmp;
} while(quotient);
reverse(result, out);
*out = 0;
return result;
}
char* ultoa(unsigned long value, char* result, int base) {
if(base < 2 || base > 16) {
*result = 0;

View File

@ -42,6 +42,8 @@ char* ultoa (unsigned long val, char *s, int radix);
char* dtostrf (double val, signed char width, unsigned char prec, char *s);
void reverse(char* begin, char* end);
#ifdef __cplusplus
} // extern "C"
#endif