mirror of
https://github.com/gnustep/libs-base.git
synced 2025-05-07 06:51:07 +00:00
added mingw64 tweaks
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29983 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
a806089032
commit
3bcc703c2f
3 changed files with 18 additions and 11 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
2010-03-16 Vincent Richomme <forumer@smartmobili.com>
|
||||||
|
|
||||||
|
* Source/Additions/NSFileHandle+GNUstepBase.m:
|
||||||
|
* Tools/gdomap.c:
|
||||||
|
Minor tweaks porting to mingw64
|
||||||
|
|
||||||
2010-03-16 Richard Frith-Macdonald <rfm@gnu.org>
|
2010-03-16 Richard Frith-Macdonald <rfm@gnu.org>
|
||||||
|
|
||||||
* Source/NSCharacterSet.m: Optimise for cases when huge ranges of
|
* Source/NSCharacterSet.m: Optimise for cases when huge ranges of
|
||||||
|
|
|
@ -130,7 +130,7 @@ getAddr(NSString* name, NSString* svc, NSString* pcl, struct sockaddr_in *sin)
|
||||||
#endif
|
#endif
|
||||||
int net;
|
int net;
|
||||||
struct sockaddr_in sin;
|
struct sockaddr_in sin;
|
||||||
unsigned int size = sizeof(sin);
|
socklen_t size = sizeof(sin);
|
||||||
|
|
||||||
if (getAddr(a, s, p, &sin) == NO)
|
if (getAddr(a, s, p, &sin) == NO)
|
||||||
{
|
{
|
||||||
|
@ -200,7 +200,7 @@ getAddr(NSString* name, NSString* svc, NSString* pcl, struct sockaddr_in *sin)
|
||||||
- (NSString*) socketAddress
|
- (NSString*) socketAddress
|
||||||
{
|
{
|
||||||
struct sockaddr_in sin;
|
struct sockaddr_in sin;
|
||||||
unsigned int size = sizeof(sin);
|
socklen_t size = sizeof(sin);
|
||||||
|
|
||||||
if (getsockname([self fileDescriptor], (struct sockaddr*)&sin, &size) < 0)
|
if (getsockname([self fileDescriptor], (struct sockaddr*)&sin, &size) < 0)
|
||||||
{
|
{
|
||||||
|
|
|
@ -43,6 +43,7 @@
|
||||||
#include <ctype.h> /* for strchr() */
|
#include <ctype.h> /* for strchr() */
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#ifdef __MINGW32__
|
#ifdef __MINGW32__
|
||||||
|
#include <stdint.h>
|
||||||
#include <winsock2.h>
|
#include <winsock2.h>
|
||||||
#include <ws2tcpip.h>
|
#include <ws2tcpip.h>
|
||||||
#include <wininet.h>
|
#include <wininet.h>
|
||||||
|
@ -397,7 +398,7 @@ typedef struct {
|
||||||
int s;
|
int s;
|
||||||
#endif /* __MINGW32__ */
|
#endif /* __MINGW32__ */
|
||||||
struct sockaddr_in addr; /* Address of process making request. */
|
struct sockaddr_in addr; /* Address of process making request. */
|
||||||
unsigned int pos; /* Position reading data. */
|
socklen_t pos; /* Position reading data. */
|
||||||
union {
|
union {
|
||||||
gdo_req r;
|
gdo_req r;
|
||||||
unsigned char b[GDO_REQ_SIZE];
|
unsigned char b[GDO_REQ_SIZE];
|
||||||
|
@ -2209,7 +2210,7 @@ static void
|
||||||
handle_accept()
|
handle_accept()
|
||||||
{
|
{
|
||||||
struct sockaddr_in sa;
|
struct sockaddr_in sa;
|
||||||
unsigned len = sizeof(sa);
|
socklen_t len = sizeof(sa);
|
||||||
int desc;
|
int desc;
|
||||||
|
|
||||||
desc = accept(tcp_desc, (void*)&sa, &len);
|
desc = accept(tcp_desc, (void*)&sa, &len);
|
||||||
|
@ -2496,7 +2497,7 @@ handle_read(int desc)
|
||||||
while (ri->pos < GDO_REQ_SIZE && done == 0)
|
while (ri->pos < GDO_REQ_SIZE && done == 0)
|
||||||
{
|
{
|
||||||
#ifdef __MINGW32__
|
#ifdef __MINGW32__
|
||||||
r = recv(desc, &ptr[ri->pos],
|
r = recv(desc, (char *)&ptr[ri->pos],
|
||||||
GDO_REQ_SIZE - ri->pos, 0);
|
GDO_REQ_SIZE - ri->pos, 0);
|
||||||
#else
|
#else
|
||||||
r = read(desc, &ptr[ri->pos],
|
r = read(desc, &ptr[ri->pos],
|
||||||
|
@ -2541,14 +2542,14 @@ handle_recv()
|
||||||
RInfo *ri;
|
RInfo *ri;
|
||||||
uptr ptr;
|
uptr ptr;
|
||||||
struct sockaddr_in* addr;
|
struct sockaddr_in* addr;
|
||||||
unsigned len = sizeof(struct sockaddr_in);
|
socklen_t len = sizeof(struct sockaddr_in);
|
||||||
int r;
|
int r;
|
||||||
|
|
||||||
ri = getRInfo(udp_desc, 0);
|
ri = getRInfo(udp_desc, 0);
|
||||||
addr = &(ri->addr);
|
addr = &(ri->addr);
|
||||||
ptr = ri->buf.b;
|
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)
|
if (r == GDO_REQ_SIZE)
|
||||||
{
|
{
|
||||||
udp_read++;
|
udp_read++;
|
||||||
|
@ -3256,8 +3257,8 @@ handle_send()
|
||||||
{
|
{
|
||||||
int r;
|
int r;
|
||||||
|
|
||||||
r = sendto(udp_desc, &entry->dat[entry->pos], entry->len - entry->pos,
|
r = sendto(udp_desc, (const char *)&entry->dat[entry->pos],
|
||||||
0, (void*)&entry->addr, sizeof(entry->addr));
|
entry->len - entry->pos, 0, (void*)&entry->addr, sizeof(entry->addr));
|
||||||
/*
|
/*
|
||||||
* 'r' is the number of bytes sent. This should be the number
|
* 'r' is the number of bytes sent. This should be the number
|
||||||
* of bytes we asked to send, or -1 to indicate failure.
|
* 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)
|
else if (len > 0)
|
||||||
{
|
{
|
||||||
#ifdef __MINGW32__
|
#ifdef __MINGW32__
|
||||||
rval = recv(desc, &dat[pos], len - pos, 0);
|
rval = recv(desc, (char *)&dat[pos], len - pos, 0);
|
||||||
#else
|
#else
|
||||||
rval = read(desc, &dat[pos], len - pos);
|
rval = read(desc, &dat[pos], len - pos);
|
||||||
#endif
|
#endif
|
||||||
|
@ -3557,7 +3558,7 @@ tryWrite(int desc, int tim, unsigned char* dat, int len)
|
||||||
else if (len > 0)
|
else if (len > 0)
|
||||||
{
|
{
|
||||||
#ifdef __MINGW32__ /* FIXME: Is this correct? */
|
#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
|
#else
|
||||||
void (*ifun)();
|
void (*ifun)();
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue