123456789101112131415161718192021222324252627282930313233343536373839404142 |
- /* 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);
- }
|