1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
--- a/fix_options.c
+++ b/fix_options.c
@@ -38,7 +38,12 @@ struct request_info *request;
#ifdef IP_OPTIONS
unsigned char optbuf[BUFFER_SIZE / 3], *cp;
char lbuf[BUFFER_SIZE], *lp;
+#ifdef __GLIBC__
+ socklen_t optsize = sizeof(optbuf);
+ int ipproto;
+#else
int optsize = sizeof(optbuf), ipproto;
+#endif
struct protoent *ip;
int fd = request->fd;
unsigned int opt;
--- a/socket.c
+++ b/socket.c
@@ -95,7 +95,11 @@ struct request_info *request;
static struct sockaddr_in client;
static struct sockaddr_in server;
#endif
+#ifdef __GLIBC__
+ socklen_t len;
+#else
int len;
+#endif
char buf[BUFSIZ];
int fd = request->fd;
@@ -426,7 +430,11 @@ int fd;
#else
struct sockaddr_in sin;
#endif
+#ifdef __GLIBC__
+ socklen_t size = sizeof(sin);
+#else
int size = sizeof(sin);
+#endif
/*
* Eat up the not-yet received datagram. Some systems insist on a
|