--- menu.c 2003-09-26 20:45:25.000000000 +0100 +++ menuFixed.c 2004-04-11 11:41:35.000000000 +0100 @@ -4310,7 +4310,18 @@ /* open the file */ if ((fp = fopen(fullName, "w")) == NULL) +#ifdef VMS + { + /* When the version number, ";1" is specified as part of the file name, */ + /* fopen(fullName, "w"), will only open for writing if the file does not */ + /* exist. Using, fopen(fullName, "r+"), opens an existing file for */ + /* "update" - read/write pointer is placed at the beginning of file. */ + if ((fp = fopen(fullName, "r+")) == NULL) + return; + } +#else return; +#endif /* write the file header text to the file */ fprintf(fp, "%s", fileHeader); @@ -4338,7 +4349,9 @@ FILE *fp; int lineLen; #ifdef VMS - static char badFilenameChars[] = "\n\t*?()[]{}!@#%^&:;' "; +/* [],:,; are valid full path name characters */ +/* static char badFilenameChars[] = "\n\t*?()[]{}!@#%^&:;' "; */ + static char badFilenameChars[] = "\n\t*?(){}!@#%^&' "; #else static char badFilenameChars[] = "\n\t*?()[]{}"; #endif