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]);