]> git.mxchange.org Git - simgear.git/blobdiff - simgear/nasal/iolib.c
Nasal: support for standard bitwise operators.
[simgear.git] / simgear / nasal / iolib.c
index 2488671451f72b69432918a36acdb09f85afb725..bbe9004a2feb677c858d633de11a9a90a850b0c9 100644 (file)
@@ -196,13 +196,16 @@ static naRef f_readln(naContext ctx, naRef me, int argc, naRef* args)
 }
 
 #ifdef _WIN32
+#define S_ISLNK(m) 0
+#define S_ISSOCK(m) 0
+#endif
+#ifdef _MSC_VER
 #define S_ISREG(m) (((m)&_S_IFMT)==_S_IFREG)
 #define S_ISDIR(m) (((m)&_S_IFMT)==_S_IFDIR)
 #define S_ISCHR(m) (((m)&_S_IFMT)==_S_IFCHR)
 #define S_ISFIFO(m) (((m)&_S_IFMT)==_S_IFIFO)
 #define S_ISBLK(m) 0
-#define S_ISLNK(m) 0
-#define S_ISSOCK(m) 0
+typedef unsigned short mode_t;
 #endif
 static naRef ftype(naContext ctx, mode_t m)
 {
@@ -225,7 +228,7 @@ static naRef f_stat(naContext ctx, naRef me, int argc, naRef* args)
         naRuntimeError(ctx, strerror(errno));
     }
     result = naNewVector(ctx);
-    naVec_setsize(result, 12);
+    naVec_setsize(ctx, result, 12);
 #define FLD(x) naVec_set(result, n++, naNum(s.st_##x));
     FLD(dev);  FLD(ino);  FLD(mode);  FLD(nlink);  FLD(uid);  FLD(gid);
     FLD(rdev); FLD(size); FLD(atime); FLD(mtime);  FLD(ctime);