diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/H5.c | 36 | ||||
-rw-r--r-- | src/H5private.h | 3 |
2 files changed, 38 insertions, 1 deletions
@@ -3150,3 +3150,39 @@ void HDsrand(unsigned int seed) } #endif +/*------------------------------------------------------------------------- + * Function: HDremove_all + * + * Purpose: Wrapper function for remove on VMS systems + * + * This function deletes all versions of a file + * + * Return: Success: 0; + * + * Failure: -1 + * + * Programmer: Elena Pourmal + * March 22, 2006 + * + * Modifications: + *------------------------------------------------------------------------- + */ +#ifdef H5_VMS + + +int HDremove_all(char *fname) +{ + int ret_value = -1; + char *_fname; + _fname = malloc(strlen(fname)+3); /* to accomodate ;* and null */ + if(_fname) { + strcpy(_fname, fname); + strcat(_fname,";*"); + remove(_fname); + free(_fname); + ret_value = 0; + } + return ret_value; +} +#endif + diff --git a/src/H5private.h b/src/H5private.h index 8a10783..cf16bce 100644 --- a/src/H5private.h +++ b/src/H5private.h @@ -789,7 +789,8 @@ H5_DLL int HDrand(void); #define HDreaddir(D) readdir(D) #define HDrealloc(M,Z) realloc(M,Z) #ifdef H5_VMS -#define HDremove(Y) remove(Y";*") +#define HDremove(S) HDremove_all(S) +int HDremove_all(char * fname); #else #define HDremove(S) remove(S) #endif /*H5_VMS*/ |