3492a70ae6
- store getopt's return value into an int, not a char...
53 lines
1.2 KiB
Plaintext
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);
|
|
}
|
|
|