diff -dur gcl-2.6.8.ORIG/o/unixfsys.c gcl-2.6.8/o/unixfsys.c --- gcl-2.6.8.ORIG/o/unixfsys.c 2007-04-06 08:41:09.000000000 -0600 +++ gcl-2.6.8/o/unixfsys.c 2008-12-29 17:34:10.000000000 -0700 @@ -448,11 +448,17 @@ backup_fopen(char *filename, char *option) { char backupfilename[MAXPATHLEN]; +#ifndef HAVE_RENAME char command[MAXPATHLEN * 2]; +#endif strcat(strcpy(backupfilename, filename), ".BAK"); +#ifdef HAVE_RENAME + rename(filename, backupfilename); +#else sprintf(command, "mv %s %s", filename, backupfilename); system(command); +#endif return(fopen(filename, option)); } @@ -477,6 +483,9 @@ { char filename[MAXPATHLEN]; char newfilename[MAXPATHLEN]; +#ifndef HAVE_RENAME + char command[MAXPATHLEN * 2]; +#endif check_arg(2); check_type_or_pathname_string_symbol_stream(&vs_base[0]);