]>
Commit | Line | Data |
---|---|---|
73ffefd0 TT |
1 | /* Conditionally execute a command based if the file argv[1] doesn't exist */ |
2 | /* Except for execvp, we stick to ANSI C. */ | |
9110a741 | 3 | # include "private/gcconfig.h" |
73ffefd0 | 4 | # include <stdio.h> |
9110a741 BM |
5 | # include <stdlib.h> |
6 | # include <unistd.h> | |
4109fe85 BM |
7 | #ifdef __DJGPP__ |
8 | #include <dirent.h> | |
9 | #endif /* __DJGPP__ */ | |
73ffefd0 TT |
10 | |
11 | int main(argc, argv, envp) | |
12 | int argc; | |
13 | char ** argv; | |
14 | char ** envp; | |
15 | { | |
16 | FILE * f; | |
4109fe85 BM |
17 | #ifdef __DJGPP__ |
18 | DIR * d; | |
19 | #endif /* __DJGPP__ */ | |
73ffefd0 TT |
20 | if (argc < 3) goto Usage; |
21 | if ((f = fopen(argv[1], "rb")) != 0 | |
22 | || (f = fopen(argv[1], "r")) != 0) { | |
23 | fclose(f); | |
24 | return(0); | |
25 | } | |
4109fe85 BM |
26 | #ifdef __DJGPP__ |
27 | if ((d = opendir(argv[1])) != 0) { | |
28 | closedir(d); | |
29 | return(0); | |
30 | } | |
31 | #endif | |
73ffefd0 | 32 | printf("^^^^Starting command^^^^\n"); |
9110a741 | 33 | fflush(stdout); |
73ffefd0 TT |
34 | execvp(argv[2], argv+2); |
35 | exit(1); | |
36 | ||
37 | Usage: | |
38 | fprintf(stderr, "Usage: %s file_name command\n", argv[0]); | |
39 | return(1); | |
40 | } | |
41 |