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

Исходное сообщение
"не компилится"

Отправлено Alexey , 12-Мрт-03 12:10 
Народ подскажите почему не получается, надо через сокет считать данные с ipfw, вот код:

#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netinet/ip_fw.h>
#include <memory.h>

main() {
int s;
struct ip_fw *rules = NULL;
const int unit = sizeof(*rules);
int nalloc = unit;
int nbytes = nalloc;
int num = 0, i = 0;

s = socket( AF_INET, SOCK_RAW, IPPROTO_RAW);

while (num >= nalloc) {
nalloc = nalloc*2+200;
nbytes = nalloc;

if ((rules = realloc(rules, nbytes)) == NULL) {
    printf("Can't reallocate memory\n");
    exit(1);
}
if (getsockopt(s, IPPROTO_IP, IP_FW_GET, rules, &nbytes) < 0) {
    printf("getsockopt(IP_FW_GET) not available");
    exit(1);
}
num = nbytes/unit;
}
for (i = 0; i < num; i++)
{
printf("Rule number=%-5d bytes=%-20d\n",rules->fw_number, rules->fw_bcnt);
}
}
но не компилится, выдает:
ipfw.c:21: warning: assignment makes pointer from integer without a cast

Помогите плиз.
Спасибо.


Содержание

Сообщения в этом обсуждении
"не компилится"
Отправлено vnp , 12-Мрт-03 20:58 
>Народ подскажите почему не получается, надо через сокет считать данные с ipfw,
>вот код:
...
>if ((rules = realloc(rules, nbytes)) == NULL) {
...
>но не компилится, выдает:
>ipfw.c:21: warning: assignment makes pointer from integer without a cast

>#include <memory.h> -- выкинуть
#include <stdlib.h> -- вставить


"не компилится"
Отправлено XMan , 12-Мрт-03 21:00 
Вообще-то, из написанного не видно ошибок - только предупреждение. Из-за warning-ов еще ни один компилер не отказывался выполнять свод задачу :)
И что это за строка с номером 21 в файле ipfw.c ?

"не компилится"
Отправлено vnp , 12-Мрт-03 21:03 
>Вообще-то, из написанного не видно ошибок - только предупреждение. Из-за warning-ов еще
>ни один компилер не отказывался выполнять свод задачу :)

Ну так может у него -Werror стоит?

>И что это за строка с номером 21 в файле ipfw.c ?
>



"не компилится"
Отправлено Alexey , 13-Мрт-03 11:50 
Вот вроде #include <stdlib.h>
помогло, наверное )) я крутил крутил, перестало и заработало.
Всем огромное спасибо !!!