Mercurial > cpython-lru_cache-weakref
comparison Python/pythonmain.c @ 1270:14369a5e6167 legacy-trunk
Support for frozen scripts; added -i option.
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Thu, 01 Apr 1993 20:59:32 +0000 |
| parents | 1cabc2b6c970 |
| children | 92e6a8cf14be |
comparison
equal
deleted
inserted
replaced
| 1269:28948181fb2f | 1270:14369a5e6167 |
|---|---|
| 32 /* Interface to getopt(): */ | 32 /* Interface to getopt(): */ |
| 33 extern int optind; | 33 extern int optind; |
| 34 extern char *optarg; | 34 extern char *optarg; |
| 35 extern int getopt PROTO((int, char **, char *)); | 35 extern int getopt PROTO((int, char **, char *)); |
| 36 | 36 |
| 37 extern char *getenv(); | |
| 38 | |
| 37 main(argc, argv) | 39 main(argc, argv) |
| 38 int argc; | 40 int argc; |
| 39 char **argv; | 41 char **argv; |
| 40 { | 42 { |
| 41 int c; | 43 int c; |
| 42 int sts; | 44 int sts; |
| 43 char *command = NULL; | 45 char *command = NULL; |
| 44 char *filename = NULL; | 46 char *filename = NULL; |
| 45 FILE *fp = stdin; | 47 FILE *fp = stdin; |
| 48 char *p; | |
| 49 int inspect = 0; | |
| 50 | |
| 51 if ((p = getenv("PYTHONDEBUG")) && *p != '\0') | |
| 52 debugging = 1; | |
| 53 if ((p = getenv("PYTHONVERBOSE")) && *p != '\0') | |
| 54 verbose = 1; | |
| 46 | 55 |
| 47 initargs(&argc, &argv); /* Defined in config*.c */ | 56 initargs(&argc, &argv); /* Defined in config*.c */ |
| 48 | 57 |
| 49 while ((c = getopt(argc, argv, "c:dv")) != EOF) { | 58 while ((c = getopt(argc, argv, "c:div")) != EOF) { |
| 50 if (c == 'c') { | 59 if (c == 'c') { |
| 51 /* -c is the last option; following arguments | 60 /* -c is the last option; following arguments |
| 52 that look like options are left for the | 61 that look like options are left for the |
| 53 the command to interpret. */ | 62 the command to interpret. */ |
| 54 command = malloc(strlen(optarg) + 2); | 63 command = malloc(strlen(optarg) + 2); |
| 60 | 69 |
| 61 switch (c) { | 70 switch (c) { |
| 62 | 71 |
| 63 case 'd': | 72 case 'd': |
| 64 debugging++; | 73 debugging++; |
| 74 break; | |
| 75 | |
| 76 case 'i': | |
| 77 inspect++; | |
| 65 break; | 78 break; |
| 66 | 79 |
| 67 case 'v': | 80 case 'v': |
| 68 verbose++; | 81 verbose++; |
| 69 break; | 82 break; |
| 116 } | 129 } |
| 117 } | 130 } |
| 118 sts = run(fp, filename == NULL ? "<stdin>" : filename) != 0; | 131 sts = run(fp, filename == NULL ? "<stdin>" : filename) != 0; |
| 119 } | 132 } |
| 120 | 133 |
| 134 if (inspect && isatty((int)fileno(stdin)) && | |
| 135 (filename != NULL || command != NULL)) | |
| 136 sts = run(stdin, "<stdin>") != 0; | |
| 137 | |
| 121 goaway(sts); | 138 goaway(sts); |
| 122 /*NOTREACHED*/ | 139 /*NOTREACHED*/ |
| 123 } | 140 } |
