--- f2c-20020621.orig/src/sysdep.c 2000-07-05 00:54:54.000000000 +0200 +++ f2c-20020621/src/sysdep.c 2005-01-09 17:56:35.000000000 +0100 @@ -111,6 +111,7 @@ if (debugflag == 1) return; k = strlen(tmpdir) + 24; +#ifdef MSDOS c_functions = (char *)ckalloc(7*k); initfname = c_functions + k; initbname = initfname + k; @@ -118,6 +119,15 @@ p1_file = blkdfname + k; p1_bakfile = p1_file + k; sortfname = p1_bakfile + k; +#else + char *c_functions; + char *initfname; + char *initbname; + char *blkdfname; + char *p1_file; + char *p1_bakfile; + char *sortfname; +#endif { #ifdef MSDOS char buf[64], *s, *t; @@ -156,16 +166,16 @@ sprintf(p1_file, "%s%sp1f", t, f2c); sprintf(p1_bakfile, "%s%sp1fb", t, f2c); sprintf(sortfname, "%s%ssort", t, f2c); + sprintf(initbname, "%s.b", initfname); #else - long pid = getpid(); - sprintf(c_functions, "%s/f2c%ld_func", tmpdir, pid); - sprintf(initfname, "%s/f2c%ld_rd", tmpdir, pid); - sprintf(blkdfname, "%s/f2c%ld_blkd", tmpdir, pid); - sprintf(p1_file, "%s/f2c%ld_p1f", tmpdir, pid); - sprintf(p1_bakfile, "%s/f2c%ld_p1fb", tmpdir, pid); - sprintf(sortfname, "%s/f2c%ld_sort", tmpdir, pid); + c_functions = tempnam(tmpdir,"f2c_func"); + initfname = tempnam(tmpdir,"f2c_rc"); + initbname = tempnam(tmpdir,"f2c_rc.b"); + blkdfname = tempnam(tmpdir,"f2c_blkd"); + p1_file = tempnam(tmpdir,"f2c_p1f"); + p1_bakfile = tempnam(tmpdir,"f2c_p1fb"); + sortfname = tempnam(tmpdir,"f2c_sort"); #endif - sprintf(initbname, "%s.b", initfname); } if (debugflag) fprintf(diagfile, "%s %s %s %s %s %s\n", c_functions,