openbsd-ports/net/arpcatch/patches/patch-arpcatch_c
pvalchev 3492a70ae6 - getopt returns -1 when arg list is exhausted, not EOF
- store getopt's return value into an int, not a char...
2002-02-20 20:25:54 +00:00

53 lines
1.2 KiB
Plaintext

$OpenBSD: patch-arpcatch_c,v 1.2 2002/02/20 20:25:54 pvalchev Exp $
--- arpcatch.c.orig Thu Aug 21 18:57:01 1997
+++ arpcatch.c Wed Feb 20 13:20:11 2002
@@ -11,13 +11,13 @@ int debug = 0;
int defer = 0;
int main(int argc, char **argv) {
- char c;
+ int c;
char *configfile = DEFAULT_CONFIGFILE;
char *device = DEFAULT_DEVICE;
table_t *at;
int fd;
- while((c = getopt(argc, argv, "di:f:")) != EOF) {
+ while((c = getopt(argc, argv, "di:f:")) != -1) {
switch(c) {
case 'd':
debug++;
@@ -37,6 +37,7 @@ int main(int argc, char **argv) {
}
}
+ printf("Starting on %s interface\n",device);
if(!(at = read_config(configfile))) {
perror("config file read");
exit(errno);
@@ -50,6 +51,7 @@ int main(int argc, char **argv) {
read_loop(fd, at);
perror("read");
+return 1;
}
/* needs cleaning up */
@@ -63,7 +65,6 @@ int read_loop(int fd, table_t *at) {
struct ether_addr *ea;
struct ether_arp *ah;
- struct in_addr foo;
for(;;) {
struct in_addr ia;
@@ -129,7 +130,7 @@ int init_bpf(char *device) {
fd = bpf_open(device);
if(fd < 0) {
- perror("bpf open");
+ fprintf(stderr,"Error initializing bpf filter\nExiting..\n");
exit(errno);
}