mirror of
https://github.com/fluencelabs/musl
synced 2025-07-31 06:11:57 +00:00
fix all implicit conversion between signed/unsigned pointers
sadly the C language does not specify any such implicit conversion, so this is not a matter of just fixing warnings (as gcc treats it) but actual errors. i would like to revisit a number of these changes and possibly revise the types used to reduce the number of casts required.
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
|
||||
long double strtold(const char *s1, char **p)
|
||||
{
|
||||
const unsigned char *s = s1;
|
||||
const unsigned char *s = (void *)s1;
|
||||
long double x = 0;
|
||||
long double frac;
|
||||
int sign = 0;
|
||||
@@ -53,7 +53,7 @@ long double strtold(const char *s1, char **p)
|
||||
}
|
||||
}
|
||||
if ((*s|32) == 'p') {
|
||||
e = strtol(s+1, (void *)&s, 10);
|
||||
e = strtol((void *)(s+1), (void *)&s, 10);
|
||||
for (; e>0; e--) x *= 2.0;
|
||||
for (; e<0; e++) x *= 0.5;
|
||||
}
|
||||
@@ -82,7 +82,7 @@ long double strtold(const char *s1, char **p)
|
||||
}
|
||||
}
|
||||
if ((*s|32)=='e') {
|
||||
e = strtol(++s, (void *)&s, 10);
|
||||
e = strtol((void *)++s, (void *)&s, 10);
|
||||
for (; e>0; e--) x *= 10.0;
|
||||
for (; e<0; e++) x /= 10.0;
|
||||
}
|
||||
|
@@ -26,7 +26,7 @@ static const unsigned char digits[] = {
|
||||
|
||||
uintmax_t strtoumax(const char *s1, char **p, int base)
|
||||
{
|
||||
const unsigned char *s = s1;
|
||||
const unsigned char *s = (void *)s1;
|
||||
size_t x1, z1;
|
||||
uintmax_t x, z=0;
|
||||
int sign = 0;
|
||||
|
Reference in New Issue
Block a user