[SLOF] [PATCH] dhcp: fix warning messages when calling strtoip()
Nikunj A Dadhania
nikunj at linux.vnet.ibm.com
Tue Feb 9 20:52:44 AEDT 2016
Thomas Huth <thuth at redhat.com> writes:
> On 09.02.2016 07:05, Nikunj A Dadhania wrote:
>> With the removal of dupicate strtoip in patch "dhcp: Remove duplicated
>> strtoip()" (commit 896e31da2cc260bf5311a89b63683def20329c5b), we get
>> following warnings messages:
>>
>> dhcp.c: In function ‘dhcpv4’:
>> dhcp.c:215:16: warning: pointer targets in passing argument 1 of ‘strtoip’ differ in signedness [-Wpointer-sign]
>> if (!strtoip(dhcp_tftp_name, (uint8_t *)&dhcp_tftp_ip)) {
>> ^
>> In file included from dhcp.c:51:0:
>> ../netapps/args.h:20:5: note: expected ‘const char *’ but argument is of type ‘int8_t * {aka signed char *}’
>> int strtoip(const char *, char[4]);
>> ^
>> dhcp.c:215:32: warning: pointer targets in passing argument 2 of ‘strtoip’ differ in signedness [-Wpointer-sign]
>> if (!strtoip(dhcp_tftp_name, (uint8_t *)&dhcp_tftp_ip)) {
>> ^
>> In file included from dhcp.c:51:0:
>> ../netapps/args.h:20:5: note: expected ‘char *’ but argument is of type ‘uint8_t * {aka unsigned char *}’
>> int strtoip(const char *, char[4]);
>> ^
>>
>> Signed-off-by: Nikunj A Dadhania <nikunj at linux.vnet.ibm.com>
>> ---
>> clients/net-snk/app/netlib/dhcp.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/clients/net-snk/app/netlib/dhcp.c b/clients/net-snk/app/netlib/dhcp.c
>> index 28aa488..a0e3b5d 100644
>> --- a/clients/net-snk/app/netlib/dhcp.c
>> +++ b/clients/net-snk/app/netlib/dhcp.c
>> @@ -212,7 +212,7 @@ int32_t dhcpv4(char *ret_buffer, filename_ip_t *fn_ip)
>> }
>> else {
>> // TFTP server defined by its name
>> - if (!strtoip(dhcp_tftp_name, (uint8_t *)&dhcp_tftp_ip)) {
>> + if (!strtoip((char *)dhcp_tftp_name, (char *)&dhcp_tftp_ip)) {
>> if (!dns_get_ip(fd, dhcp_tftp_name, (uint8_t *)&dhcp_tftp_ip, 4)) {
>> // DNS error - can't obtain TFTP-server name
>> // Use TFTP-ip from siaddr field, if presented
>
> If you look for dhc_tftp_name, you see these ugly typecasts there all
> over the place. So I think it would be nicer to switch the declaration
>
> static int8_t dhcp_tftp_name[256];
>
> into
>
> static char dhcp_tftp_name[256];
>
> And maybe do the same for dhcp_filename ... what do you think?
Its deeper than that: even dns_get_ip takes int8_t* and then typecasts
internally to char*. And similar places, will send an updated patch.
Regards
Nikunj
More information about the SLOF
mailing list