OSDN Git Service

2007-02-05 Roman Zippel <zippel@linux-m68k.org>
[pf3gnuchains/gcc-fork.git] / boehm-gc / if_not_there.c
index 9616309..8691e92 100644 (file)
@@ -1,7 +1,12 @@
 /* Conditionally execute a command based if the file argv[1] doesn't exist */
 /* Except for execvp, we stick to ANSI C.                                 */
-# include "config.h"
+# include "private/gcconfig.h"
 # include <stdio.h>
+# include <stdlib.h>
+# include <unistd.h>
+#ifdef __DJGPP__
+#include <dirent.h>
+#endif /* __DJGPP__ */
 
 int main(argc, argv, envp)
 int argc;
@@ -9,13 +14,23 @@ char ** argv;
 char ** envp;
 {
     FILE * f;
+#ifdef __DJGPP__
+    DIR * d;
+#endif /* __DJGPP__ */
     if (argc < 3) goto Usage;
     if ((f = fopen(argv[1], "rb")) != 0
         || (f = fopen(argv[1], "r")) != 0) {
         fclose(f);
         return(0);
     }
+#ifdef __DJGPP__
+    if ((d = opendir(argv[1])) != 0) {
+           closedir(d);
+           return(0);
+    }
+#endif
     printf("^^^^Starting command^^^^\n");
+    fflush(stdout);
     execvp(argv[2], argv+2);
     exit(1);