Discussion:
[PATCH] Fix a few pointer types warning
Xavier Chantry
2010-05-24 09:42:31 UTC
Permalink
id3.c:842:10: warning: pointer types point to integer types with different
sign passing 'char const *', expected 'unsigned char const *'
[-Wpointer-sign]
get_i16(buf, &volume_adj);
^~~
id3.c:1006:39: warning: pointer types point to integer types with different
sign passing 'uint32_t *', expected 'int *' [-Wpointer-sign]
unsync((unsigned char *)(buf + i), &fh.size);
^~~~~~~~

player.c:809:25: warning: pointer types point to integer types with
different sign passing 'int *', expected 'unsigned int *' [-Wpointer-sign]
scale_samples(rpos, &size);
^~~~~

flac.c:326:17: warning: pointer types point to integer types with different
sign initializing 'FLAC__byte *', expected 'char const *' [-Wpointer-sign]
const char *str =
metadata->data.vorbis_comment.comments[i].entry;
^

Signed-off-by: Xavier Chantry <***@gmail.com>
---
flac.c | 2 +-
id3.c | 4 ++--
player.c | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/flac.c b/flac.c
index 347cc68..66f5a9f 100644
--- a/flac.c
+++ b/flac.c
@@ -323,7 +323,7 @@ static void metadata_cb(const Dec *dec, const FLAC__StreamMetadata *metadata, vo

nr = metadata->data.vorbis_comment.num_comments;
for (i = 0; i < nr; i++) {
- const char *str = metadata->data.vorbis_comment.comments[i].entry;
+ const char *str = (const char *)metadata->data.vorbis_comment.comments[i].entry;
char *key, *val;

val = strchr(str, '=');
diff --git a/id3.c b/id3.c
index c368f07..e2f427b 100644
--- a/id3.c
+++ b/id3.c
@@ -839,7 +839,7 @@ static void decode_rva2(struct id3tag *id3, const char *buf, int len)
return;
}

- get_i16(buf, &volume_adj);
+ get_i16((unsigned char *)buf, &volume_adj);
buf += 2;

peak_bits = *buf++;
@@ -1003,7 +1003,7 @@ static int v2_read(struct id3tag *id3, int fd, const struct v2_header *header)
len_unsync = fh.size;

if ((fh.flags & V2_FRAME_UNSYNC) || (header->flags & V2_HEADER_UNSYNC))
- unsync((unsigned char *)(buf + i), &fh.size);
+ unsync((unsigned char *)(buf + i), (int *)&fh.size);

v2_add_frame(id3, &fh, buf + i);

diff --git a/player.c b/player.c
index 195078e..16141ae 100644
--- a/player.c
+++ b/player.c
@@ -806,7 +806,7 @@ static void *consumer_loop(void *arg)
if (size > space)
size = space;
if (soft_vol || replaygain)
- scale_samples(rpos, &size);
+ scale_samples(rpos, (unsigned int *)&size);
rc = op_write(rpos, size);
if (rc < 0) {
d_print("op_write returned %d %s\n", rc,
--
1.7.1
Gregory Petrosyan
2010-05-24 19:35:52 UTC
Permalink
On Mon, May 24, 2010 at 1:42 PM, Xavier Chantry
Post by Xavier Chantry
id3.c:842:10: warning: pointer types point to integer types with different
sign passing 'char const *', expected 'unsigned char const *'
[-Wpointer-sign]
       get_i16(buf, &volume_adj);
               ^~~
Merged into -master.

Gregory

Loading...