use &dl_error rather than &dl_load_file as the guard for calling
[p5sagit/p5-mst-13.2.git] / ext / Fcntl / Fcntl.xs
index 8d4a073..b597e03 100644 (file)
@@ -46,7 +46,7 @@ constant(char *name, int arg)
     errno = 0;
     switch (*name) {
     case '_':
-       if (strEQ(name, "_S_IFMT")) /* Yes, _S_IFMT. */
+       if (strEQ(name, "_S_IFMT")) /* Yes, on name _S_IFMT return S_IFMT. */
 #ifdef S_IFMT
          return S_IFMT;
 #else
@@ -476,12 +476,30 @@ constant(char *name, int arg)
 #else
                goto not_there;
 #endif
+           if (strEQ(name, "O_NOINHERIT"))
+#ifdef O_NOINHERIT
+               return O_NOINHERIT;
+#else
+               goto not_there;
+#endif
            if (strEQ(name, "O_NONBLOCK"))
 #ifdef O_NONBLOCK
                return O_NONBLOCK;
 #else
                goto not_there;
 #endif
+           if (strEQ(name, "O_RANDOM"))
+#ifdef O_RANDOM
+               return O_RANDOM;
+#else
+               goto not_there;
+#endif
+           if (strEQ(name, "O_RAW"))
+#ifdef O_RAW
+               return O_RAW;
+#else
+               goto not_there;
+#endif
            if (strEQ(name, "O_RDONLY"))
 #ifdef O_RDONLY
                return O_RDONLY;
@@ -500,6 +518,12 @@ constant(char *name, int arg)
 #else
                goto not_there;
 #endif
+           if (strEQ(name, "O_SEQUENTIAL"))
+#ifdef O_SEQUENTIAL
+               return O_SEQUENTIAL;
+#else
+               goto not_there;
+#endif
            if (strEQ(name, "O_SHLOCK"))
 #ifdef O_SHLOCK
                return O_SHLOCK;