diff options
author | Reuben Thomas <rrt@sc3d.org> | 2007-11-23 22:59:27 +0000 |
---|---|---|
committer | Reuben Thomas <rrt@sc3d.org> | 2007-11-23 22:59:27 +0000 |
commit | bdab91e524dcb9ba59f76924c2c88afafabc0a8b (patch) | |
tree | 66e9fde45cea2a9845d5645f316c29ba69e03b60 /plpnfsd/main.cc | |
parent | 7931e62b32b6fd898ebc229bfe3375bb92aa2799 (diff) | |
download | plptools-bdab91e524dcb9ba59f76924c2c88afafabc0a8b.tar.gz plptools-bdab91e524dcb9ba59f76924c2c88afafabc0a8b.tar.bz2 plptools-bdab91e524dcb9ba59f76924c2c88afafabc0a8b.zip |
Flush cached file before attempting to rename to or from it.
Change some 0's to NULLs.
Add some cosmetic spaces around a < test.
Diffstat (limited to 'plpnfsd/main.cc')
-rw-r--r-- | plpnfsd/main.cc | 10 |
1 files 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) && |