String: Remove old NO_USE_STDLIB code path

We're using the standard library in many core classes by now so
this code path no longer makes sense.
This commit is contained in:
Rémi Verschelde 2021-08-18 14:35:24 +02:00
parent 2a9c4a59df
commit b033dff983
No known key found for this signature in database
GPG Key ID: C3336907360768E1
1 changed files with 1 additions and 91 deletions

View File

@ -39,12 +39,9 @@
#include "core/string/ucaps.h"
#include "core/variant/variant.h"
#include <cstdint>
#ifndef NO_USE_STDLIB
#include <stdio.h>
#include <stdlib.h>
#endif
#include <cstdint>
#ifdef _MSC_VER
#define _CRT_SECURE_NO_WARNINGS // to disable build-time warning which suggested to use strcpy_s instead strcpy
@ -1393,7 +1390,6 @@ String String::num(double p_num, int p_decimals) {
return "inf";
}
}
#ifndef NO_USE_STDLIB
if (p_decimals < 0) {
p_decimals = 14;
@ -1466,87 +1462,6 @@ String String::num(double p_num, int p_decimals) {
}
return buf;
#else
String s;
String sd;
/* integer part */
bool neg = p_num < 0;
p_num = ABS(p_num);
int intn = (int)p_num;
/* decimal part */
if (p_decimals > 0 || (p_decimals == -1 && (int)p_num != p_num)) {
double dec = p_num - (double)((int)p_num);
int digit = 0;
if (p_decimals > MAX_DECIMALS) {
p_decimals = MAX_DECIMALS;
}
int dec_int = 0;
int dec_max = 0;
while (true) {
dec *= 10.0;
dec_int = dec_int * 10 + (int)dec % 10;
dec_max = dec_max * 10 + 9;
digit++;
if (p_decimals == -1) {
if (digit == MAX_DECIMALS) { //no point in going to infinite
break;
}
if (dec - (double)((int)dec) < 1e-6) {
break;
}
}
if (digit == p_decimals) {
break;
}
}
dec *= 10;
int last = (int)dec % 10;
if (last > 5) {
if (dec_int == dec_max) {
dec_int = 0;
intn++;
} else {
dec_int++;
}
}
String decimal;
for (int i = 0; i < digit; i++) {
char num[2] = { 0, 0 };
num[0] = '0' + dec_int % 10;
decimal = num + decimal;
dec_int /= 10;
}
sd = '.' + decimal;
}
if (intn == 0)
s = "0";
else {
while (intn) {
char32_t num = '0' + (intn % 10);
intn /= 10;
s = num + s;
}
}
s = s + sd;
if (neg)
s = "-" + s;
return s;
#endif
}
String String::num_int64(int64_t p_num, int base, bool capitalize_hex) {
@ -1733,7 +1648,6 @@ String String::num_scientific(double p_num) {
return "inf";
}
}
#ifndef NO_USE_STDLIB
char buf[256];
@ -1756,10 +1670,6 @@ String String::num_scientific(double p_num) {
buf[255] = 0;
return buf;
#else
return String::num(p_num);
#endif
}
String String::md5(const uint8_t *p_md5) {