Fix byte order
which fixes port conflict
Reported-by: Steven Haber
Fixes #92
diff --git a/src/misc.h b/src/misc.h
index 39fe367..ff50e79 100644
--- a/src/misc.h
+++ b/src/misc.h
@@ -12,7 +12,7 @@
SlirpWriteCb write_cb;
void *opaque;
struct in_addr ex_addr; /* Server address */
- int ex_fport; /* Port to telnet to */
+ int ex_fport; /* Port to telnet to (network order) */
char *ex_exec; /* Command line of what to exec */
char *ex_unix; /* unix socket */
struct gfwd_list *ex_next;
diff --git a/src/slirp.c b/src/slirp.c
index a84d6e4..8c7cb5e 100644
--- a/src/slirp.c
+++ b/src/slirp.c
@@ -1589,7 +1589,7 @@
/* check if the port is "bound" */
for (tmp_ptr = slirp->guestfwd_list; tmp_ptr; tmp_ptr = tmp_ptr->ex_next) {
- if (guest_port == tmp_ptr->ex_fport &&
+ if (guest_port == ntohs(tmp_ptr->ex_fport) &&
guest_addr->s_addr == tmp_ptr->ex_addr.s_addr)
return false;
}