applied patch, with indentation tweaks
[p5sagit/p5-mst-13.2.git] / win32 / runperl.c
index 36461bd..17d2ac2 100644 (file)
@@ -23,6 +23,12 @@ CPerlObj *pPerl;
 #include <ipproc.h>
 #include <ipstdio.h>
 
+#define CALLFUNC0RET(x)\
+    int ret = x;\
+    if(ret < 0)\
+       err = errno;\
+    return ret;
+
 extern int g_closedir(DIR *dirp);
 extern DIR *g_opendir(char *filename);
 extern struct direct *g_readdir(DIR *dirp);
@@ -35,15 +41,15 @@ public:
     CPerlDir() {};
     virtual int Makedir(const char *dirname, int mode, int &err)
     {
-       return win32_mkdir(dirname, mode);
+       CALLFUNC0RET(win32_mkdir(dirname, mode));
     };
     virtual int Chdir(const char *dirname, int &err)
     {
-       return win32_chdir(dirname);
+       CALLFUNC0RET(win32_chdir(dirname));
     };
     virtual int Rmdir(const char *dirname, int &err)
     {
-       return win32_rmdir(dirname);
+       CALLFUNC0RET(win32_rmdir(dirname));
     };
     virtual int Close(DIR *dirp, int &err)
     {