diff options
author | Robb Matzke <matzke@llnl.gov> | 1999-01-07 11:41:25 (GMT) |
---|---|---|
committer | Robb Matzke <matzke@llnl.gov> | 1999-01-07 11:41:25 (GMT) |
commit | 504aa95bd92511ccb80e6321dd79f7dc525310d5 (patch) | |
tree | 43b1c89316ea8ef44db0fe05a6f33cba0006d4b0 /src/H5detect.c | |
parent | 04bec43fa2e962fc4bf5deef67879b5ebf573c8f (diff) | |
download | hdf5-504aa95bd92511ccb80e6321dd79f7dc525310d5.zip hdf5-504aa95bd92511ccb80e6321dd79f7dc525310d5.tar.gz hdf5-504aa95bd92511ccb80e6321dd79f7dc525310d5.tar.bz2 |
[svn-r1010] Changes since 19981217
----------------------
./src/H5.c
./src/H5private.h
Renamed `library_initialize_g' to `H5_libinit_g' to make it
conform to our naming scheme.
./src/H5I.c
Fixed a bug in H5I_dec_ref() that caused the return value to
always be zero instead of the new reference count.
./src/H5.c
./src/H5Odtype.c
./src/H5T.c
./src/H5Tconv.c
./src/H5Tpkg.h
./src/H5Tprivate.h
./src/H5Tpublic.h
Added support for enumeration data types.
./src/H5RA.c
Renamed H5T_insert() to H5T_struct_insert() and added
H5T_enum_insert().
./src/H5RA.c
./src/H5Shyper.c
Added casts to size_t for the third argument of memcpy() to
shut up a warning message from insure++.
./src/H5T.c
Changed "can't" to "unable to" in some error messages to be
more consistent.
./src/H5detect.c
If fork() or waitpid() are unavailable then we assume no
alignment constraints. Hopefully this is the case only on NT
and Intel CPU's don't have alignment constraints.
./src/H5public.h
Include <limits.h> because the H5T_NATIVE_CHAR macro needs the
definition for CHAR_MIN.
Diffstat (limited to 'src/H5detect.c')
-rw-r--r-- | src/H5detect.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/H5detect.c b/src/H5detect.c index 9220915..92fe3ae 100644 --- a/src/H5detect.c +++ b/src/H5detect.c @@ -241,8 +241,9 @@ precision (detected_t *d) precision (&(INFO)); \ } +#if defined(HAVE_FORK) && defined(HAVE_WAITPID) #define ALIGNMENT(TYPE,ALIGN) { \ - char *_buf=malloc(sizeof(TYPE)+align_g[NELMTS(align_g)-1]); \ + char *_buf; \ TYPE _val=0; \ size_t _ano; \ pid_t _child; \ @@ -252,7 +253,9 @@ precision (detected_t *d) fflush(stdout); \ fflush(stderr); \ if (0==(_child=fork())) { \ + _buf = malloc(sizeof(TYPE)+align_g[NELMTS(align_g)-1]); \ _val = *((TYPE*)(_buf+align_g[_ano])); \ + free(_buf); \ exit(0); \ } else if (_child<0) { \ perror("fork"); \ @@ -277,6 +280,10 @@ precision (detected_t *d) fprintf(stderr, "unable to calculate alignment for %s\n", #TYPE); \ } \ } +#else +#define ALIGNMENT(TYPE,ALIGN) (ALIGN)=0 +#endif + /*------------------------------------------------------------------------- |