From bdab91e524dcb9ba59f76924c2c88afafabc0a8b Mon Sep 17 00:00:00 2001 From: Reuben Thomas Date: Fri, 23 Nov 2007 22:59:27 +0000 Subject: Flush cached file before attempting to rename to or from it. Change some 0's to NULLs. Add some cosmetic spaces around a < test. --- plpnfsd/main.cc | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/plpnfsd/main.cc b/plpnfsd/main.cc index ceb9759..a2ad9dd 100644 --- a/plpnfsd/main.cc +++ b/plpnfsd/main.cc @@ -51,7 +51,7 @@ using namespace std; static rfsv *a; static rfsvfactory *rf; -static char *a_filename = 0; +static char *a_filename = NULL; static u_int32_t a_handle; static u_int32_t a_offset; static u_int32_t a_openmode; @@ -280,7 +280,7 @@ long rfsv_closecached() { return 0; a->fclose(a_handle); free(a_filename); - a_filename = 0; + a_filename = NULL; return 0; } @@ -297,7 +297,7 @@ long rfsv_fclose(long handle) { return -1; if (a_filename && (handle == a_handle)) { free(a_filename); - a_filename = 0; + a_filename = NULL; } return a->fclose(handle); } @@ -438,6 +438,8 @@ long rfsv_statdev(char letter) { long rfsv_rename(const char *oldname, const char *newname) { if (!a) return -1; + if (a_filename && (!strcmp(a_filename, oldname) || !strcmp(a_filename, newname))) + rfsv_closecached(); return a->rename(oldname, newname); } @@ -451,7 +453,7 @@ long rfsv_drivelist(int *cnt, device **dlist) { return -1; ret = a->devlist(devbits); if (ret == 0) - for (i = 0; i<26; i++) { + for (i = 0; i < 26; i++) { PlpDrive drive; if ((devbits & 1) && -- cgit v1.2.3