URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 4815
[ Назад ]

Исходное сообщение
"incompatible type for argument 1 of `inet_ntoa'"

Отправлено grani , 05-Ноя-05 09:20 
Есть такой фрагмент кода, компиляция которого вызывает варнинг:

incompatible type for argument 1 of `inet_ntoa'


Код:
#include <stdlib.h>
#include <stdio.h>

#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>

#include <linux/if.h>
#include <linux/if_ether.h>
#include <linux/ip.h>

#include <string.h>
#include <unistd.h>

...

int main(void)
{
  struct iphdr    *ip;
  ...

  printf("%-15s ", inet_ntoa(ip->saddr));
  ...
  return 0;
}

Фрагмент с 'printf' дает варнинг, в чем проблема и как ее решить?
Заранее благодарю!


Содержание

Сообщения в этом обсуждении
"incompatible type for argument 1 of `inet_ntoa'"
Отправлено MaximKuznetsov , 05-Ноя-05 13:40 
решается просто  - читаются man`ы,
смотрятся прототипы и структуры (в .h файлах),
немного учится C ;-)

зы : компилер ругется на приведение типов
struct in_addr и u_int32_t

inet_ntoa((struct in_addr)ip->saddr)