move Windows cases around
also don't make dir_create pretend it succeeds
This commit is contained in:
parent
815de4fd97
commit
b03bf80198
1
.gitignore
vendored
1
.gitignore
vendored
@ -5,6 +5,7 @@
|
||||
*.wasm
|
||||
*.cwasm
|
||||
libcbqn.so
|
||||
libcbqn.dylib
|
||||
*.exe
|
||||
*.dll
|
||||
|
||||
|
||||
@ -323,7 +323,7 @@ void mmap_init() { }
|
||||
bool dir_create(B path) {
|
||||
char* p = toCStr(path);
|
||||
#if defined(_WIN32) || defined(_WIN64)
|
||||
bool r = 1;
|
||||
bool r = 0;
|
||||
#else
|
||||
bool r = mkdir(p, S_IRWXU) == 0;
|
||||
#endif
|
||||
@ -366,11 +366,13 @@ char path_type(B path) {
|
||||
i64 mode = s.st_mode;
|
||||
if (S_ISREG (mode)) return 'f';
|
||||
if (S_ISDIR (mode)) return 'd';
|
||||
if (S_ISLNK (mode)) return 'l';
|
||||
if (S_ISFIFO(mode)) return 'p';
|
||||
if (S_ISSOCK(mode)) return 's';
|
||||
if (S_ISBLK (mode)) return 'b';
|
||||
if (S_ISCHR (mode)) return 'c';
|
||||
#if !defined(_WIN32) && !defined(_WIN64)
|
||||
if (S_ISLNK (mode)) return 'l';
|
||||
if (S_ISSOCK(mode)) return 's';
|
||||
#endif
|
||||
thrM("Unexpected file type");
|
||||
}
|
||||
|
||||
|
||||
12
src/vm.c
12
src/vm.c
@ -6,10 +6,6 @@
|
||||
#include "utils/interrupt.h"
|
||||
#include <unistd.h>
|
||||
|
||||
#if defined(_WIN32) || defined(_WIN64)
|
||||
#include "windows/sysconf.c"
|
||||
#endif
|
||||
|
||||
#ifndef UNWIND_COMPILER // whether to hide stackframes of the compiler in compiling errors
|
||||
#define UNWIND_COMPILER 1
|
||||
#endif
|
||||
@ -1134,8 +1130,12 @@ B block_decompose(B x) { return m_hVec2(m_i32(1), x); }
|
||||
|
||||
static usz pageSizeV;
|
||||
usz getPageSize() {
|
||||
if (pageSizeV==0) pageSizeV = sysconf(_SC_PAGESIZE);
|
||||
return pageSizeV;
|
||||
#if defined(_WIN32) || defined(_WIN64)
|
||||
err("getPageSize unimplemented on Windows");
|
||||
#else
|
||||
if (pageSizeV==0) pageSizeV = sysconf(_SC_PAGESIZE);
|
||||
return pageSizeV;
|
||||
#endif
|
||||
}
|
||||
static void allocStack(void** curr, void** start, void** end, i32 elSize, i32 count) {
|
||||
usz ps = getPageSize();
|
||||
|
||||
@ -1,9 +1,6 @@
|
||||
#ifndef REALPATH_H
|
||||
#define REALPATH_H
|
||||
|
||||
#define S_ISLNK(m) (0)
|
||||
#define S_ISSOCK(m) (0)
|
||||
|
||||
char* realpath (const char *__restrict path, char *__restrict resolved_path);
|
||||
|
||||
#endif /* REALPATH_H */
|
||||
@ -1,6 +0,0 @@
|
||||
|
||||
#include "sysconf.h"
|
||||
|
||||
long int sysconf (int in) {
|
||||
return 1L;
|
||||
}
|
||||
@ -1,8 +0,0 @@
|
||||
#ifndef SYSCONF_H
|
||||
#define SYSCONF_H
|
||||
|
||||
#define _SC_PAGESIZE 8
|
||||
|
||||
long int sysconf (int in);
|
||||
|
||||
#endif /* SYSCONF_H */
|
||||
Loading…
Reference in New Issue
Block a user