summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelix von Leitner <felix-libowfat@fefe.de>2019-04-23 13:25:26 +0000
committerFelix von Leitner <felix-libowfat@fefe.de>2019-04-23 13:25:26 +0000
commit5945afed04c38fda8cc0a9a75757f95f321a90a2 (patch)
tree445c848eb22cc23e86b27cdd93923ca26dfcec2b
parent62b1800438003f41c6b437439ae101390a82e05c (diff)
downloadlibowfat-5945afed04c38fda8cc0a9a75757f95f321a90a2.tar.gz
libowfat-5945afed04c38fda8cc0a9a75757f95f321a90a2.zip
half-hearted improvements to Windows compilability
-rw-r--r--array/iarray_allocate.c6
-rw-r--r--array/iarray_free.c7
-rw-r--r--fmt/fmt_httpdate.c6
-rw-r--r--fmt/fmt_iso8601.c6
-rw-r--r--mmap/mmap_private.c8
-rw-r--r--mmap/mmap_read.c8
-rw-r--r--mmap/mmap_readat.c7
-rw-r--r--mmap/mmap_shared.c8
-rw-r--r--mmap/mmap_unmap.c8
9 files changed, 38 insertions, 26 deletions
diff --git a/array/iarray_allocate.c b/array/iarray_allocate.c
index e2d85a6..a7bb3d2 100644
--- a/array/iarray_allocate.c
+++ b/array/iarray_allocate.c
@@ -1,6 +1,6 @@
#include "likely.h"
#include <stdlib.h>
-#ifndef __MINGW32__
+#ifndef _WIN32
#include <fcntl.h>
#include <sys/mman.h>
#include <unistd.h>
@@ -13,7 +13,7 @@
#endif
static iarray_page* new_page(size_t pagesize) {
-#ifdef __MINGW32__
+#ifdef _WIN32
void* x=malloc(pagesize);
if (x==0) return 0;
#else
@@ -49,7 +49,7 @@ void* iarray_allocate(iarray* ia,size_t pos) {
p=&(*p)->next;
}
if (newpage)
-#ifdef __MINGW32__
+#ifdef _WIN32
free(newpage);
#else
munmap(newpage,ia->bytesperpage);
diff --git a/array/iarray_free.c b/array/iarray_free.c
index 4db4198..f042b30 100644
--- a/array/iarray_free.c
+++ b/array/iarray_free.c
@@ -1,14 +1,15 @@
#include <stdlib.h>
-#ifndef __MINGW32__
+#ifndef _WIN32
#include <sys/mman.h>
-#endif
+#else
#include <unistd.h>
+#endif
#include "iarray.h"
static void freechain(iarray_page* p,size_t pagesize) {
while (p) {
iarray_page* n=p->next;
-#ifdef __MINGW32__
+#ifdef _WIN32
free(p);
#else
munmap(p,pagesize);
diff --git a/fmt/fmt_httpdate.c b/fmt/fmt_httpdate.c
index 7ccbe80..0050dc1 100644
--- a/fmt/fmt_httpdate.c
+++ b/fmt/fmt_httpdate.c
@@ -11,7 +11,13 @@ static unsigned int fmt_2digits(char* dest,int i) {
size_t fmt_httpdate(char* dest,time_t t) {
static const char days[] = "SunMonTueWedThuFriSat";
static const char months[] = "JanFebMarAprMayJunJulAugSepOctNovDec";
+#ifdef _WIN32
+ struct tm tmp;
+ struct tm* x=&tmp;
+ gmtime_s(&tmp,&t); // can't recover from when this fails
+#else
struct tm* x=gmtime(&t);
+#endif
size_t i;
if (dest==0) return 29;
diff --git a/fmt/fmt_iso8601.c b/fmt/fmt_iso8601.c
index 81ede75..6077364 100644
--- a/fmt/fmt_iso8601.c
+++ b/fmt/fmt_iso8601.c
@@ -9,7 +9,13 @@ static unsigned int fmt_2digits(char* dest,int i) {
}
size_t fmt_iso8601(char* dest,time_t t) {
+#ifdef _WIN32
+ struct tm tmp;
+ struct tm* x=&tmp;
+ gmtime_s(&tmp,&t); // can't recover from when this fails
+#else
struct tm* x=gmtime(&t);
+#endif
size_t i;
if (dest==0) return sizeof("2014-05-27T19:22:16Z")-1;
diff --git a/mmap/mmap_private.c b/mmap/mmap_private.c
index 771ecf9..78dfe64 100644
--- a/mmap/mmap_private.c
+++ b/mmap/mmap_private.c
@@ -1,15 +1,15 @@
#include <sys/types.h>
-#include <unistd.h>
-#ifdef __MINGW32__
+#ifdef _WIN32
#include <windows.h>
#else
+#include <unistd.h>
#include <sys/mman.h>
-#endif
#include "open.h"
+#endif
#include "mmap.h"
char* mmap_private(const char* filename,size_t * filesize) {
-#ifdef __MINGW32__
+#ifdef _WIN32
HANDLE fd,m;
char* map;
fd=CreateFile(filename,GENERIC_WRITE|GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
diff --git a/mmap/mmap_read.c b/mmap/mmap_read.c
index 1dfc597..3724b22 100644
--- a/mmap/mmap_read.c
+++ b/mmap/mmap_read.c
@@ -1,15 +1,15 @@
#include <sys/types.h>
-#include <unistd.h>
-#ifdef __MINGW32__
+#ifdef _WIN32
#include <windows.h>
#else
+#include <unistd.h>
#include <sys/mman.h>
-#endif
#include "open.h"
+#endif
#include "mmap.h"
extern const char* mmap_read(const char* filename,size_t * filesize) {
-#ifdef __MINGW32__
+#ifdef _WIN32
HANDLE fd,m;
char* map;
fd=CreateFile(filename,GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
diff --git a/mmap/mmap_readat.c b/mmap/mmap_readat.c
index 0503d6b..8cc618d 100644
--- a/mmap/mmap_readat.c
+++ b/mmap/mmap_readat.c
@@ -2,18 +2,17 @@
#define _ATFILE_SOURCE
#include <sys/types.h>
-#include <unistd.h>
-#ifndef __MINGW32__
+#ifndef _WIN32
#include <sys/stat.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/mman.h>
-#endif
#include "open.h"
+#endif
#include "mmap.h"
extern const char* mmap_readat(const char* filename,size_t * filesize,int dirfd) {
-#ifdef __MINGW32__
+#ifdef _WIN32
return 0;
#else
int fd=openat(dirfd,filename,O_RDONLY);
diff --git a/mmap/mmap_shared.c b/mmap/mmap_shared.c
index 60f1cb1..2da2078 100644
--- a/mmap/mmap_shared.c
+++ b/mmap/mmap_shared.c
@@ -1,15 +1,15 @@
#include <sys/types.h>
-#include <unistd.h>
-#ifdef __MINGW32__
+#ifdef _WIN32
#include <windows.h>
#else
+#include <unistd.h>
#include <sys/mman.h>
-#endif
#include "open.h"
+#endif
#include "mmap.h"
extern char* mmap_shared(const char* filename,size_t * filesize) {
-#ifdef __MINGW32__
+#ifdef _WIN32
HANDLE fd,m;
char* map;
fd=CreateFile(filename,GENERIC_READ|GENERIC_WRITE,FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
diff --git a/mmap/mmap_unmap.c b/mmap/mmap_unmap.c
index ce8e419..d0a20c4 100644
--- a/mmap/mmap_unmap.c
+++ b/mmap/mmap_unmap.c
@@ -1,15 +1,15 @@
#include <sys/types.h>
-#include <unistd.h>
-#ifdef __MINGW32__
+#ifdef _WIN32
#include <windows.h>
#else
+#include <unistd.h>
#include <sys/mman.h>
-#endif
#include "open.h"
+#endif
#include "mmap.h"
int mmap_unmap(const char* mapped,size_t maplen) {
-#ifdef __MINGW32__
+#ifdef _WIN32
(void)maplen;
return UnmapViewOfFile(mapped)?0:-1;
#else