diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2009-12-01 13:39:05 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2009-12-01 13:39:05 (GMT) |
commit | 1bc79f977be67f734a44fd237be6f05b5fb25f53 (patch) | |
tree | 3cd0716146f86ede9c4fb3b0d1d70155bd711cf9 /src/H5private.h | |
parent | 77b493eea3b68cd7348be16488c68efb44687e2d (diff) | |
download | hdf5-1bc79f977be67f734a44fd237be6f05b5fb25f53.zip hdf5-1bc79f977be67f734a44fd237be6f05b5fb25f53.tar.gz hdf5-1bc79f977be67f734a44fd237be6f05b5fb25f53.tar.bz2 |
[svn-r17939] Description:
Handle external links from symlinked files by adding another check to
look for "child" files for links from the actual location of the "parent" file,
instead of from the location of the symlink.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-amd64 2.6 (smirom) w/Intel compilers, w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Mac OS X/32 10.6.2 (amazon) in debug mode
Mac OS X/32 10.6.2 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
Diffstat (limited to 'src/H5private.h')
-rw-r--r-- | src/H5private.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/H5private.h b/src/H5private.h index ada5321..8f56db0 100644 --- a/src/H5private.h +++ b/src/H5private.h @@ -1033,6 +1033,9 @@ H5_DLL int HDfprintf (FILE *stream, const char *fmt, ...); #ifndef HDrealloc #define HDrealloc(M,Z) realloc(M,Z) #endif /* HDrealloc */ +#ifndef HDrealpath + #define HDrealpath(F1,F2) realpath(F1,F2) +#endif /* HDrealloc */ #ifdef H5_VMS #ifdef __cplusplus extern "C" { @@ -1227,6 +1230,11 @@ H5_DLL int64_t HDstrtoll (const char *s, const char **rest, int base); #ifndef HDstrxfrm #define HDstrxfrm(X,Y,Z) strxfrm(X,Y,Z) #endif /* HDstrxfrm */ +#ifdef H5_HAVE_SYMLINK + #ifndef HDsymlink + #define HDsymlink(F1,F2) symlink(F1,F2) + #endif /* HDsymlink */ +#endif /* H5_HAVE_SYMLINK */ #ifndef HDsysconf #define HDsysconf(N) sysconf(N) #endif /* HDsysconf */ @@ -1481,7 +1489,6 @@ extern char *strdup(const char *s); #endif #define COLON_SEPC ':' -H5_DLL herr_t H5_build_extpath(const char *, char ** /*out*/ ); /* @@ -2288,6 +2295,9 @@ H5_DLL uint32_t H5_checksum_lookup3(const void *data, size_t len, uint32_t initv H5_DLL uint32_t H5_checksum_metadata(const void *data, size_t len, uint32_t initval); H5_DLL uint32_t H5_hash_string(const char *str); +/* Functions for building paths, etc. */ +H5_DLL herr_t H5_build_extpath(const char *, char ** /*out*/ ); + /* Functions for debugging */ H5_DLL herr_t H5_buffer_dump(FILE *stream, int indent, uint8_t *buf, uint8_t *marker, size_t buf_offset, size_t buf_size); |