Rename & reorder readed bytes arg in string funcs

This commit is contained in:
2025-11-09 19:36:06 +03:00
parent aa402de368
commit 176079e7e9
8 changed files with 235 additions and 159 deletions

View File

@@ -515,11 +515,11 @@ static int caselessCompare(const char *src,
static int parseFormat(const char *string,
size_t *size,
char *buffer,
int *sign,
int *e,
int *type)
int *type,
size_t *actual)
{
const char *current;
int esign, dot, count;
@@ -607,15 +607,15 @@ static int parseFormat(const char *string,
*e -= dot;
done:
if (size)
*size = current - string;
if (actual)
*actual = current - string;
return count;
}
double BH_StringToDouble(const char *string,
size_t *size)
size_t *actual)
{
int type, e, sign, i, count, shift;
Mpi r, s, tmp[5];
@@ -627,7 +627,7 @@ double BH_StringToDouble(const char *string,
assert(string != NULL);
/* Parse from string format */
count = parseFormat(string, size, buffer, &sign, &e, &type);
count = parseFormat(string, buffer, &sign, &e, &type, actual);
/* Handle special values */
if (type == BH_FP_INFINITE)
@@ -641,8 +641,8 @@ double BH_StringToDouble(const char *string,
else if (type == BH_FP_ZERO)
{
/* Hacky solution to indicate we haven't seen any digit */
if (size)
*size = 0;
if (actual)
*actual = 0;
return 0.0;
}

View File

@@ -3,15 +3,15 @@ signed char sym;
/* Check for valid base and zero out read size */
result = 0;
if (size)
*size = 0;
if (actual)
*actual = 0;
if (base != 0 && (base < 2 || base > 36))
return 0;
/* Handle space, sign and base */
skipSpace(&string, size);
handleSign(&string, size, &sign);
guessBase(&string, size, &base);
skipSpace(&string, actual);
handleSign(&string, actual, &sign);
guessBase(&string, actual, &base);
/* Read digits */
while(*string)
@@ -21,14 +21,14 @@ while(*string)
if (sym >= base || sym == -1)
break;
if (size)
(*size)++;
if (actual)
(*actual)++;
result = result * base + sym;
flag = 1;
}
/* Zero out size on error */
if (!result && !flag && size)
*size = 0;
if (!result && !flag && actual)
*actual = 0;
return result * sign;

View File

@@ -160,8 +160,8 @@ int BH_StringFromInt64u(char *string,
int8_t BH_StringToInt8s(const char *string,
size_t *size,
int base)
int base,
size_t *actual)
{
int8_t result;
#include "Inline/Int.h"
@@ -169,8 +169,8 @@ int8_t BH_StringToInt8s(const char *string,
int16_t BH_StringToInt16s(const char *string,
size_t *size,
int base)
int base,
size_t *actual)
{
int16_t result;
#include "Inline/Int.h"
@@ -178,8 +178,8 @@ int16_t BH_StringToInt16s(const char *string,
int32_t BH_StringToInt32s(const char *string,
size_t *size,
int base)
int base,
size_t *actual)
{
int32_t result;
#include "Inline/Int.h"
@@ -187,8 +187,8 @@ int32_t BH_StringToInt32s(const char *string,
int64_t BH_StringToInt64s(const char *string,
size_t *size,
int base)
int base,
size_t *actual)
{
int64_t result;
#include "Inline/Int.h"
@@ -196,8 +196,8 @@ int64_t BH_StringToInt64s(const char *string,
uint8_t BH_StringToInt8u(const char *string,
size_t *size,
int base)
int base,
size_t *actual)
{
uint8_t result;
#include "Inline/Int.h"
@@ -205,8 +205,8 @@ uint8_t BH_StringToInt8u(const char *string,
uint16_t BH_StringToInt16u(const char *string,
size_t *size,
int base)
int base,
size_t *actual)
{
uint16_t result;
#include "Inline/Int.h"
@@ -214,8 +214,8 @@ uint16_t BH_StringToInt16u(const char *string,
uint32_t BH_StringToInt32u(const char *string,
size_t *size,
int base)
int base,
size_t *actual)
{
uint32_t result;
#include "Inline/Int.h"
@@ -223,8 +223,8 @@ uint32_t BH_StringToInt32u(const char *string,
uint64_t BH_StringToInt64u(const char *string,
size_t *size,
int base)
int base,
size_t *actual)
{
uint64_t result;
#include "Inline/Int.h"