From 3bcc703c2f6e98f050a1428a82aae2a66a21139b Mon Sep 17 00:00:00 2001 From: rfm Date: Tue, 16 Mar 2010 15:08:20 +0000 Subject: [PATCH] added mingw64 tweaks git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29983 72102866-910b-0410-8b05-ffd578937521 --- ChangeLog | 6 ++++++ Source/Additions/NSFileHandle+GNUstepBase.m | 4 ++-- Tools/gdomap.c | 19 ++++++++++--------- 3 files changed, 18 insertions(+), 11 deletions(-) diff --git a/ChangeLog b/ChangeLog index 778e5b60d..7606af0f5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2010-03-16 Vincent Richomme + + * Source/Additions/NSFileHandle+GNUstepBase.m: + * Tools/gdomap.c: + Minor tweaks porting to mingw64 + 2010-03-16 Richard Frith-Macdonald * Source/NSCharacterSet.m: Optimise for cases when huge ranges of diff --git a/Source/Additions/NSFileHandle+GNUstepBase.m b/Source/Additions/NSFileHandle+GNUstepBase.m index 06056e7be..5e21c83af 100644 --- a/Source/Additions/NSFileHandle+GNUstepBase.m +++ b/Source/Additions/NSFileHandle+GNUstepBase.m @@ -130,7 +130,7 @@ getAddr(NSString* name, NSString* svc, NSString* pcl, struct sockaddr_in *sin) #endif int net; struct sockaddr_in sin; - unsigned int size = sizeof(sin); + socklen_t size = sizeof(sin); if (getAddr(a, s, p, &sin) == NO) { @@ -200,7 +200,7 @@ getAddr(NSString* name, NSString* svc, NSString* pcl, struct sockaddr_in *sin) - (NSString*) socketAddress { struct sockaddr_in sin; - unsigned int size = sizeof(sin); + socklen_t size = sizeof(sin); if (getsockname([self fileDescriptor], (struct sockaddr*)&sin, &size) < 0) { diff --git a/Tools/gdomap.c b/Tools/gdomap.c index f0d5646b7..b6b11f98a 100644 --- a/Tools/gdomap.c +++ b/Tools/gdomap.c @@ -43,6 +43,7 @@ #include /* for strchr() */ #include #ifdef __MINGW32__ +#include #include #include #include @@ -397,7 +398,7 @@ typedef struct { int s; #endif /* __MINGW32__ */ struct sockaddr_in addr; /* Address of process making request. */ - unsigned int pos; /* Position reading data. */ + socklen_t pos; /* Position reading data. */ union { gdo_req r; unsigned char b[GDO_REQ_SIZE]; @@ -2209,7 +2210,7 @@ static void handle_accept() { struct sockaddr_in sa; - unsigned len = sizeof(sa); + socklen_t len = sizeof(sa); int desc; desc = accept(tcp_desc, (void*)&sa, &len); @@ -2496,7 +2497,7 @@ handle_read(int desc) while (ri->pos < GDO_REQ_SIZE && done == 0) { #ifdef __MINGW32__ - r = recv(desc, &ptr[ri->pos], + r = recv(desc, (char *)&ptr[ri->pos], GDO_REQ_SIZE - ri->pos, 0); #else r = read(desc, &ptr[ri->pos], @@ -2541,14 +2542,14 @@ handle_recv() RInfo *ri; uptr ptr; struct sockaddr_in* addr; - unsigned len = sizeof(struct sockaddr_in); + socklen_t len = sizeof(struct sockaddr_in); int r; ri = getRInfo(udp_desc, 0); addr = &(ri->addr); ptr = ri->buf.b; - r = recvfrom(udp_desc, ptr, GDO_REQ_SIZE, 0, (void*)addr, &len); + r = recvfrom(udp_desc, (char *)ptr, GDO_REQ_SIZE, 0, (void*)addr, &len); if (r == GDO_REQ_SIZE) { udp_read++; @@ -3256,8 +3257,8 @@ handle_send() { int r; - r = sendto(udp_desc, &entry->dat[entry->pos], entry->len - entry->pos, - 0, (void*)&entry->addr, sizeof(entry->addr)); + r = sendto(udp_desc, (const char *)&entry->dat[entry->pos], + entry->len - entry->pos, 0, (void*)&entry->addr, sizeof(entry->addr)); /* * 'r' is the number of bytes sent. This should be the number * of bytes we asked to send, or -1 to indicate failure. @@ -3451,7 +3452,7 @@ tryRead(int desc, int tim, unsigned char* dat, int len) else if (len > 0) { #ifdef __MINGW32__ - rval = recv(desc, &dat[pos], len - pos, 0); + rval = recv(desc, (char *)&dat[pos], len - pos, 0); #else rval = read(desc, &dat[pos], len - pos); #endif @@ -3557,7 +3558,7 @@ tryWrite(int desc, int tim, unsigned char* dat, int len) else if (len > 0) { #ifdef __MINGW32__ /* FIXME: Is this correct? */ - rval = send(desc, &dat[pos], len - pos, 0); + rval = send(desc, (const char*)&dat[pos], len - pos, 0); #else void (*ifun)();