diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/H5FDsec2.c | 17 | ||||
-rw-r--r-- | src/H5private.h | 4 |
2 files changed, 21 insertions, 0 deletions
diff --git a/src/H5FDsec2.c b/src/H5FDsec2.c index f45deb1..943f615 100644 --- a/src/H5FDsec2.c +++ b/src/H5FDsec2.c @@ -71,7 +71,11 @@ typedef struct H5FD_sec2_t { * identify a file. */ dev_t device; /*file device number */ +#ifdef H5_VMS + ino_t inode[3]; /*file i-node number */ +#else ino_t inode; /*file i-node number */ +#endif /*H5_VMS*/ #else /* * On WIN32 the low-order word of a unique identifier associated with the @@ -382,7 +386,14 @@ H5FD_sec2_open(const char *name, unsigned flags, hid_t UNUSED fapl_id, file->fileindexlo = fileinfo.nFileIndexLow; #else file->device = sb.st_dev; +#ifdef H5_VMS + file->inode[0] = sb.st_ino[0]; + file->inode[1] = sb.st_ino[1]; + file->inode[2] = sb.st_ino[2]; +#else file->inode = sb.st_ino; +#endif /*H5_VMS*/ + #endif /* Set return value */ @@ -479,8 +490,14 @@ H5FD_sec2_cmp(const H5FD_t *_f1, const H5FD_t *_f2) if(HDmemcmp(&(f1->device),&(f2->device),sizeof(dev_t))>0) HGOTO_DONE(1) #endif /* H5_DEV_T_IS_SCALAR */ +#ifndef H5_VMS if (f1->inode < f2->inode) HGOTO_DONE(-1) if (f1->inode > f2->inode) HGOTO_DONE(1) +#else + if(HDmemcmp(&(f1->inode),&(f2->inode),3*sizeof(ino_t))<0) HGOTO_DONE(-1) + if(HDmemcmp(&(f1->inode),&(f2->inode),3*sizeof(ino_t))>0) HGOTO_DONE(1) +#endif /*H5_VMS*/ + #endif done: diff --git a/src/H5private.h b/src/H5private.h index 609fd42..531b3dd 100644 --- a/src/H5private.h +++ b/src/H5private.h @@ -779,7 +779,11 @@ H5_DLL void HDsrand(unsigned int seed); #define HDread(F,M,Z) read(F,M,Z) #define HDreaddir(D) readdir(D) #define HDrealloc(M,Z) realloc(M,Z) +#ifdef H5_VMS +#define HDremove(Y) remove(Y";*") +#else #define HDremove(S) remove(S) +#endif /*H5_VMS*/ #define HDrename(OLD,NEW) rename(OLD,NEW) #define HDrewind(F) rewind(F) #define HDrewinddir(D) rewinddir(D) |