mirror of
https://github.com/cesanta/mongoose.git
synced 2026-11-08 16:11:18 +00:00
OS/2 patches by KO Myung-Hun
Upstream patch from MAME project
This commit is contained in:
1 parent
6cec1d36a8
commit
4f2205a667
1 file changed
+36
+36
@@ -124,7 +124,12 @@ typedef struct _stati64 ns_stat_t;
|
|||||||
#include <sys/socket.h>
|
#include <sys/socket.h>
|
||||||
#include <sys/select.h>
|
#include <sys/select.h>
|
||||||
#define closesocket(x) close(x)
|
#define closesocket(x) close(x)
|
||||||
|
#ifndef __OS2__
|
||||||
#define __cdecl
|
#define __cdecl
|
||||||
|
#else
|
||||||
|
#include <sys/time.h>
|
||||||
|
typedef int socklen_t;
|
||||||
|
#endif
|
||||||
#define INVALID_SOCKET (-1)
|
#define INVALID_SOCKET (-1)
|
||||||
#define to64(x) strtoll(x, NULL, 10)
|
#define to64(x) strtoll(x, NULL, 10)
|
||||||
typedef int sock_t;
|
typedef int sock_t;
|
||||||
@@ -1579,6 +1584,37 @@ static void *mmap(void *addr, int64_t len, int prot, int flags, int fd,
|
|||||||
#define MAP_FAILED NULL
|
#define MAP_FAILED NULL
|
||||||
#define MAP_PRIVATE 0
|
#define MAP_PRIVATE 0
|
||||||
#define PROT_READ 0
|
#define PROT_READ 0
|
||||||
|
#elif defined(__OS2__)
|
||||||
|
static void *mmap(void *addr, int64_t len, int prot, int flags, int fd,
|
||||||
|
int offset) {
|
||||||
|
void *p;
|
||||||
|
|
||||||
|
int pos = lseek( fd, 0, SEEK_CUR ); /* Get a current position */
|
||||||
|
|
||||||
|
if (pos == -1)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
/* Seek to offset offset */
|
||||||
|
if (lseek( fd, offset, SEEK_SET) == -1)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
p = malloc(len);
|
||||||
|
|
||||||
|
/* Read in a file */
|
||||||
|
if (!p || read(fd, p, len) == -1) {
|
||||||
|
free(p);
|
||||||
|
p = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Restore the position */
|
||||||
|
lseek(fd, pos, SEEK_SET);
|
||||||
|
|
||||||
|
return p;
|
||||||
|
}
|
||||||
|
#define munmap(x, y) free(x)
|
||||||
|
#define MAP_FAILED NULL
|
||||||
|
#define MAP_PRIVATE 0
|
||||||
|
#define PROT_READ 0
|
||||||
#else
|
#else
|
||||||
#include <sys/mman.h>
|
#include <sys/mman.h>
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in new issue
Block a user