On Wed, 2006-10-25 at 11:30 -0700, Mr. Brian Opitz wrote:
System is OS X 10.4.8, Xcode 2.4, PPC G4(2.7), configure --enable-debug --enable-dynamic-linking
I am seeing the following warnings during compiling 2.0RC4:
I'm still using gcc 3.4, it is probably gcc 4 that gives these warnings. See my interpretation of these warnings below:
logmsg.c: In function 'log_msg_parse': logmsg.c:149: warning: pointer targets in assignment differ in signedness logmsg.c:212: warning: pointer targets in passing argument 2 of 'g_string_assign_len' differ in signedness logmsg.c:214: warning: pointer targets in assignment differ in signedness logmsg.c:232: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness logmsg.c:271: warning: pointer targets in passing argument 2 of 'g_string_assign_len' differ in signedness logmsg.c:309: warning: pointer targets in assignment differ in signedness logmsg.c:313: warning: pointer targets in assignment differ in signedness logmsg.c:344: warning: pointer targets in assignment differ in signedness logmsg.c:378: warning: pointer targets in assignment differ in signedness logmsg.c:389: warning: pointer targets in assignment differ in signedness logmsg.c:401: warning: pointer targets in assignment differ in signedness logmsg.c:413: warning: pointer targets in assignment differ in signedness logmsg.c:435: warning: pointer targets in assignment differ in signedness logmsg.c:440: warning: pointer targets in assignment differ in signedness logmsg.c:445: warning: pointer targets in passing argument 2 of 'g_string_assign_len' differ in signedness
These seem to be harmless, gchar vs. guchar is passed for various functions.
and:
affile.c: In function 'affile_dd_init': affile.c:456: warning: comparison is always false due to limited range of data type affile.c:462: warning: comparison is always false due to limited range of data type
This might be a problem if the compiler optimizes the if statement out. I have added casts to fix this issue.
and:
afuser.c: In function 'afuser_dd_queue': afuser.c:57: warning: implicit declaration of function 'getutent' afuser.c:57: warning: assignment makes pointer from integer without a cast
hmm... afuser.c has #include <utmp.h> which should define getutent, this seems to be a MacOS specific problem. Can you check which header defines getutent() and whether it is defined at all?
and finally:
gsockaddr.c: In function 'g_accept': gsockaddr.c:116: warning: pointer targets in passing argument 3 of 'accept' differ in signedness
this is probably a socklen_t vs int mismatch. Should not matter if 32 bit platform is used. also fixed.
Can these safely be ignored or is there something that needs to be changed to make them go away?
Here's a patch, that fixes gsockaddr.c and affile.c, can you confirm that? --- orig/src/affile.c +++ mod/src/affile.c @@ -453,13 +453,13 @@ affile_dd_init(LogPipe *s, GlobalConfig self->file_uid = cfg->file_uid; if (self->file_gid == -1) self->file_gid = cfg->file_gid; - if (self->file_perm == -1) + if (self->file_perm == (mode_t) -1) self->file_perm = cfg->file_perm; if (self->dir_uid == -1) self->dir_uid = cfg->dir_uid; if (self->dir_gid == -1) self->dir_gid = cfg->dir_gid; - if (self->dir_perm == -1) + if (self->dir_perm == (mode_t) -1) self->dir_perm = cfg->dir_perm; if (self->time_reap == -1) self->time_reap = cfg->time_reap; @@ -595,9 +595,9 @@ affile_dd_new(gchar *filename, guint32 f self->filename_template = log_template_new(NULL, filename); self->flags = flags; self->file_uid = self->file_gid = -1; - self->file_perm = -1; + self->file_perm = (mode_t) -1; self->dir_uid = self->dir_gid = -1; - self->dir_perm = -1; + self->dir_perm = (mode_t) -1; log_writer_options_defaults(&self->writer_options); if (strchr(filename, '$') == NULL) { --- orig/src/gsockaddr.c +++ mod/src/gsockaddr.c @@ -109,7 +109,7 @@ GIOStatus g_accept(int fd, int *newfd, GSockAddr **addr) { char sabuf[1024]; - int salen = sizeof(sabuf); + socklen_t salen = sizeof(sabuf); do { -- Bazsi