Is anyone besides me using gcc 4.*.*? I noticed that NUT generates an enormous amount of warning noise with that compiler, mostly due to implicit casts between signed/unsigned pointer types. Any volunteers to de-noise the code a bit? The easy way is to insert typecasts; the better way is to actually take care about signedness. -- Peter gcc -I../include -O -Wall -Wsign-compare -c -o everups.o everups.c everups.c: In function Code: everups.c:38: warning: pointer targets in passing argument 2 of ser_get_char differ in signedness everups.c: In function InitUpsType: everups.c:49: warning: pointer targets in passing argument 2 of ser_get_char differ in signedness everups.c: In function upsdrv_updateinfo: everups.c:96: warning: pointer targets in passing argument 2 of ser_get_char differ in signedness everups.c:103: warning: pointer targets in passing argument 2 of ser_get_char differ in signedness everups.c:113: warning: pointer targets in passing argument 2 of ser_get_buf_len differ in signedness gcc -I../include -O -Wall -Wsign-compare -c -o powercom.o powercom.c powercom.c: In function upsdrv_updateinfo: powercom.c:233: warning: pointer targets in passing argument 2 of ser_get_buf_len differ in signedness gcc -I../include -O -Wall -Wsign-compare -c -o cyberpower.o cyberpower.c cyberpower.c: In function confirm_write: cyberpower.c:198: warning: pointer targets in passing argument 3 of ser_send_buf_pace differ in signedness gcc -I../include -O -Wall -Wsign-compare -c -o belkinunv.o belkinunv.c belkinunv.c: In function belkin_nut_receive: belkinunv.c:252: warning: pointer targets in passing argument 2 of ser_get_buf_len differ in signedness belkinunv.c:266: warning: pointer targets in passing argument 2 of ser_get_buf_len differ in signedness belkinunv.c:279: warning: pointer targets in passing argument 2 of ser_get_buf_len differ in signedness belkinunv.c: In function belkin_nut_read_str: belkinunv.c:309: warning: pointer targets in passing argument 2 of ser_send_buf differ in signedness belkinunv.c: In function belkin_nut_read_int: belkinunv.c:350: warning: pointer targets in passing argument 2 of ser_send_buf differ in signedness belkinunv.c: In function belkin_nut_write_int: belkinunv.c:396: warning: pointer targets in passing argument 2 of ser_send_buf differ in signedness belkinunv.c: In function belkin_std_receive: belkinunv.c:571: warning: pointer targets in passing argument 2 of belkin_std_upsread differ in signedness belkinunv.c:581: warning: pointer targets in passing argument 2 of belkin_std_upsread differ in signedness belkinunv.c:593: warning: pointer targets in passing argument 2 of belkin_std_upsread differ in signedness belkinunv.c: In function belkin_std_read_int: belkinunv.c:620: warning: pointer targets in passing argument 2 of belkin_std_upswrite differ in signedness belkinunv.c: In function belkin_std_write_int: belkinunv.c:663: warning: pointer targets in passing argument 2 of belkin_std_upswrite differ in signedness gcc -I../include -O -Wall -Wsign-compare -c -o bcmxcp_ser.o bcmxcp_ser.c bcmxcp_ser.c: In function pw_comm_setup: bcmxcp_ser.c:259: warning: pointer targets in passing argument 2 of command_read_sequence differ in signedness bcmxcp_ser.c:271: warning: pointer targets in passing argument 2 of command_read_sequence differ in signedness gcc -I../include -O -Wall -Wsign-compare -c -o solis.o solis.c solis.c: In function getbaseinfo: solis.c:531: warning: pointer targets in passing argument 2 of ser_get_buf_len differ in signedness solis.c:539: warning: pointer targets in passing argument 1 of CommReceive differ in signedness solis.c:541: warning: pointer targets in passing argument 1 of CommReceive differ in signedness solis.c: In function getupdateinfo: solis.c:633: warning: pointer targets in passing argument 2 of ser_get_buf_len differ in signedness solis.c:635: warning: pointer targets in passing argument 1 of CommReceive differ in signedness gcc -I../include -O -Wall -Wsign-compare -c -o al175.o al175.c al175.c: In function comli_prepare: al175.c:390: warning: pointer targets in passing argument 1 of snprintf differ in signedness al175.c: In function al_parse_reply_head: al175.c:547: warning: pointer targets in passing argument 1 of from_hex differ in signedness al175.c:553: warning: pointer targets in passing argument 1 of from_hex differ in signedness al175.c: In function tx: al175.c:751: warning: pointer targets in passing argument 2 of ser_send_buf differ in signedness al175.c: In function recv_command_ack: al175.c:826: warning: pointer targets in passing argument 1 of get_buf differ in signedness al175.c: In function recv_register_data: al175.c:871: warning: pointer targets in passing argument 1 of get_buf differ in signedness al175.c:903: warning: pointer targets in passing argument 1 of get_buf differ in signedness gcc -I../include -O -Wall -Wsign-compare -c libhid.c libhid.c: In function HIDGetItemString: libhid.c:570: warning: pointer targets in passing argument 3 of libusb_get_string differ in signedness libhid.c:571: warning: pointer targets in return differ in signedness gcc -I../include -O -Wall -Wsign-compare -c libusb.c libusb.c: In function libusb_get_interrupt: libusb.c:321: warning: pointer targets in passing argument 3 of usb_interrupt_read differ in signedness gcc -I../include -O -Wall -Wsign-compare -c bcmxcp_usb.c bcmxcp_usb.c: In function get_answer: bcmxcp_usb.c:47: warning: pointer targets in passing argument 3 of usb_interrupt_read differ in signedness gcc -I../include -O -Wall -Wsign-compare -c tripplite_usb.c tripplite_usb.c: In function hex2d: tripplite_usb.c:350: warning: pointer targets in passing argument 1 of __builtin_strncpy differ in signedness tripplite_usb.c:350: warning: pointer targets in passing argument 2 of __builtin_strncpy differ in signedness tripplite_usb.c:352: warning: pointer targets in passing argument 1 of strtol differ in signedness tripplite_usb.c: In function hexascdump: tripplite_usb.c:370: warning: pointer targets in passing argument 1 of sprintf differ in signedness tripplite_usb.c:381: warning: pointer targets in return differ in signedness tripplite_usb.c: In function instcmd: tripplite_usb.c:641: warning: pointer targets in passing argument 1 of send_cmd differ in signedness tripplite_usb.c:645: warning: pointer targets in passing argument 1 of send_cmd differ in signedness tripplite_usb.c:649: warning: pointer targets in passing argument 1 of send_cmd differ in signedness tripplite_usb.c: In function upsdrv_initinfo: tripplite_usb.c:734: warning: pointer targets in passing argument 1 of strtol differ in signedness tripplite_usb.c:758: warning: pointer targets in passing argument 1 of toprint_str differ in signedness tripplite_usb.c:770: warning: pointer targets in passing argument 1 of snprintf differ in signedness tripplite_usb.c:771: warning: pointer targets in passing argument 2 of dstate_setinfo differ in signedness tripplite_usb.c: In function debug_message: tripplite_usb.c:834: warning: pointer targets in passing argument 1 of send_cmd differ in signedness tripplite_usb.c:834: warning: pointer targets in passing argument 3 of send_cmd differ in signedness gcc -I../include -O -Wall -Wsign-compare -c hidups.c hidups.c:543:2: warning: #warning "kernel doesn't return HIDDEV physical port paths" gcc -I../include -O -Wall -Wsign-compare -c energizerups.c energizerups.c: In function hidcmd: energizerups.c:232: warning: pointer targets in passing argument 2 of sendstring differ in signedness energizerups.c:278: warning: pointer targets in passing argument 2 of fake_hid_ev_bits differ in signedness energizerups.c: In function instcmd: energizerups.c:286: warning: pointer targets in passing argument 1 of hidcmd differ in signedness energizerups.c:293: warning: pointer targets in passing argument 1 of hidcmd differ in signedness energizerups.c:307: warning: pointer targets in passing argument 1 of hidcmd differ in signedness energizerups.c:307: warning: pointer targets in passing argument 2 of hidcmd differ in signedness energizerups.c:309: warning: pointer targets in passing argument 1 of hidcmd differ in signedness energizerups.c:309: warning: pointer targets in passing argument 2 of hidcmd differ in signedness energizerups.c:316: warning: pointer targets in passing argument 1 of hidcmd differ in signedness energizerups.c: In function upsdrv_initinfo: energizerups.c:341: warning: pointer targets in passing argument 1 of hidcmd differ in signedness energizerups.c:341: warning: pointer targets in passing argument 2 of hidcmd differ in signedness energizerups.c:358: warning: pointer targets in passing argument 1 of hidcmd differ in signedness energizerups.c: In function upsdrv_updateinfo: energizerups.c:380: warning: pointer targets in passing argument 1 of hidcmd differ in signedness energizerups.c:380: warning: pointer targets in passing argument 2 of hidcmd differ in signedness energizerups.c: In function upsdrv_shutdown: energizerups.c:444: warning: pointer targets in passing argument 1 of hidcmd differ in signedness energizerups.c:444: warning: pointer targets in passing argument 2 of hidcmd differ in signedness energizerups.c:445: warning: pointer targets in passing argument 1 of hidcmd differ in signedness energizerups.c:445: warning: pointer targets in passing argument 2 of hidcmd differ in signedness energizerups.c:460: warning: pointer targets in passing argument 1 of hidcmd differ in signedness