diff options
author | Rich Felker <dalias@aerifal.cx> | 2011-03-25 16:34:03 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2011-03-25 16:34:03 -0400 |
commit | 9ae8d5fc71a4b61ec826d58f03f7b543755fb1d4 (patch) | |
tree | a712bede2bb0cef734418927fee7704732628e83 /src/stdlib | |
parent | a37452430f93700aeb122d693959ad79d8e43ada (diff) | |
download | musl-9ae8d5fc71a4b61ec826d58f03f7b543755fb1d4.tar.gz musl-9ae8d5fc71a4b61ec826d58f03f7b543755fb1d4.tar.bz2 musl-9ae8d5fc71a4b61ec826d58f03f7b543755fb1d4.tar.xz musl-9ae8d5fc71a4b61ec826d58f03f7b543755fb1d4.zip |
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.
Diffstat (limited to 'src/stdlib')
-rw-r--r-- | src/stdlib/strtold.c | 6 | ||||
-rw-r--r-- | src/stdlib/strtoumax.c | 2 |
2 files changed, 4 insertions, 4 deletions
diff --git a/src/stdlib/strtold.c b/src/stdlib/strtold.c index 54f80469..73f2b082 100644 --- a/src/stdlib/strtold.c +++ b/src/stdlib/strtold.c @@ -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; } diff --git a/src/stdlib/strtoumax.c b/src/stdlib/strtoumax.c index a529f6e8..f1902476 100644 --- a/src/stdlib/strtoumax.c +++ b/src/stdlib/strtoumax.c @@ -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; |