[PATCH:libXau 1/2] Clean up some clang warnings about sign conversion
Alan Coopersmith
alan.coopersmith at oracle.com
Sun Dec 16 15:53:45 PST 2012
fread & fwrite are defined as taking size_t arguments (an unsigned type),
so stop casting their arguments to a signed int just to confuse things.
Fixes warnings:
AuFileName.c:69:59: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
size = strlen (name) + strlen(&slashDotXauthority[1]) + 2;
~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
AuRead.c:58:44: warning: implicit conversion changes signedness: 'int' to 'size_t' (aka 'unsigned long') [-Wsign-conversion]
if (fread (data, (int) sizeof (char), (int) len, file) != len) {
~~~~~ ^~~~~~~~~
AuWrite.c:49:46: warning: implicit conversion changes signedness: 'int' to 'size_t' (aka 'unsigned long') [-Wsign-conversion]
if (fwrite (string, (int) sizeof (char), (int) count, file) != count)
~~~~~~ ^~~~~~~~~~~
Signed-off-by: Alan Coopersmith <alan.coopersmith at oracle.com>
---
AuFileName.c | 6 +++---
AuRead.c | 4 ++--
AuWrite.c | 4 ++--
3 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/AuFileName.c b/AuFileName.c
index bc7b177..473fad1 100644
--- a/AuFileName.c
+++ b/AuFileName.c
@@ -45,12 +45,12 @@ XauFileName (void)
{
const char *slashDotXauthority = "/.Xauthority";
char *name;
- static int bsize;
+ static size_t bsize;
static int atexit_registered = 0;
#ifdef WIN32
char dir[128];
#endif
- int size;
+ size_t size;
if ((name = getenv ("XAUTHORITY")))
return name;
@@ -70,7 +70,7 @@ XauFileName (void)
if (size > bsize) {
if (buf)
free (buf);
- buf = malloc ((unsigned) size);
+ buf = malloc (size);
if (!buf)
return NULL;
diff --git a/AuRead.c b/AuRead.c
index 3c59632..5d41f03 100644
--- a/AuRead.c
+++ b/AuRead.c
@@ -35,7 +35,7 @@ read_short (unsigned short *shortp, FILE *file)
{
unsigned char file_short[2];
- if (fread ((char *) file_short, (int) sizeof (file_short), 1, file) != 1)
+ if (fread ((char *) file_short, sizeof (file_short), 1, file) != 1)
return 0;
*shortp = file_short[0] * 256 + file_short[1];
return 1;
@@ -55,7 +55,7 @@ read_counted_string (unsigned short *countp, char **stringp, FILE *file)
data = malloc ((unsigned) len);
if (!data)
return 0;
- if (fread (data, (int) sizeof (char), (int) len, file) != len) {
+ if (fread (data, sizeof (char), len, file) != len) {
bzero (data, len);
free (data);
return 0;
diff --git a/AuWrite.c b/AuWrite.c
index 0924f8d..1eb38a3 100644
--- a/AuWrite.c
+++ b/AuWrite.c
@@ -36,7 +36,7 @@ write_short (unsigned short s, FILE *file)
file_short[0] = (s & (unsigned)0xff00) >> 8;
file_short[1] = s & 0xff;
- if (fwrite ((char *) file_short, (int) sizeof (file_short), 1, file) != 1)
+ if (fwrite ((char *) file_short, sizeof (file_short), 1, file) != 1)
return 0;
return 1;
}
@@ -46,7 +46,7 @@ write_counted_string (unsigned short count, char *string, FILE *file)
{
if (write_short (count, file) == 0)
return 0;
- if (fwrite (string, (int) sizeof (char), (int) count, file) != count)
+ if (fwrite (string, sizeof (char), count, file) != count)
return 0;
return 1;
}
--
1.7.9.2
More information about the xorg-devel
mailing list