diff --git a/src/toolsComm/antelope/defs.h b/src/toolsComm/antelope/defs.h index 023af4898..9efe80ab4 100644 --- a/src/toolsComm/antelope/defs.h +++ b/src/toolsComm/antelope/defs.h @@ -197,13 +197,10 @@ extern char *header[]; extern char *body[]; extern char *trailer[]; -extern char *action_file_name; extern char *code_file_name; extern char *defines_file_name; extern char *input_file_name; extern char *output_file_name; -extern char *text_file_name; -extern char *union_file_name; extern char *verbose_file_name; extern FILE *action_file; diff --git a/src/toolsComm/antelope/main.c b/src/toolsComm/antelope/main.c index 8048355cb..05642f3bb 100644 --- a/src/toolsComm/antelope/main.c +++ b/src/toolsComm/antelope/main.c @@ -15,13 +15,10 @@ char *temp_form = "yacc.XXXXXXX"; int lineno; int outline; -char *action_file_name; char *code_file_name; char *defines_file_name; char *input_file_name = ""; char *output_file_name; -char *text_file_name; -char *union_file_name; char *verbose_file_name; FILE *action_file; /* a temp file, used to save actions associated */ @@ -64,9 +61,9 @@ extern char *getenv(); done(k) int k; { - if (action_file) { fclose(action_file); unlink(action_file_name); } - if (text_file) { fclose(text_file); unlink(text_file_name); } - if (union_file) { fclose(union_file); unlink(union_file_name); } + if (action_file) { fclose(action_file); } + if (text_file) { fclose(text_file); } + if (union_file) { fclose(union_file); } exit(k); } @@ -224,50 +221,13 @@ unsigned n; } +/* + * joh - removed use TMPDIR variable by WIN32 here + */ create_file_names() { - int i, len; - char *tmpdir; - - tmpdir = getenv("TMPDIR"); - if (tmpdir == 0) tmpdir = "/tmp"; - - len = strlen(tmpdir); - i = len + 13; - if (len && tmpdir[len-1] != '/') - ++i; - - action_file_name = MALLOC(i); - if (action_file_name == 0) no_space(); - text_file_name = MALLOC(i); - if (text_file_name == 0) no_space(); - union_file_name = MALLOC(i); - if (union_file_name == 0) no_space(); - - strcpy(action_file_name, tmpdir); - strcpy(text_file_name, tmpdir); - strcpy(union_file_name, tmpdir); - - if (len && tmpdir[len - 1] != '/') - { - action_file_name[len] = '/'; - text_file_name[len] = '/'; - union_file_name[len] = '/'; - ++len; - } - - strcpy(action_file_name + len, temp_form); - strcpy(text_file_name + len, temp_form); - strcpy(union_file_name + len, temp_form); - - action_file_name[len + 5] = 'a'; - text_file_name[len + 5] = 't'; - union_file_name[len + 5] = 'u'; - - mktemp(action_file_name); - mktemp(text_file_name); - mktemp(union_file_name); - + int len; + len = strlen(file_prefix); output_file_name = MALLOC(len + 7); @@ -318,13 +278,13 @@ open_files() open_error(input_file_name); } - action_file = fopen(action_file_name, "w"); + action_file = tmpfile(); if (action_file == 0) - open_error(action_file_name); + open_error("temp action file"); - text_file = fopen(text_file_name, "w"); + text_file = tmpfile(); if (text_file == 0) - open_error(text_file_name); + open_error("temp text file"); if (vflag) { @@ -338,9 +298,9 @@ open_files() defines_file = fopen(defines_file_name, "w"); if (defines_file == 0) open_error(defines_file_name); - union_file = fopen(union_file_name, "w"); + union_file = tmpfile(); if (union_file == 0) - open_error(union_file_name); + open_error("temp union file"); } output_file = fopen(output_file_name, "w"); diff --git a/src/toolsComm/antelope/output.c b/src/toolsComm/antelope/output.c index 07c434ccf..1e1f4af70 100644 --- a/src/toolsComm/antelope/output.c +++ b/src/toolsComm/antelope/output.c @@ -815,9 +815,7 @@ output_defines() if (dflag && unionized) { - fclose(union_file); - union_file = fopen(union_file_name, "r"); - if (union_file == NULL) open_error(union_file_name); + rewind(union_file); while ((c = getc(union_file)) != EOF) putc(c, defines_file); fprintf(defines_file, " YYSTYPE;\nstatic YYSTYPE %slval;\n", @@ -831,10 +829,7 @@ output_stored_text() register int c; register FILE *in, *out; - fclose(text_file); - text_file = fopen(text_file_name, "r"); - if (text_file == NULL) - open_error(text_file_name); + rewind(text_file); in = text_file; if ((c = getc(in)) == EOF) return(0); @@ -1143,10 +1138,7 @@ output_semantic_actions() register int c, last; register FILE *out; - fclose(action_file); - action_file = fopen(action_file_name, "r"); - if (action_file == NULL) - open_error(action_file_name); + rewind(action_file); if ((c = getc(action_file)) == EOF) return(0);