added the endptr parameter to various string to number conversion functions
This commit is contained in:
@ -32,231 +32,303 @@
|
||||
/*---------------------------------------------------------------
|
||||
* multi-byte string to number conversion
|
||||
*---------------------------------------------------------------*/
|
||||
int qse_mbstoi (const qse_mchar_t* mbs, int base)
|
||||
int qse_mbstoi (const qse_mchar_t* mbs, int base, const qse_mchar_t** end)
|
||||
{
|
||||
int v;
|
||||
QSE_MBSTONUM (v, mbs, QSE_NULL, base);
|
||||
|
||||
QSE_MBSTONUM (v, mbs, end, base, 1);
|
||||
return v;
|
||||
}
|
||||
|
||||
long qse_mbstol (const qse_mchar_t* mbs, int base)
|
||||
long qse_mbstol (const qse_mchar_t* mbs, int base, const qse_mchar_t** end)
|
||||
{
|
||||
long v;
|
||||
QSE_MBSTONUM (v, mbs, QSE_NULL, base);
|
||||
QSE_MBSTONUM (v, mbs, end, base, 1);
|
||||
return v;
|
||||
}
|
||||
|
||||
unsigned int qse_mbstoui (const qse_mchar_t* mbs, int base)
|
||||
unsigned int qse_mbstoui (const qse_mchar_t* mbs, int base, const qse_mchar_t** end)
|
||||
{
|
||||
unsigned int v;
|
||||
QSE_MBSTONUM (v, mbs, QSE_NULL, base);
|
||||
QSE_MBSTONUM (v, mbs, end, base, 0);
|
||||
return v;
|
||||
}
|
||||
|
||||
unsigned long qse_mbstoul (const qse_mchar_t* mbs, int base)
|
||||
unsigned long qse_mbstoul (const qse_mchar_t* mbs, int base, const qse_mchar_t** end)
|
||||
{
|
||||
unsigned long v;
|
||||
QSE_MBSTONUM (v, mbs, QSE_NULL, base);
|
||||
QSE_MBSTONUM (v, mbs, end, base, 0);
|
||||
return v;
|
||||
}
|
||||
|
||||
int qse_mbsxtoi (const qse_mchar_t* mbs, qse_size_t len, int base)
|
||||
/* ----- */
|
||||
|
||||
int qse_mbsxtoi (const qse_mchar_t* mbs, qse_size_t len, int base, const qse_mchar_t** end)
|
||||
{
|
||||
int v;
|
||||
QSE_MBSXTONUM (v, mbs, len, QSE_NULL, base);
|
||||
QSE_MBSXTONUM (v, mbs, len, end, base, 1);
|
||||
return v;
|
||||
}
|
||||
|
||||
long qse_mbsxtol (const qse_mchar_t* mbs, qse_size_t len, int base)
|
||||
long qse_mbsxtol (const qse_mchar_t* mbs, qse_size_t len, int base, const qse_mchar_t** end)
|
||||
{
|
||||
long v;
|
||||
QSE_MBSXTONUM (v, mbs, len, QSE_NULL, base);
|
||||
QSE_MBSXTONUM (v, mbs, len, end, base, 1);
|
||||
return v;
|
||||
}
|
||||
|
||||
unsigned int qse_mbsxtoui (const qse_mchar_t* mbs, qse_size_t len, int base)
|
||||
unsigned int qse_mbsxtoui (const qse_mchar_t* mbs, qse_size_t len, int base, const qse_mchar_t** end)
|
||||
{
|
||||
unsigned int v;
|
||||
QSE_MBSXTONUM (v, mbs, len, QSE_NULL, base);
|
||||
QSE_MBSXTONUM (v, mbs, len, end, base, 0);
|
||||
return v;
|
||||
}
|
||||
|
||||
unsigned long qse_mbsxtoul (const qse_mchar_t* mbs, qse_size_t len, int base)
|
||||
unsigned long qse_mbsxtoul (const qse_mchar_t* mbs, qse_size_t len, int base, const qse_mchar_t** end)
|
||||
{
|
||||
unsigned long v;
|
||||
QSE_MBSXTONUM (v, mbs, len, QSE_NULL, base);
|
||||
QSE_MBSXTONUM (v, mbs, len, end, base, 0);
|
||||
return v;
|
||||
}
|
||||
|
||||
qse_int_t qse_mbstoint (const qse_mchar_t* mbs, int base)
|
||||
/* ----- */
|
||||
|
||||
qse_int_t qse_mbstoint (const qse_mchar_t* mbs, int base, const qse_mchar_t** end)
|
||||
{
|
||||
qse_int_t v;
|
||||
QSE_MBSTONUM (v, mbs, QSE_NULL, base);
|
||||
QSE_MBSTONUM (v, mbs, end, base, 1);
|
||||
return v;
|
||||
}
|
||||
|
||||
qse_long_t qse_mbstolong (const qse_mchar_t* mbs, int base)
|
||||
qse_long_t qse_mbstolong (const qse_mchar_t* mbs, int base, const qse_mchar_t** end)
|
||||
{
|
||||
qse_long_t v;
|
||||
QSE_MBSTONUM (v, mbs, QSE_NULL, base);
|
||||
QSE_MBSTONUM (v, mbs, end, base, 1);
|
||||
return v;
|
||||
}
|
||||
|
||||
qse_uint_t qse_mbstouint (const qse_mchar_t* mbs, int base)
|
||||
qse_intmax_t qse_mbstointmax (const qse_mchar_t* mbs, int base, const qse_mchar_t** end)
|
||||
{
|
||||
qse_intmax_t v;
|
||||
QSE_MBSTONUM (v, mbs, end, base, 1);
|
||||
return v;
|
||||
}
|
||||
/* ----- */
|
||||
|
||||
qse_uint_t qse_mbstouint (const qse_mchar_t* mbs, int base, const qse_mchar_t** end)
|
||||
{
|
||||
qse_uint_t v;
|
||||
QSE_MBSTONUM (v, mbs, QSE_NULL, base);
|
||||
QSE_MBSTONUM (v, mbs, end, base, 0);
|
||||
return v;
|
||||
}
|
||||
|
||||
qse_ulong_t qse_mbstoulong (const qse_mchar_t* mbs, int base)
|
||||
qse_ulong_t qse_mbstoulong (const qse_mchar_t* mbs, int base, const qse_mchar_t** end)
|
||||
{
|
||||
qse_ulong_t v;
|
||||
QSE_MBSTONUM (v, mbs, QSE_NULL, base);
|
||||
QSE_MBSTONUM (v, mbs, end, base, 0);
|
||||
return v;
|
||||
}
|
||||
|
||||
qse_int_t qse_mbsxtoint (const qse_mchar_t* mbs, qse_size_t len, int base)
|
||||
qse_uintmax_t qse_mbstouintmax (const qse_mchar_t* mbs, int base, const qse_mchar_t** end)
|
||||
{
|
||||
qse_uintmax_t v;
|
||||
QSE_MBSTONUM (v, mbs, end, base, 0);
|
||||
return v;
|
||||
}
|
||||
|
||||
/* ----- */
|
||||
|
||||
qse_int_t qse_mbsxtoint (const qse_mchar_t* mbs, qse_size_t len, int base, const qse_mchar_t** end)
|
||||
{
|
||||
qse_int_t v;
|
||||
QSE_MBSXTONUM (v, mbs, len, QSE_NULL, base);
|
||||
QSE_MBSXTONUM (v, mbs, len, end, base, 1);
|
||||
return v;
|
||||
}
|
||||
|
||||
qse_long_t qse_mbsxtolong (const qse_mchar_t* mbs, qse_size_t len, int base)
|
||||
qse_long_t qse_mbsxtolong (const qse_mchar_t* mbs, qse_size_t len, int base, const qse_mchar_t** end)
|
||||
{
|
||||
qse_long_t v;
|
||||
QSE_MBSXTONUM (v, mbs, len, QSE_NULL, base);
|
||||
QSE_MBSXTONUM (v, mbs, len, end, base, 1);
|
||||
return v;
|
||||
}
|
||||
|
||||
qse_uint_t qse_mbsxtouint (const qse_mchar_t* mbs, qse_size_t len, int base)
|
||||
qse_intmax_t qse_mbsxtointmax (const qse_mchar_t* mbs, qse_size_t len, int base, const qse_mchar_t** end)
|
||||
{
|
||||
qse_intmax_t v;
|
||||
QSE_MBSXTONUM (v, mbs, len, end, base, 1);
|
||||
return v;
|
||||
}
|
||||
/* ----- */
|
||||
|
||||
qse_uint_t qse_mbsxtouint (const qse_mchar_t* mbs, qse_size_t len, int base, const qse_mchar_t** end)
|
||||
{
|
||||
qse_uint_t v;
|
||||
QSE_MBSXTONUM (v, mbs, len, QSE_NULL, base);
|
||||
QSE_MBSXTONUM (v, mbs, len, end, base, 0);
|
||||
return v;
|
||||
}
|
||||
|
||||
qse_ulong_t qse_mbsxtoulong (const qse_mchar_t* mbs, qse_size_t len, int base)
|
||||
qse_ulong_t qse_mbsxtoulong (const qse_mchar_t* mbs, qse_size_t len, int base, const qse_mchar_t** end)
|
||||
{
|
||||
qse_ulong_t v;
|
||||
QSE_MBSXTONUM (v, mbs, len, QSE_NULL, base);
|
||||
QSE_MBSXTONUM (v, mbs, len, end, base, 0);
|
||||
return v;
|
||||
}
|
||||
|
||||
|
||||
qse_uintmax_t qse_mbsxtouintmax (const qse_mchar_t* mbs, qse_size_t len, int base, const qse_mchar_t** end)
|
||||
{
|
||||
qse_uintmax_t v;
|
||||
QSE_MBSXTONUM (v, mbs, len, end, base, 0);
|
||||
return v;
|
||||
}
|
||||
|
||||
/*---------------------------------------------------------------
|
||||
* wide string to number conversion
|
||||
*---------------------------------------------------------------*/
|
||||
int qse_wcstoi (const qse_wchar_t* wcs, int base)
|
||||
int qse_wcstoi (const qse_wchar_t* wcs, int base, const qse_wchar_t** end)
|
||||
{
|
||||
int v;
|
||||
QSE_WCSTONUM (v, wcs, QSE_NULL, base);
|
||||
QSE_WCSTONUM (v, wcs, end, base, 1);
|
||||
return v;
|
||||
}
|
||||
|
||||
long qse_wcstol (const qse_wchar_t* wcs, int base)
|
||||
long qse_wcstol (const qse_wchar_t* wcs, int base, const qse_wchar_t** end)
|
||||
{
|
||||
long v;
|
||||
QSE_WCSTONUM (v, wcs, QSE_NULL, base);
|
||||
QSE_WCSTONUM (v, wcs, end, base, 1);
|
||||
return v;
|
||||
}
|
||||
|
||||
unsigned int qse_wcstoui (const qse_wchar_t* wcs, int base)
|
||||
unsigned int qse_wcstoui (const qse_wchar_t* wcs, int base, const qse_wchar_t** end)
|
||||
{
|
||||
unsigned int v;
|
||||
QSE_WCSTONUM (v, wcs, QSE_NULL, base);
|
||||
QSE_WCSTONUM (v, wcs, end, base, 0);
|
||||
return v;
|
||||
}
|
||||
|
||||
unsigned long qse_wcstoul (const qse_wchar_t* wcs, int base)
|
||||
unsigned long qse_wcstoul (const qse_wchar_t* wcs, int base, const qse_wchar_t** end)
|
||||
{
|
||||
unsigned long v;
|
||||
QSE_WCSTONUM (v, wcs, QSE_NULL, base);
|
||||
QSE_WCSTONUM (v, wcs, end, base, 0);
|
||||
return v;
|
||||
}
|
||||
|
||||
int qse_wcsxtoi (const qse_wchar_t* wcs, qse_size_t len, int base)
|
||||
/* ----- */
|
||||
|
||||
int qse_wcsxtoi (const qse_wchar_t* wcs, qse_size_t len, int base, const qse_wchar_t** end)
|
||||
{
|
||||
int v;
|
||||
QSE_WCSXTONUM (v, wcs, len, QSE_NULL, base);
|
||||
QSE_WCSXTONUM (v, wcs, len, end, base, 1);
|
||||
return v;
|
||||
}
|
||||
|
||||
long qse_wcsxtol (const qse_wchar_t* wcs, qse_size_t len, int base)
|
||||
long qse_wcsxtol (const qse_wchar_t* wcs, qse_size_t len, int base, const qse_wchar_t** end)
|
||||
{
|
||||
long v;
|
||||
QSE_WCSXTONUM (v, wcs, len, QSE_NULL, base);
|
||||
QSE_WCSXTONUM (v, wcs, len, end, base, 1);
|
||||
return v;
|
||||
}
|
||||
|
||||
unsigned int qse_wcsxtoui (const qse_wchar_t* wcs, qse_size_t len, int base)
|
||||
unsigned int qse_wcsxtoui (const qse_wchar_t* wcs, qse_size_t len, int base, const qse_wchar_t** end)
|
||||
{
|
||||
unsigned int v;
|
||||
QSE_WCSXTONUM (v, wcs, len, QSE_NULL, base);
|
||||
QSE_WCSXTONUM (v, wcs, len, end, base, 0);
|
||||
return v;
|
||||
}
|
||||
|
||||
unsigned long qse_wcsxtoul (const qse_wchar_t* wcs, qse_size_t len, int base)
|
||||
unsigned long qse_wcsxtoul (const qse_wchar_t* wcs, qse_size_t len, int base, const qse_wchar_t** end)
|
||||
{
|
||||
unsigned long v;
|
||||
QSE_WCSXTONUM (v, wcs, len, QSE_NULL, base);
|
||||
QSE_WCSXTONUM (v, wcs, len, end, base, 0);
|
||||
return v;
|
||||
}
|
||||
|
||||
qse_int_t qse_wcstoint (const qse_wchar_t* wcs, int base)
|
||||
/* ----- */
|
||||
|
||||
qse_int_t qse_wcstoint (const qse_wchar_t* wcs, int base, const qse_wchar_t** end)
|
||||
{
|
||||
qse_int_t v;
|
||||
QSE_WCSTONUM (v, wcs, QSE_NULL, base);
|
||||
QSE_WCSTONUM (v, wcs, end, base, 1);
|
||||
return v;
|
||||
}
|
||||
|
||||
qse_long_t qse_wcstolong (const qse_wchar_t* wcs, int base)
|
||||
qse_long_t qse_wcstolong (const qse_wchar_t* wcs, int base, const qse_wchar_t** end)
|
||||
{
|
||||
qse_long_t v;
|
||||
QSE_WCSTONUM (v, wcs, QSE_NULL, base);
|
||||
QSE_WCSTONUM (v, wcs, end, base, 1);
|
||||
return v;
|
||||
}
|
||||
|
||||
qse_uint_t qse_wcstouint (const qse_wchar_t* wcs, int base)
|
||||
qse_intmax_t qse_wcstointmax (const qse_wchar_t* wcs, int base, const qse_wchar_t** end)
|
||||
{
|
||||
qse_intmax_t v;
|
||||
QSE_WCSTONUM (v, wcs, end, base, 1);
|
||||
return v;
|
||||
}
|
||||
|
||||
/* ----- */
|
||||
qse_uint_t qse_wcstouint (const qse_wchar_t* wcs, int base, const qse_wchar_t** end)
|
||||
{
|
||||
qse_uint_t v;
|
||||
QSE_WCSTONUM (v, wcs, QSE_NULL, base);
|
||||
QSE_WCSTONUM (v, wcs, end, base, 0);
|
||||
return v;
|
||||
}
|
||||
|
||||
qse_ulong_t qse_wcstoulong (const qse_wchar_t* wcs, int base)
|
||||
qse_ulong_t qse_wcstoulong (const qse_wchar_t* wcs, int base, const qse_wchar_t** end)
|
||||
{
|
||||
qse_ulong_t v;
|
||||
QSE_WCSTONUM (v, wcs, QSE_NULL, base);
|
||||
QSE_WCSTONUM (v, wcs, end, base, 0);
|
||||
return v;
|
||||
}
|
||||
|
||||
qse_int_t qse_wcsxtoint (const qse_wchar_t* wcs, qse_size_t len, int base)
|
||||
qse_uintmax_t qse_wcstouintmax (const qse_wchar_t* wcs, int base, const qse_wchar_t** end)
|
||||
{
|
||||
qse_uintmax_t v;
|
||||
QSE_WCSTONUM (v, wcs, end, base, 0);
|
||||
return v;
|
||||
}
|
||||
|
||||
/* ----- */
|
||||
qse_int_t qse_wcsxtoint (const qse_wchar_t* wcs, qse_size_t len, int base, const qse_wchar_t** end)
|
||||
{
|
||||
qse_int_t v;
|
||||
QSE_WCSXTONUM (v, wcs, len, QSE_NULL, base);
|
||||
QSE_WCSXTONUM (v, wcs, len, end, base, 1);
|
||||
return v;
|
||||
}
|
||||
|
||||
qse_long_t qse_wcsxtolong (const qse_wchar_t* wcs, qse_size_t len, int base)
|
||||
qse_long_t qse_wcsxtolong (const qse_wchar_t* wcs, qse_size_t len, int base, const qse_wchar_t** end)
|
||||
{
|
||||
qse_long_t v;
|
||||
QSE_WCSXTONUM (v, wcs, len, QSE_NULL, base);
|
||||
QSE_WCSXTONUM (v, wcs, len, end, base, 1);
|
||||
return v;
|
||||
}
|
||||
|
||||
qse_uint_t qse_wcsxtouint (const qse_wchar_t* wcs, qse_size_t len, int base)
|
||||
qse_intmax_t qse_wcsxtointmax (const qse_wchar_t* wcs, qse_size_t len, int base, const qse_wchar_t** end)
|
||||
{
|
||||
qse_intmax_t v;
|
||||
QSE_WCSXTONUM (v, wcs, len, end, base, 1);
|
||||
return v;
|
||||
}
|
||||
|
||||
/* ----- */
|
||||
qse_uint_t qse_wcsxtouint (const qse_wchar_t* wcs, qse_size_t len, int base, const qse_wchar_t** end)
|
||||
{
|
||||
qse_uint_t v;
|
||||
QSE_WCSXTONUM (v, wcs, len, QSE_NULL, base);
|
||||
QSE_WCSXTONUM (v, wcs, len, end, base, 0);
|
||||
return v;
|
||||
}
|
||||
|
||||
qse_ulong_t qse_wcsxtoulong (const qse_wchar_t* wcs, qse_size_t len, int base)
|
||||
qse_ulong_t qse_wcsxtoulong (const qse_wchar_t* wcs, qse_size_t len, int base, const qse_wchar_t** end)
|
||||
{
|
||||
qse_ulong_t v;
|
||||
QSE_WCSXTONUM (v, wcs, len, QSE_NULL, base);
|
||||
QSE_WCSXTONUM (v, wcs, len, end, base, 0);
|
||||
return v;
|
||||
}
|
||||
|
||||
qse_uintmax_t qse_wcsxtouintmax (const qse_wchar_t* wcs, qse_size_t len, int base, const qse_wchar_t** end)
|
||||
{
|
||||
qse_uintmax_t v;
|
||||
QSE_WCSXTONUM (v, wcs, len, end, base, 0);
|
||||
return v;
|
||||
}
|
||||
|
||||
|
@ -251,7 +251,8 @@ static int cgi_htrd_peek_script_output (qse_htrd_t* htrd, qse_htre_t* req)
|
||||
qse_mchar_t* endptr;
|
||||
|
||||
/* TODO: check the syntax of status value??? if not numeric??? */
|
||||
QSE_MBSTONUM (nstatus, req->attr.status, &endptr, 10);
|
||||
/*QSE_MBSTONUM (nstatus, req->attr.status, &endptr, 10);*/
|
||||
nstatus = qse_mbstoi (req->attr.status, 10, &endptr);
|
||||
|
||||
/*
|
||||
Would it need this kind of extra work?
|
||||
|
@ -927,7 +927,7 @@ static void adjust_peer_name_and_port (task_proxy_t* proxy)
|
||||
{
|
||||
/* handle a port number after the colon sign */
|
||||
*colon = QSE_MT('\0');
|
||||
proxy->peer_port = qse_mbstoui (colon + 1, 10);
|
||||
proxy->peer_port = qse_mbstoui (colon + 1, 10, QSE_NULL);
|
||||
/* TODO: check if there is a garbage after the port number.
|
||||
* check if the port number has overflown */
|
||||
}
|
||||
|
@ -1227,7 +1227,7 @@ static int sscanf_i (qse_raddic_t* dic, const qse_char_t* str, int* pvalue)
|
||||
qse_long_t v;
|
||||
const qse_char_t* end;
|
||||
|
||||
QSE_STRTONUM (v, str, &end, 0);
|
||||
v = qse_strtolong (str, 0, &end);
|
||||
if (*end != '\0')
|
||||
{
|
||||
qse_raddic_seterrfmt (dic, QSE_RADDIC_ESYNERR, QSE_T("invalid number - %s"), str);
|
||||
@ -1248,9 +1248,9 @@ static int sscanf_ui (qse_raddic_t* dic, const qse_char_t* str, qse_uintmax_t* p
|
||||
return -1;
|
||||
}
|
||||
|
||||
QSE_STRTONUM (v, str, &end, 0);
|
||||
|
||||
if (*end != '\0')
|
||||
/*QSE_STRTONUM (v, str, &end, 0);*/
|
||||
v = qse_strtouintmax (str, 0, &end);
|
||||
if (*end != QSE_T('\0'))
|
||||
{
|
||||
qse_raddic_seterrfmt (dic, QSE_RADDIC_ESYNERR, QSE_T("invalid unsigned number - %s"), str);
|
||||
return -1;
|
||||
@ -1260,6 +1260,7 @@ static int sscanf_ui (qse_raddic_t* dic, const qse_char_t* str, qse_uintmax_t* p
|
||||
return 0;
|
||||
}
|
||||
|
||||
#if 0
|
||||
static int sscanf_ui32 (qse_raddic_t* dic, const qse_char_t* str, qse_uint32_t* pvalue, qse_uint32_t* pvalue2)
|
||||
{
|
||||
qse_long_t v, v2;
|
||||
@ -1272,11 +1273,13 @@ static int sscanf_ui32 (qse_raddic_t* dic, const qse_char_t* str, qse_uint32_t*
|
||||
return -1;
|
||||
}
|
||||
|
||||
QSE_STRTONUM (v, str, &end, 0);
|
||||
/*QSE_STRTONUM (v, str, &end, 0);*/
|
||||
v = qse_strtolong (str, 0, &end);
|
||||
if (pvalue2 && *end == '.')
|
||||
{
|
||||
start2 = end + 1;
|
||||
QSE_STRTONUM (v2, start2, &end, 0);
|
||||
/*QSE_STRTONUM (v2, start2, &end, 0);*/
|
||||
v2 = qse_strtolong (start2, 0, &end);
|
||||
}
|
||||
|
||||
if (*end != '\0')
|
||||
@ -1294,6 +1297,7 @@ static int sscanf_ui32 (qse_raddic_t* dic, const qse_char_t* str, qse_uint32_t*
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Process the ATTRIBUTE command
|
||||
@ -1322,7 +1326,7 @@ static int process_attribute (
|
||||
*/
|
||||
if (sscanf_ui(dic, argv[1], &value) <= -1 || value > QSE_TYPE_MAX(qse_uint16_t))
|
||||
{
|
||||
qse_raddic_seterrfmt (dic, QSE_RADDIC_ESYNERR, QSE_T("%s[%zd]: invalid attribute value %s"), fn, line, argv[1]);
|
||||
qse_raddic_seterrfmt (dic, QSE_RADDIC_ESYNERR, QSE_T("%s[%zd]: invalid attribute value %s"), fn, line, argv[1]);
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -1530,9 +1534,10 @@ static int process_constant(qse_raddic_t* dic, const qse_char_t* fn, const qse_s
|
||||
*/
|
||||
static int process_vendor (qse_raddic_t* dic, const qse_char_t* fn, const qse_size_t line, qse_char_t** argv, int argc)
|
||||
{
|
||||
int value;
|
||||
unsigned int value;
|
||||
int continuation = 0;
|
||||
const qse_char_t* format = QSE_NULL;
|
||||
const qse_char_t* end;
|
||||
|
||||
if ((argc < 2) || (argc > 3))
|
||||
{
|
||||
@ -1541,14 +1546,18 @@ static int process_vendor (qse_raddic_t* dic, const qse_char_t* fn, const qse_si
|
||||
}
|
||||
|
||||
/*
|
||||
* Validate all entries
|
||||
* Validate all entries
|
||||
*/
|
||||
if (!QSE_ISDIGIT(argv[1][0]))
|
||||
//if (!QSE_ISDIGIT(argv[1][0]))
|
||||
//{
|
||||
//
|
||||
//}
|
||||
value = qse_strtoui(argv[1], 0, &end);
|
||||
if (*end != QSE_T('\0') || value <= 0u || value > 65535u)
|
||||
{
|
||||
qse_raddic_seterrfmt (dic, QSE_RADDIC_ESYNERR, QSE_T("%s[%zd]: invalid value"), fn, line);
|
||||
return -1;
|
||||
}
|
||||
value = qse_strtoi(argv[1], 0);
|
||||
|
||||
/* Create a new VENDOR entry for the list */
|
||||
if (qse_raddic_addvendor(dic, argv[0], value) == QSE_NULL)
|
||||
|
@ -342,7 +342,7 @@ static void read_proc_net_if_inet6 (qse_nwifcfg_t* cfg, struct ifreq* ifr)
|
||||
|
||||
if (count >= 6)
|
||||
{
|
||||
index = qse_mbsxtoi (tok[1].ptr, tok[1].len, 16);
|
||||
index = qse_mbsxtoi (tok[1].ptr, tok[1].len, 16, QSE_NULL);
|
||||
if (index == cfg->index)
|
||||
{
|
||||
int ti;
|
||||
@ -356,7 +356,7 @@ static void read_proc_net_if_inet6 (qse_nwifcfg_t* cfg, struct ifreq* ifr)
|
||||
|
||||
cfg->addr.type = QSE_NWAD_IN6;
|
||||
|
||||
ti = qse_mbsxtoi (tok[2].ptr, tok[0].len, 16);
|
||||
ti = qse_mbsxtoi (tok[2].ptr, tok[0].len, 16, QSE_NULL);
|
||||
qse_prefixtoip6ad (ti, &cfg->mask.u.in6.addr);
|
||||
|
||||
cfg->mask.type = QSE_NWAD_IN6;
|
||||
|
@ -65,7 +65,8 @@ int qse_get_highest_fd (void)
|
||||
|
||||
if (de->d_name[0] == QSE_MT('.')) continue;
|
||||
|
||||
QSE_MBSTONUM (l, de->d_name, &endptr, 10);
|
||||
/*QSE_MBSTONUM (l, de->d_name, &endptr, 10);*/
|
||||
l = qse_mbstolong (de->d_name, 10, &endptr);
|
||||
if (*endptr == QSE_MT('\0'))
|
||||
{
|
||||
fd = (int)l;
|
||||
@ -137,7 +138,8 @@ int qse_close_open_fds_using_proc (int* excepts, qse_size_t count)
|
||||
|
||||
if (de->d_name[0] == QSE_MT('.')) continue;
|
||||
|
||||
QSE_MBSTONUM (l, de->d_name, &endptr, 10);
|
||||
/*QSE_MBSTONUM (l, de->d_name, &endptr, 10);*/
|
||||
l = qse_mbstolong (de->d_name, 10, &endptr);
|
||||
if (*endptr == QSE_MT('\0'))
|
||||
{
|
||||
int fd = (int)l;
|
||||
|
Reference in New Issue
Block a user