| /* Conditionally execute a command based if the file argv[1] doesn't exist */ |
| /* Except for execvp, we stick to ANSI C. */ |
| # 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; |
| 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); |
| |
| Usage: |
| fprintf(stderr, "Usage: %s file_name command\n", argv[0]); |
| return(1); |
| } |
| |