summaryrefslogtreecommitdiffstats
path: root/test/dtypes.c
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r3326] Purpose:Quincey Koziol2001-01-251-59/+59
| | | | | | | | | | | Clean up warnings Description: The "FAILED" macro is defined by Windows and is causing warnings and potential errors when compiled on that platform. Solution: Change our macro from FAILED to H5_FAILED. Platforms tested: FreeBSD 4.2 (hawkwind)
* [svn-r3252] Purpose:Quincey Koziol2001-01-091-47/+47
| | | | | | | | | | | | | Code cleanup. Description: Fixed _lots_ (I mean _tons_) of warnings spit out by the gcc with the extra warnings. Including a few show-stoppers for compression on IRIX machines. Solution: Changed lots of variables' types to more sensible and consistent types, more range-checking, more variable typecasts, etc. Platforms tested: FreeBSD 4.2 (hawkwind), IRIX64-64 (modi4)
* [svn-r3132] Purpose:Quincey Koziol2000-12-131-0/+96
| | | | | | | | More tests Description: Added regression test for non-optimized compound datatype conversion fix. Platforms tested: FreeBSD 4.2 (hawkwind)
* [svn-r3001] MuQun Yang2000-11-251-3/+5
| | | | | | | | | | | | | | | | | | | | | | | Purpose: Fix a bug caught by debug version of windows 2000 at test_compound_5(struct optimization converter). Description: free memory of a variable before checking the result by using that variable. Solution: put free(buf) and free(bkg) after the following block: /* Check results */ if (memcmp(src[1].name, dst[1].name, sizeof(src[1].name)) || src[1].tdim!=dst[1].tdim || src[1].coll_ids[0]!=dst[1].coll_ids[0] || src[1].coll_ids[1]!=dst[1].coll_ids[1] || src[1].coll_ids[2]!=dst[1].coll_ids[2] || src[1].coll_ids[3]!=dst[1].coll_ids[3]) { FAILED(); return 1; } Platforms tested: windows 2000 and confirmed at LINUX(eirene).
* [svn-r2866] Purpose:Quincey Koziol2000-11-111-2/+2
| | | | | | | | Code cleanup Description: Found more "Have_foo" usage and converted them to "H5_HAVE_foo" Platforms tested: FreeBSD 4.1.1 (hawkwind)
* [svn-r2844] Purpose:Quincey Koziol2000-11-091-66/+82
| | | | | | | | | | | | | | | | | | | New Feature Description: Added array datatype tests to the regression tests. These datatype combinations are tested currently: 1-D array of atomic datatypes 3-D array of atomic datatypes array of array of atomic datatypes array of compound of atomic datatypes array of compound of array datatypes array of VL of atomic datatypes array of VL of array datatypes Also added a test to verify that the older style compound datatype with array fields works correctly. Platforms tested: FreeBSD 4.1.1 (hawkwind)
* [svn-r2531] Description:Albert Cheng2000-09-101-1/+1
| | | | | | | | | | | | | | | | | | | The "FILENAME" declared extern in h5test.h is not always used. It was used in h5_cleanup to remove temporary files created during tests. Not all tests codes have used this routine. Indeed, quite a few of test programs do "#define FILENAME ". Also, h5_cleanup needs to work in tandem with h5_fixname. h5_fixname accepts an explicite base_name argument instead of using the global variable FILENAME. That is cleaner. Solution: Added char *base_name[] as a new argument to h5_cleanup, in the same style as h5_fixname. Removed "extern char *FILENAME..." from use. Also, undo some unnecessary declaration of "char *FILENAME" from some tests which don't use it at all (yet). Platforms tested: modi4-64(irix64), arabica(solari2.7), eirene(linux) (arabica could not launch tests automatically. I had to hack in LD_LIBRARY_PATH to make them run.)
* [svn-r2317] Close a small memory leak in the test program (not library).Quincey Koziol2000-06-011-0/+4
|
* [svn-r2266] Minor change for 64-bit libsRobb Matzke2000-05-181-1/+1
|
* [svn-r2262] * 2000-05-18Robb Matzke2000-05-181-1/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ** src/H5Tconv.c ** src/H5Tpkg.h ** src/H5Tpublic.h The H5T_conv_struct_opt() function had a design flaw -- it didn't keep information about the stride to use to step through the temporary/background-value buffer and thus nested invocations would clobber each other's temp buffers. This was fixed by splitting the `stride' argument into `buf_stride' and `bkg_stride' arguments for all the conversion functions. THIS IS AN API CHANGE, but users will get a compiler warning when they pass their conversion function pointer to H5Tregister(). ** src/H5T.c ** src/H5Tprivate.h Added a bkg_stride argument to the H5T_convert() definition in order to fix a bug related to the optimized compound datatype conversion function. ** src/H5T.c ** src/H5A.c ** src/H5D.c ** src/H5Ofill.c ** src/H5P.c Added bkg_stride=0 argument to the H5T_convert() calls. ** test/dtypes.c Added a test for the H5T_conv_struct_opt() bug fixed above. ** src/H5FL.c The H5FL_term() function should return non-zero even when it couldn't free all the free lists do to their being used by some other package. When that other package terminates it will return non-zero, causing H5FL_term() to be called again. This fixes some of the `infinite loop closing library' messages. ** tools/pdb2hdf Uses print_version() instead of doing that itself. ** src/H5Ppublic.h Renamed H5Pget_gc_reference() declaration to make it match the definition. ** src/H5FDlog.c Added API tracing macros. Removed `const' qualifier from a `char*' member of a struct which was allocated on the heap. ** src/H5TB.c Added curly braces to a couple deeply-nested `if' statements to make them clearer and to shut up the increadibly stupid and just plain incorrect gcc warning about ambiguous `else'. ** test/titerate.c Removed incomplete initialization in favor of memset() for one auto variable to stop compiler warnings. ** tools/Depencencies Regenerated to remove references to h5dumputil.c
* [svn-r2073] Added free-list code to the library and took out the older ↵Quincey Koziol2000-04-041-7/+10
| | | | | | | "temporary buffer" code, since the functionality was superceded. See the followup document for details on the free-list code.
* [svn-r1651] Fold in J90 changesQuincey Koziol1999-09-241-94/+114
|
* [svn-r1572] Changes since 19990810Robb Matzke1999-08-171-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./MANIFEST ./src/H5FDmulti.c [NEW] ./src/H5FDmulti.h [NEW] ./src/Makefile.in ./src/hdf5.h The split driver was reimplemented as a more general "multi" driver which is capable of splitting data into multiple files like the family driver except the partioning is done by memory usage type instead of address. The H5Pset_fapl_split() function just calls H5Pset_fapl_multi() with arguments which prepare to split the address space into two files: meta and raw data. This is the first version. I plan to allow the open() call to relax a bit which would allow one to open an hdf5 file when only the meta-data file is present. This would allow a very large file to be split and stored on tape and the relatively small meta file to be mirrored on disk to allow limited browsing of the file (any request for raw data would fail). ./src/H5private.h ./src/H5F.c ./src/H5FD.c ./src/H5FDprivate.h ./src/H5FDpublic.h ./src/H5FDcore.c ./src/H5FDfamily.c ./src/H5FDmpio.c ./src/H5FDsec2.c Added the ability for a file driver to store information in the superblock which would be needed if the file were opened again later for reading. The format is driver-defined which allows users to extend it however they like. ./doc/html/H5.format.html Added information about the new driver information block of the superblock. This is where file drivers store information they need in order to reopen the file later. ./src/H5F.c ./src/H5Fprivate.h ./src/H5FD.c ./src/H5FDprivate.h ./src/H5FDpublic.h ./src/H5FDcore.c ./src/H5FDfamily.c ./src/H5FDmpio.c ./src/H5FDsec2.c ./src/H5Fistore.c ./src/H5R.c The file access properties and the file access property list were decoupled, which allows the property list to more cleanly contain properties for various levels of the file and which allows the property list to be modified more cleanly when opening files. ./src/H5.c ./src/H5FDpublic.h Removed H5FD_MEM_META and H5FD_MEM_GROUP since they're never used. ./src/H5D.c Changed the way we detect the MPIO driver in all these special cases. ./src/H5F.c ./src/H5Rpublic.h ./test/tfile.c The default file sizeof(offset) was changed to be a function of haddr_t instead of hsize_t. THE H5RPUBLIC.H DEFINITIONS WILL HAVE PROBLEMS IF THE USER CREATES A FILE WITH NON-DEFAULT OFFSET AND SIZE SIZES! ./src/H5F.c Fixed an uninitialized memory access bug in file closing related to the VFL. ./src/H5T.c ./src/H5Tpublic.h Added an H5T_NATIVE_HADDR predefined datatype which corresponds to the `haddr_t' type. ./test/Makefile.in Reformatted long lines. ./test/big.c ./test/cmpd_dset.c ./test/dsets.c ./test/dtypes.c ./test/extend.c ./test/external.c Removed the H5F_ACC_DEBUG flag from file creation/open calls. ./test/big.c Plugged a memory leak. ./test/h5test.c Added support for the `multi' driver. Removed #warning about not having the stdio driver. Plans are to not implement it since the sec2 driver serves the same purpose and testing didn't show any difference in execution times between the two.
* [svn-r1548] Changes since 19990727Robb Matzke1999-07-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./src/H5.c [1.3] ./src/H5AC.c [1.3] ./src/H5ACprivate.h [1.3] ./src/H5B.c [1.3] ./src/H5Bprivate.h [1.3] ./src/H5D.c [1.3] ./src/H5F.c [1.3] ./src/H5Farray.c [1.3] ./src/H5Fcore.c [1.3] ./src/H5Ffamily.c [1.3] ./src/H5Fistore.c [1.3] ./src/H5Flow.c [1.3] ./src/H5Fmpio.c [1.3] ./src/H5Fprivate.h [1.3] ./src/H5Fsec2.c [1.3] ./src/H5Fsplit.c [1.3] ./src/H5Fstdio.c [1.3] ./src/H5G.c [1.3] ./src/H5Gent.c [1.3] ./src/H5Gnode.c [1.3] ./src/H5Gprivate.h [1.3] ./src/H5Gstab.c [1.3] ./src/H5HG.c [1.3] ./src/H5HGprivate.h [1.3] ./src/H5HL.c [1.3] ./src/H5HLprivate.h [1.3] ./src/H5MF.c [1.3] ./src/H5MFprivate.h [1.3] ./src/H5O.c [1.3] ./src/H5Oattr.c [1.3] ./src/H5Ocont.c [1.3] ./src/H5Odtype.c [1.3] ./src/H5Oefl.c [1.3] ./src/H5Olayout.c [1.3] ./src/H5Oprivate.h [1.3] ./src/H5Oshared.c [1.3] ./src/H5Ostab.c [1.3] ./src/H5P.c [1.3] ./src/H5R.c [1.3] ./src/H5Smpio.c [1.3] ./src/H5T.c [1.3] ./src/H5Tvlen.c [1.3] ./src/H5private.h [1.3] ./test/dtypes.c [1.3] ./test/gheap.c [1.3] ./test/istore.c [1.3] ./test/lheap.c [1.3] ./test/ohdr.c [1.3] ./tools/h5debug.c [1.3] File addresses (the `haddr_t' type) are passed by value instead of by reference. The type is no longer a struct. This is one of the preliminary changes needed for the Virtual File Layer stuff. ./src/H5Fprivate.h [1.3] ./src/H5Flow.c [1.3] Some address functions were rewritten as macros.
* [svn-r1533] ./test/dtypes.c [1.2, 1.3]Robb Matzke1999-07-231-10/+10
| | | | | Fixed the decimal value which is printed for `dst' when an error is detected. The hexadecimal value was correct.
* [svn-r1419] Modified dtypes.c to add new dataset transfer property list ↵Quincey Koziol1999-07-031-43/+43
| | | | | | | | | ID in H5Tconvert calls. Added tests to tvltypes.c which test arrays of VL compound datatypes, array of compound datatypes with VL fields and arrays of nested VL sequences of VL sequences of atomic types, all of which are working correctly.
* [svn-r1362] Robb Matzke1999-06-181-48/+395
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes since 19990616 ---------------------- ./src/H5T.c ./src/H5Tconv.c All conversion functions take an extra argument called `stride' which is the number of bytes to advance the source and destination pointers after each element is converted. If the value is zero then the old behavior is preserved (source and destination values are packed). This feature was necessary to implement the compound datatype conversion optimizations and it causes a minor change to the API (application-defined type conversion functions take an extra size_t stride argument). ./src/H5Tconv.c An additional compound data type conversion function was added which is applied unless the destination type is larger than the source type. I'm measuring significant performance increases for certain operations: Test Name Struct-Conv Noop-Conv New(Old) MB/s New(Old) MB/s ---------- ------------- ------------- Reordering 2.062(0.3936) 54087(0.9047) Subsetting 2.901(0.6581) 40192(1.1100) Shrinking 1.976(0.3925) 33628(1.1500) ---------- ------------- ------------- ./test/dtypes.c Added various compound datatype conversion tests. Fixed return values from functions. ./src/H5T.c Conversion timers are updated only if H5T debugging is turned on a runtime (in addition to compile time). This allows the data type layer to be compiled with debugging support without having to pay a big runtime penalty if the debugging isn't actually used. ./src/H5A.c ./src/H5D.c ./src/H5Ofill.c ./src/H5P.c ./src/H5T.c ./src/H5Tconv.c ./src/H5Tpkg.h ./src/H5Tprivate.h ./src/H5Tpublic.h Added the stride argument to the H5T_convert() calls. The stride is always zero, which means that the source and destination data values are packed. ./configure.in ./configure [REGENERATED] If API tracing is turned off then libhdf5.settings will say `no' instead of nothing. ./test/flush1.c ./test/flush2.c Added better error messages in a couple places.
* [svn-r1306] Changes since 19990602Robb Matzke1999-06-071-1/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./doc/html/Datatypes.html ./test/dtypes.c Added documentation and tests for opaque types. ./tools/h5ls.c Added a `-x' or `--hexdump' argument which is not fully implemented (because I want to synchronize h5tools.c first) but which will eventually print raw data in hexadecimal format without any translation from disk. This would be useful for debugging references and VL types. ./tools/h5tools.c Added support for references (not quite finished yet, but compiles -- I wanted to sync up this file before Patrick and I got too far apart...) ./src/H5R.c Checked for error return value from H5R_get_object_type() ./src/H5A.c ./src/H5D.c Changed error return values from NULL to FAIL ./test/Makefile.in ./test/trefer.c Creates trefer1.h5 and trefer2.h5 so that the second test doesn't clobber the first file since the files might be useful for debugging.
* [svn-r1292] Changes since 19990430Robb Matzke1999-06-021-0/+127
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- Remove changes from CVS ./bin/release Added a `--nocheck' switch which causes the script to not check the contents of the MANIFEST file against CVS. This is sometimes useful when you need to make a quick snapshot but the MANIFEST file is not quite up to date. ./src/H5D.c Removed warnings for unused variables ./src/H5Fprivate.h Removed the WIN32 definition for `uint' and changed the data type for `eof_written' from `uint' to `uintn'. Shouldn't this really be `hbool_t'? ./src/H5Odtype.c ./src/H5T.c ./src/H5Tconv.c ./src/H5Tpkg.h ./src/H5Tpublic.h ./test/dtypes.c ./doc/html/H5.format.html Added support for bitfields and opaque data types.
* [svn-r1274] Added code to delete the core file that maybe generated byAlbert Cheng1999-05-251-0/+2
| | | | SIGFPE during the test.
* [svn-r1240] Changes since 19990427Robb Matzke1999-04-301-0/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./tools/h5ls.c Added a `--address' (`-a') switch which causes h5ls to display file addresses for raw data. For contiguous datasets it's just a nice simple number, but for chunked datasets it's a list of logical dataset coordinates, file addresses, filter masks, and storage sizes. Changed `--dump' switch to `--data'. ./src/H5D.c ./src/H5F.c ./src/H5Fprivate.h Enhanced the indexed-storage B-tree iterator so it can dump raw data addresses (and other info) to the standard error stream. Added H5Ddebug() so h5ls has a way to dump addresses for datasets. I'm not sure what else this API function should do, so I think we should discuss it before we document it. So far, h5ls is the only thing that uses it, and we can easily change that. ./src/H5Tconv.c ./test/dtypes.c Finally had a chance to verify Paul's H5T_conv_s_s (general string to string conversions) bug fixes and incorporate them into H5T_conv_f_f (general floating-point to floating-point conversions) and H5T_conv_i_i (general integer to integer conversons). Thanks Paul. ./src/H5D.c ./src/H5S.c ./src/H5Sprivate.h Added performance timers around data space read and write callbacks. They were already there for the gather/scatter callbacks. The timings for read/write callbacks are displayed along with gather/scatter when data space debugging is turned on. ./bin/iostats Updated to print totals. Added a `--fast' option that doesn't do any output except the totals and is much faster. ./bin/trace Changed __unused__ to UNUSED to match source code. ./config/gnu-flags Updated error message for pgcc. I've sent bug reports to the pgcc people but the new version still has the same bug. ./configure.in ./config/conclude.in ./config/depend.in Fixed dependencies for non-GNU makes when run in a directory other than the hdf5 source tree. Updated GNU `make dep' rules to copy the distributed dependencies for non-GNU makes into the source tree when run in some other directory.
* [svn-r1184] Changes since 19990402Robb Matzke1999-04-151-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./config/commence.in ./config/conclude.in ./test/Makefile.in ./tools/Makefile.in Fixed so private libraries are not installed publicly. The installation directories `bin', `include', and `lib' are created mode 755. ./src/H5.c ./src/H5A.c ./src/H5F.c ./src/H5Fcore.c ./src/H5Fistore.c ./src/H5Flow.c ./src/H5Fmpio.c ./src/H5Fsec2.c ./src/H5Fstdio.c ./src/H5G.c ./src/H5Gent.c ./src/H5Gnode.c ./src/H5HG.c ./src/H5HL.c ./src/H5O.c ./src/H5Oattr.c ./src/H5Ocomp.c ./src/H5Ocont.c ./src/H5Odtype.c ./src/H5Oefl.c ./src/H5Ofill.c ./src/H5Olayout.c ./src/H5Omtime.c ./src/H5Oname.c ./src/H5Osdspace.c ./src/H5Oshared.c ./src/H5Ostab.c ./src/H5R.c ./src/H5Sall.c ./src/H5Shyper.c ./src/H5Smpio.c ./src/H5Snone.c ./src/H5Spoint.c ./src/H5T.c ./src/H5Tconv.c ./src/H5Vprivate.h ./src/H5Z.c ./src/H5detect.c ./src/H5private.h ./test/chunk.c ./test/dsets.c ./test/dtypes.c ./test/h5test.c ./test/overhead.c ./test/ragged.c ./test/tattr.c ./tools/h5dump.c ./tools/h5findshd.c ./tools/h5ls.c Changed `__unused__' to `UNUSED' to fix a conflict with GNU header files. ./src/H5Tpkg.h ./test/h5test.h Removed __unused__ from forward function declarations. ./src/H5P.c Removed a comment about restrictions for the type conversion temporary buffers. Thanks to Quincey, the comment no longer applied. ./src/H5T.c Relaxed the H5Tpack() a little so it would pack compound data structures that had non-transient atomic members. ./tools/h5ls.c Added a `-g' (or `--group') flag that causes information to be printed about the specified group instead of the group's contents. (sort of like Unix's `ls -d'). The `-g' can be used in combination with `-r' to print information about the group and its contents.
* [svn-r1110] Changes since 19990226Robb Matzke1999-03-011-6/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./INSTALL Added instructions for using other compilers on Irix platforms. ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./src/H5private.h The presence of <sys/sysinfo.h> and <sys/proc.h> is only checked on DEC/Alpha because there are too many problems including these headers on other systems. ./config/irix6.x ./config/irix64 Removed `-ansi' and added a comment. Converting an ASCII UTC date and time to a time_t value is not defined by ANSI or Posix but is available if we don't use `-ansi'. This allows the dataset modification time messages to be read properly by H5Gget_objinfo(). ./src/H5Tconv.c Fixed a compiler warning. ./test/dtypes.c ./test/hyperslab.c ./test/istore.c Fixed compiler warnings in printf() statements.
* [svn-r1108] Changes since 19990225Robb Matzke1999-02-261-268/+285
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./INSTALL Added warnings and a disclaimer about GNU, DEC, Irix64, and NT compilers that generate incorrect machine code. ./configure.in ./src/H5private.h Detects and includes <sys/param.h> which is needed on FreeBSD before <sys/proc.h> even though we only really using anything from <sys/proc.h> on the DEC Alpha. ./config/irix64 Turned off warnings for duplicate definitions from the linker because -lnsl on irix has the same stuff in it as -lc. ./config/irix6.x Split up the CC and CFLAGS settings like with irix64 so that compilers besides `-n32' can be used. ./bin/snapshot The snapshots are tagged with names like hdf5-1_1_52 which is similar to the way the releases are tagged (cvs doesn't allow dots in tags). ./test/dtypes.c ./src/H5private.h ./src/H5Tconv.c Fixed some alignment violations on the DEC when using high optimization levels. The DEC incorrectly optimizes certain memcpy() and memmove() calls when the source argument is not word aligned if the call looks like it's copying an atomic data type. ./test/hyperslab Worked around code generation bugs in the Irix64 Mongoose 7.00 compiler by casting some `unsigned long' values to `unsigned' in an expression. ./src/H5Ocomp.c Fixed a place where %d was used to print a size_t.
* [svn-r1101] Changes since 19990219Robb Matzke1999-02-251-100/+114
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./config/irix64 The old (-32) compiler is now supported by setting envrionment CC='cc -32'. The -64 compiler is the default or you can set CC='cc -64'. ./src/H5A.c ./src/H5D.c ./src/H5F.c ./src/H5Fistore.c ./src/H5Flow.c ./src/H5G.c ./src/H5I.c ./src/H5Ocomp.c ./src/H5P.c ./src/H5R.c ./src/H5RA.c ./src/H5T.c ./src/H5Tbit.c ./src/H5Tconv.c ./src/H5Z.c ./src/H5detect.c ./test/big.c ./test/cmpd_dset.c ./test/dsets.c ./test/dtypes.c ./test/enum.c ./test/mtime.c ./test/ohdr.c ./tools/h5ls.c Fixed lots of warnings on Irix64. Mailed a few remaining warnings in H5S to Quincey and a few in the dumper to Ruey-Hsia.
* [svn-r1032] Changes since 19990118Robb Matzke1999-01-211-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./tools/h5tools.c Strings are not converted to null-padding before being printed; they are printed with whatever byte values appear in the file. ./tools/h5ls.c Now able to display attribute data type and data. Added a `-f' or `--full' switch which causes the full name of each object to be displayed instead of just the base name. Added a `-r' or `--recursive' switch that recursively prints the contents of groups, avoiding cycles. More bulletproofing for non-printable characters in things like object names, attribute names, and comment strings. We don't want listing a file to send termal escape sequences because it's sometimes possible to execute commands that way. Since h5ls doesn't usually use quotes around object names we must sometimes escape space characters. External files are listed in a table to make the output less confusing. ./tools/h5tools.c ./tools/h5tools.h Changed h5dump() to h5dump_dset() and added h5dump_mem(). Also make h5dump_fixtype() public. ./test/dtypes.c Wrote some data to an attribute to test h5ls attribute printing. ./src/H5ACprivate.h ./src/H5Apublic.h ./src/H5Dprivate.h ./src/H5Dpublic.h ./src/H5Epublic.h ./src/H5Fprivate.h ./src/H5Fpublic.h ./src/H5Gprivate.h ./src/H5HLprivate.h ./src/H5Oprivate.h ./src/H5Ppublic.h ./src/H5RApublic.h ./src/H5Rpublic.h ./src/H5Spublic.h ./src/H5Tpkg.h ./src/H5Tpublic.h ./src/H5Vprivate.h ./src/H5Zpublic.h ./src/H5private.h ./src/H5public.h Reindented function prototypes after `HDF5API' was added. Also rewrapped long lines. ./src/H5Flow.c Added an `#ifdef WIN32' around an unused variable. ./src/H5api_adpt.h Removed extra carriage returns inserted by "broken" operating system. ./src/H5Dprivate.h ./src/H5Oprivate.h ./src/H5Vprivate.h ./src/H5private.h Removed extraneous inclusion of H5api_adpt.h since it's included in H5public.h which is included by everything. ./src/Makefile.in Added H5api_adpt.h to the list of public header files to fix broken `make install'.
* [svn-r1011] Changes since 19981217Robb Matzke1999-01-071-1/+76
| | | | | | | | | | | ---------------------- ./test/dtypes.c ./test/enum.c [NEW] Added support for enumeration data types. ./test/fillval.c ./test/istore.c Fixed memory leaks during error handling.
* [svn-r971] Changes since 19981214Robb Matzke1998-12-171-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./INSTALL Added warning that enabling debugging code can adversely affect performance even when the debugging isn't turned on at run-time. Performance testing shows that under certain circumstances (like data type conversions of compound types) the H5_timer functions, although only a few lines each, contribute a fairly large percent to the execution time. ./src/H5T.c ./src/H5Tpkg.h ./src/H5Tpublic.h Improved the H5Tunregister() function to make unregistering more flexible. It takes the same arguments as H5Tregister() but also accepts wild cards. All conversion functions that match the H5Tunregister() search criteria are removed from the global type conversion table. The H5Tregister_hard() and H5Tregister_soft() were combined into a single function called H5Tregister() which is the counterpart to H5Tunregister(). A new `persistence' argument was added to differentiate between the two types of conversion functions. The application is allowed to register a hard conversion function for the no-op conversion path although the library isn't obligated to call it (it usually does). This is mostly for completeness, but the application might use it to help determine if the raw data pipeline was able to use the optimized path for the case when no type conversion is necessary. The library doesn't allow this path to be unregistered although the application can redefine it as often as it likes. Fixed the type conversion tables in preparation for MT-safety and to fix previosly-known design bugs wrt. unregistering conversion functions or changing the C function associated with a conversion path. The MT-safety stuff is documented in a separate white paper. Increased the conversion function debugging name from 9 characters to 31 characters so the output can be more descriptive. Moved conversion path statistics from the H5T_cdata_t member into the conversion path itself. This makes H5T_cdata_t contain only application-visible data structures. ./src/H5A.c ./src/H5D.c ./src/H5Ofill.c ./src/H5P.c ./src/H5T.c Improved the way type conversion functions are called so the caller doesn't have to check for data type debugging and increment type conversion timers and statistics. Changed check for no-op conversion since it is now application-definable and there may even be more than one definition at a time in a multi-threaded application (one thread might be using the no-op conversion path when some other thread changes its definition -- the first thread still sees the original defintion until it's done with the operation). ./doc/html/Datatypes.html Updated the user guide to reflect the changes to data type conversion registration functions. ./bin/trace ./src/H5.c Added tracing support for the new H5T_pers_t data type. ./test/dtypes.c Added printf to display alignment value if non-aligned data types are being tested. ./test/h5test.c Modified the H5Tunregister() calls to use the new arguments. All 94 of those calls can be replaced by a single call to the new H5Tunregister() function. ./src/H5.c Added HAVE_GETTIMEOFDAY around an auto variable and initialized the elapsed time to zero when gettimeofday() is not available. ./src/H5F.c ./src/H5Fprivate.h ./src/H5P.c Added an H5*_init() functions which do the same thing as H5*_init_interface() but can be called from other packages and don't do anything if the interface is already initialized. This fixes a couple memory leaks in applications that repeatedly close and open the library with H5close(). ./src/H5Tconv.c Optimized some data alignment code in the hardware conversion functions. Hardware conversions accumulate statistics about source and destination data alignment and print that information when the conversion function is unregistered (usually when the application exits) if data type debugging is compiled into the library and enabled at run-time. The conversion caching was cleaned up for the compound data type conversion function. It now caches conversion paths in a manner that will be MT-safe and is much simpler than the old method. Also cleaned up some array index maps. ./src/H5detect.c Fixd mispelling of alingemnt. ./src/H5private.h Changed `TRUE' to `1' in assignment to interface_initialize_g in FUNC_ENTER macro definition. ./tools/testh5dump.sh Completely rewritten to make it shorter, better documented, and conforming to most of the other test outputs. The comparison of the actual output with the expected output is insensitive to differences in white space. The test now passes for the first time on Linux where the output width wasn't as expected but the output was otherwise correct. ./tools/testfiles/tall-1.ddl ./tools/testfiles/tall-2.ddl ./tools/testfiles/tall-3.ddl ./tools/testfiles/tattr-1.ddl ./tools/testfiles/tattr-2.ddl ./tools/testfiles/tattr-3.ddl ./tools/testfiles/tattr-4.ddl ./tools/testfiles/tcomp-1.ddl ./tools/testfiles/tcomp-2.ddl ./tools/testfiles/tcomp-3.ddl ./tools/testfiles/tcomp-4.ddl ./tools/testfiles/tdset-1.ddl ./tools/testfiles/tdset-2.ddl ./tools/testfiles/tdset-3.ddl ./tools/testfiles/tdset-4.ddl ./tools/testfiles/tgroup-1.ddl ./tools/testfiles/tgroup-2.ddl ./tools/testfiles/tgroup-3.ddl ./tools/testfiles/tlink-1.ddl ./tools/testfiles/tlink-2.ddl ./tools/testfiles/tlink-3.ddl ./tools/testfiles/tlink-4.ddl ./tools/testfiles/tlink-5.ddl ./tools/testfiles/tslink-1.ddl ./tools/testfiles/tslink-2.ddl Changed `../h5dump' to just `h5dump'. ./config/alpha-dec-osf4.0 Added more warning and optimization switches to the native compiler.
* [svn-r968] Changes since 19981207Robb Matzke1998-12-141-205/+445
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./MANIFEST Added tcompound2.{dmp,h5} and tdset2.{dmp,h5} used by the h5toh4 testing. ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] Added check for <sys/timeb.h> for Win32. Determines sizeof(char) just so we have a complete list of type sizes defined as preprocessor symbols. ./src/H5detect.c ./src/H5T.c ./src/H5Tpkg.h Detects alignment constraints. In order for this to work the operating system must not correct unaligned data (for instance, on the DEC Alpha one might need to say `uac p sigbus' before running H5detect). ./src/H5private.h Includes <signal.h> because it's needed by H5detect.c to detect alignment constraints. ./src/H5Tconv.c Added extra checks to all hardware conversion functions so they align data when necessary before the conversion. This slows down the conversions somewhat but they're still much faster than the software conversions. ./test/dtypes.c By setting a constant at the top of the source you can test conversions where the data is aligned on various byte boundaries. By setting a constant at the top of the source you can simulate architectures that have alignment constraints on architectures that don't. Changed typo SIZEOF_LDOUBLE to SIZEOF_LONG_DOUBLE in a few places.
* [svn-r952] Changes since 19981125Robb Matzke1998-11-251-26/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./doc/html/Datatypes.html ./src/H5.c ./src/H5T.c ./src/H5Tconv.c ./src/H5Tpkg.h ./src/H5Tpublic.h ./src/H5detect.c ./test/chunk.c ./test/dtypes.c ./test/h5test.c ./test/mtime.c ./test/tattr.c ./test/th5s.c ./tools/h5dump.c ./tools/h5dumputil.c ./tools/h5import.c ./tools/h5ls.c ./tools/h5toh4.c ./tools/h5tools.c Renamed the old H5T_NATIVE_CHAR type to H5T_NATIVE_SCHAR to denote that it is always signed. Added a new H5T_NATIVE_CHAR type which has the same range, representation, and behavior as either H5T_NATIVE_SCHAR or H5T_NATIVE_UCHAR depending on the compiler and its command-line switches for the application source file which references H5T_NATIVE_CHAR. If source files are compiled with different switches then each source file will resolve H5T_NATIVE_CHAR appropriately so it matches the C type `char' in that source file. NOTE: THERE ARE OTHER DOCUMENTATION FILES THAT I DIDN'T CHANGE BECAUSE I CAN'T MODIFY THE SOURCE. ./test/extend.c Swapped two lines to prevent diagnostic messages from messing up the formatted output.
* [svn-r951] Removed warning about unused static function.Robb Matzke1998-11-251-0/+2
|
* [svn-r949] Changes since 19981124Robb Matzke1998-11-251-192/+378
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./src/H5T.c Fixed a typo in the registration of the `unsigned char' to `unsigned long long' type conversion that caused it to not be registered, falling back to software whenever that conversion path was taken. ./MANIFEST ./test/Makefile.in ./test/testhdf5.c ./test/testhdf5.h ./test/theap.c [REMOVED] ./test/lheap.c [NEW] ./test/tohdr.c [REMOVED] ./test/ohdr.c [NEW] ./test/tstab.c [REMOVED] ./test/stab.c [NEW] Removed the `t' from the front of these names and made each test a stand-alone program following the format of most of the other tests. ./test/big.c Uses libh5test.a but always sets the low-level driver to 1GB file family. The `#if' near the top to set the data space to 8GB has been simplified now that `long_long' is always defined and the error message is improved when `long_long' isn't wide enough. Cleanup code was added to the error handling. ./test/gheap.c ./test/istore.c Uses libh5test.a. Added error cleanup code. ./test/dtypes.c ./test/h5test.c Added 68 new tests that check hardware and software conversions between `long long' and `unsigned long long' and the other integer types. The tests only run on machines where sizeof(long_long)!=sizeof(long). We test a total of 180 different integer conversions, half in hardware and half in software. Cut down the number of times each test is run from 5 to 1 so it doesn't take so long. If you want to run more times there's a constant that can be changed at the top of the file. ./test/extend.c Removed unused variable. ./test/h5test.c ./test/h5test.h ./test/external.c ./test/fillval.c The h5_cleanup() returns true/false so it can be used in an `if' statement to clean up additional files. ./doc/html/Environment.html Indented. Added HDF5_PREFIX and HDF5_DRIVER descriptions. ./src/H5P.c Changed the trace type for the second argument from `Iu' to `x' since it's an output parameter. ./INSTALL Added a warning that the GNU zlib that comes with the latest version of HDF4 is too old to use with HDF5 and must be renamed so configure doesn't see it when `--enable-hdf4' is used.
* [svn-r936] Changes since 19981119Robb Matzke1998-11-211-414/+229
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./src/H5.c ./src/H5A.c ./src/H5AC.c ./src/H5B.c ./src/H5D.c ./src/H5E.c ./src/H5F.c ./src/H5Farray.c ./src/H5Fcore.c ./src/H5Ffamily.c ./src/H5Fistore.c ./src/H5Flow.c ./src/H5Fmpio.c ./src/H5Fsec2.c ./src/H5Fsplit.c ./src/H5Fstdio.c ./src/H5G.c ./src/H5Gent.c ./src/H5Gnode.c ./src/H5Gstab.c ./src/H5HG.c ./src/H5HL.c ./src/H5I.c ./src/H5Iprivate.h ./src/H5MF.c ./src/H5MM.c ./src/H5O.c ./src/H5Oattr.c ./src/H5Ocomp.c ./src/H5Ocont.c ./src/H5Odtype.c ./src/H5Oefl.c ./src/H5Ofill.c ./src/H5Olayout.c ./src/H5Omtime.c ./src/H5Oname.c ./src/H5Osdspace.c ./src/H5Oshared.c ./src/H5Ostab.c ./src/H5P.c ./src/H5R.c ./src/H5RA.c ./src/H5S.c ./src/H5Sall.c ./src/H5Shyper.c ./src/H5Smpio.c ./src/H5Snone.c ./src/H5Spoint.c ./src/H5Sselect.c ./src/H5T.c ./src/H5TB.c ./src/H5Tbit.c ./src/H5Tconv.c ./src/H5V.c ./src/H5Z.c ./src/H5detect.c ./src/H5private.h Most of these changes are because the `interface_initialize_g' variable change from hbool_t to int. It's a one line change. Changed the way the library is closed so we have more control over the order the interfaces are shut down. Instead of registering an atexit() function for every interface in some haphazard order we just register one: H5_term_library() which then calls the H5*_term_interface() functions in a well-defined order. If the library is closed and then reopened repeatedly by calling H5close() and H5open() in a loop we only add one copy of the library termination functions with atexit(). Termination is a two-step process in order to help detect programming errors that would cause an infinite loop caused by the termination of one interface waking up some other previously terminated interface. The first step terminates the interface and *marks it as unusable*. After all interfaces are terminated then we mark them all as usable again. The FUNC_ENTER() macro has been modified to return failure or to dump core (depending on whether NDEBUG is defined) if we try to call an interface while it's shutting down. ./src/H5.c The H5dont_atexit() function returns failure if it's called more than once or if it's called too late. However, the error stack is not automatically printed on failure because the library might not be initialized yet ./test/chunk.c ./test/flush1.c ./test/flush2.c ./test/iopipe.c ./test/overhead.c ./test/ragged.c Changed the extra cast for Win32 so we do floating point division again -- it was just confusion about precedence and associativity of casting and the C coercion rules. Removed extra carriage returns inserted by broken operating system. ./src/H5Ffamily.c Fixed an bug where H5F_fam_write() lowered the EOF marker for one of the family members causing H5F_fam_read() to read zeros. ./test/h5test.h [NEW] ./test/h5test.c [NEW] ./test/Makefile.in ./test/bittests.c ./test/cmpd_dset.c ./test/dsets.c ./test/dtypes.c ./test/extend.c ./test/external.c Support library for test files. This isn't done yet but Katie's contractions are ~10 minutes apart so I figured I better back this stuff up just in case I'm not here next week... Eventually all test files will understand HDF5_DRIVER to name the low level file driver and parameters so we can easily test various drivers. They will also understand HDF5_PREFIX to prepend to the beginning of file names which is necessary for testing ROMIO with various drivers. Also, the cleanup function will know how to use the file name prefix and will understand different file driver naming schemes like file families. I'm not sure they'll understand the `gsf:' type prefixes yet. Note, the external test is completely commented out because I'm in the middle of modifying it. It will still compile and run but it doesn't test anything at the moment.
* [svn-r929] Changes since 19981119Robb Matzke1998-11-191-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./test/flush2.c ./test/overhead.c Removed carriage-returns inserted by a broken operating system. ./test/big.c ./test/mtime.c ./test/ragged.c ./tools/h5ls.c Removed inclusion of <H5config.h>, system header files, and definition of __unused__ since this all happens in <H5private.h>. ./test/chunk.c ./test/cmpd_dset.c ./test/dsets.c ./test/dtypes.c ./test/extend.c ./test/external.c ./test/fillval.c ./test/flush1.c ./test/flush2.c ./test/iopipe.c ./test/links.c ./test/mount.c ./test/overhead.c ./test/shtype.c ./test/unlink.c ./tools/h5import.c ./tools/h5repart.c Removed inclusion of <H5config.h> since <hdf5.h> includes it. ./test/flush1.c Includes <stdlib.h>, protects inclusion of <unistd.h> by using HAVE_UNISTD_H instead of STDC_HEADERS.
* [svn-r925] Changes since 19981116Robb Matzke1998-11-181-25/+959
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./INSTALL.parallel [NEW] We're beginning to unify some of the parallel installation steps. This file will contain general information for installing the parallel library. It's not complete yet. ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] Check for xdr_int() in libnsl required on Solaris when linking with hdf4. It's found on the Irix system I tested which complains that `-lnsl' didn't resolve any symbols. Oh well. Fixed the order of searching for libdf and libmfhdf for hdf4 linking. ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./src/H5Z.c Check for compress() in libz in order to find older versions of the library that will still work for hdf4. Added a separate check for compress2() that hdf5 will use. ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./src/H5.c ./src/H5private.h ./src/H5A.c ./src/H5B.c ./src/H5Bprivate.h ./src/H5D.c ./src/H5F.c ./src/H5Farray.c ./src/H5Fcore.c ./src/H5Ffamily.c ./src/H5Fistore.c ./src/H5Flow.c ./src/H5Fmpio.c ./src/H5Fprivate.h ./src/H5Fsec2.c ./src/H5Fsplit.c ./src/H5Fstdio.c ./src/H5Gent.c ./src/H5Gnode.c ./src/H5Gpkg.h ./src/H5Gprivate.h ./src/H5HG.c ./src/H5HL.c ./src/H5O.c ./src/H5Oattr.c ./src/H5Ocomp.c ./src/H5Ocont.c ./src/H5Odtype.c ./src/H5Oefl.c ./src/H5Ofill.c ./src/H5Olayout.c ./src/H5Omtime.c ./src/H5Oname.c ./src/H5Oprivate.h ./src/H5Osdspace.c ./src/H5Oshared.c ./src/H5Ostab.c ./src/H5R.c ./src/H5RA.c ./src/H5Sall.c ./src/H5Shyper.c ./src/H5Snone.c ./src/H5Spoint.c ./src/H5Sprivate.h ./src/H5Sselect.c ./src/H5T.c ./src/H5Tbit.c ./src/H5Tconv.c ./src/H5Tpkg.h ./src/H5V.c ./test/bittests.c ./test/gheap.c ./test/hyperslab.c ./test/istore.c ./test/tmeta.c ./test/trefer.c ./test/tselect.c ./tools/h5debug.c ./tools/h5tols.c Added checks for Posix.1g types like `int8_t'. If not defined then H5private.h defines them. Changed all `int8' etc. to `int8_t'. ./src/H5A.c ./src/H5D.c ./src/H5F.c ./src/H5G.c ./src/H5I.c ./src/H5P.c ./src/H5R.c ./src/H5RA.c ./src/H5S.c ./src/H5T.c ./src/H5TB.c ./src/H5Z.c Calling H5*_term_interface() resets interface_initialize_g to FALSE so a subsequent call to H5open() (implied or explicit) reinitializes global variables properly. ./src/H5private.h ./src/H5Oefl.c ./src/H5S.c Changed MAX_SIZET, MAX_SSIZET, MAX_HSIZET, and MAX_HSSIZET to SIZET_MAX, SSIZET_MAX, HSIZET_MAX, and HSSIZE_MAX to they match the Posix.1 constants in <limits.h>. ./src/H5T.c ./src/H5Tconv.c ./src/H5Tpkg.h ./src/H5Tprivate.h ./src/H5detect.c Added 36 more integer hardware conversion functions to the type conversion table for conversions to/from `long long' and `unsigned long long'. The `long long' names will be changed shortly to make them portable to Win32. Changed H5T_init() to H5T_native_open() and added an H5T_native_close() to open and close the predefined native data types. Increased the initial size of the type conversion table from 64 to 128 entries. Reordered the 90 new integer conversion functions so the names that are printed favor `int' over `short' or `long' when two of them are the same. ./test/dtypes.c Added hardware and software integer conversion tests for the 56 functions I added recently but not the additional 36 checked in this time. That will come next. Call H5close() after each test so type conversion statistics are easier to follow. Try this: $ HDF5_DEBUG=t ./dtypes Added more debugging output for when things go wrong. ./src/H5private.h Removed trailing carriage-returns inserted by broken operating system ;-)
* [svn-r859] Changes since 19981030Robb Matzke1998-11-021-16/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./MANIFEST Added new Pablo files HDF5record_RT.h and ProcIDs.h ./acconfig.h ./configure [REGENERATED] ./configure.in ./src/H5.c ./src/H5Vprivate.h ./src/H5config.h.in [REGENERATED] ./src/H5private.h ./src/H5public.h ./test/big.c Added more configuration stuff for the Win32 environment. Removed all the #ifdef WIN32 from the source and replaced them with OS-independent stuff. Specifics follow: Check for non-Posix.1 `st_blocks' field in `struct stat' which is used by the big file test to decide if the file system supports holes. If the st_blocks field isn't present then we just skip the test. Configure checks for <io.h> <sys/resource.h> <sys/time.h> and <winsock.h> and defines HAVE_IO_H, HAVE_SYS_RESOURCE_H, HAVE_SYS_TIME_H and HAVE_WINSOCK_H when they're found. Configure checks whether both <sys/time.h> and <time.h> can be included and defines SYS_TIME_WITH_TIME if so. Otherwise include only <sys/time.h> or <time.h> even if both exist. Configure checks sizeof(__int64) and defines SIZEOF___INT64 to the result or to zero if __int64 isn't defined. The source uses `long long' in preference to `__int64'. Removed null WIN32 definition for `inline' since such a definition already exists in H5config.h Protected gettimeofday() calls in debugging code with HAVE_GETTIMEOFDAY instead of WIN32. ./src/H5F.c ./src/H5Flow.c ./src/H5Fmpio.c ./src/H5Fsec2.c ./src/H5Fstdio.h ./src/H5P.c ./src/H5Tconv.c ./src/H5private.h Removed #include of system files from library source files and consolodated them into H5private.h where they're protected by various configuration macros (most of them were duplicated there already anyway). ./test/big.c ./test/chunk.c ./test/cmpd_dset.c ./test/dsets.c ./test/dtypes.c ./test/extend.c ./test/external.c ./test/fillval.c ./test/flush1.c ./test/flush2.c ./test/iopipe.c ./test/links.c ./test/mount.c ./test/mtime.c ./test/overhead.c ./test/ragged.c ./test/shtype.c ./test/unlink.c Protected system #include's with #ifdef's from H5config.h. Undefined NDEBUG since some of the tests rely on assert() to check return values. Removed WIN32 definitions for __unused__ since this can be controlled by the definition of HAVE_ATTRIBUTE in H5config.h ./test/testhdf5.h Removed the CLEAN_CMD definition because we no longer use it. Albert's cleanup() functions replaced it. ./test/fillval.c Initialized auto hid_t variables to fix warnings in error recovery code when data flow analysis is turned on in compilers. ./test/h5tools.c Initialized an auto variable to fix a compiler warning. ./test/chunk.c ./test/ragged.c The WIN32 had some unsigned variables changed to signed because the compiler generates warnings when coercing unsigned to double(?). I changed them back to unsigned because they really are unsigned quantities. If this the change was just to shut up extraneous warnings then perhaps a compiler flag can do the same; otherwise if the compiler generates bad code then we should supply a patch file instead messing up source code with bug work-arounds. ./src/H5detect.c Protected system #include's with #ifdef's from H5config.h thereby removing a WIN32. If getpwuid() doesn't exist (HAVE_GETPWUID) then we assume that `struct passwd' doesn't exist either (we don't really need it in that case). The H5T_NATIVE_LLONG and H5T_NATIVE_ULLONG are defined in terms of `long long' or else `__int64' or else `long' depending on what's available. ./src/H5Flow.c ./src/H5Ofill.c Added __unused__ to some function arguments that aren't used when assertions are turned off. ./src/H5V.c Changed an auto variable name in some hand-inlined code to get rid of a warning about the variable shadowing a previous auto.
* [svn-r781] Windows NT port-tested on Unix and NTPatrick Lu1998-10-231-0/+7
| | | | | changes: defined __unused__ as nothing, other little changes. all changes are surrounded by #if defined(WIN32)
* [svn-r658] Changes since 19980901Robb Matzke1998-09-031-1/+12
| | | | | | | | | | ---------------------- ./test/dtypes.c Got rid of one of some of the `increases alignment' warnings. ./test/tselect.c Got rid of an unused variable.
* [svn-r601] Changes since 19980814Robb Matzke1998-08-181-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./src/H5Fistore.c Fixed a bug that caused the wrong number of chunk offsets to be read or written from the file. ./src/H5Z.c Fixed a memory bug. ./test/dtypes.c Removed redundant tests. ./bin/snapshot Removed Perl code from a shell script. Oops :-) ./src/H5D.c Removed cvs merge conflicts. ./src/H5Omtime.c Fixed a typo in the Irix5.3 code. ./src/H5S.c Fixed a memory leak. ./src/H5Shyper.c Fixed a bad call to malloc() that didn't allocate enough memory. Reordered a comparison to eliminate an array bounds read error.
* [svn-r584] Changes since 19980806Robb Matzke1998-08-101-0/+339
| | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./doc/html/Datatypes.html ./doc/html/H5.format.html ./src/H5.c ./src/H5Odtype.c ./src/H5T.c ./src/H5Tconv.c ./src/H5Tpkg.h ./src/H5Tpublic.h ./test/dtypes.c Changed the values of the H5T_str_t type in order to make a distinction between C's null terminated strings and strings which are not null terminated. The string character set and padding method are saved to the hdf5 file instead of using defaults. Added conversion function from one fixed-length string type to another. ./test/chunk.c Fixed to work with new filter API
* [svn-r523] Changes since 19980720Robb Matzke1998-07-211-6/+122
| | | | | | | | | | | | | | | ---------------------- ./test/dtypes.c We try to detect whether floating point overflow generates a SIGFPE and if it does we don't test overflow cases. ./test/H5Sprivate.h ./test/H5S.c ./test/H5Oattr.c Added an H5S_debug() which is called from H5O_attr_debug() and which has a switch statement to handle the various data type messages.
* [svn-r515] Changes since 19980715Robb Matzke1998-07-201-1/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./doc/html/H5.format.html ./src/H5Gent.c ./src/H5Gprivate.h ./src/H5Oattr.c ./src/H5Oprivate.h ./src/H5Oshared.c ./src/H5HG.c ./src/H5HGprivate.h Added padding fields in symbol table entries, attribute messages, shared messages, and global heap objects to insure that things are aligned on 8-byte boundaries in the file, and thus in memory. Otherwise some little endian machines complain (DEC Alpha) during encoding/decoding of file meta data. I chose to add alignment to the file rather than rewriting the ENCODE/DECODE macros for the little endian case. Completely rewrote the section on attribute messages. More alignment stuff will follow. ./src/H5detect.c Fixed a typo `nd'->`dn' ./test/dtypes.c Commented out conversion tests to/from `long double' on machines where it's the same size as `double' to get rid of compiler warnings. ./doc/html/Big.html Fixed a couple typos.
* [svn-r485] Changes since 19980710Robb Matzke1998-07-131-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./Makefile.in ./config/commence.in ./config/conclude.in ./config/depend.in ./src/Makefile.in ./test/Makefile.in Tests are no longer installed for `make install'. Added a new target `make tests' that builds the tests but doesn't run them. ./configure.in ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] Added detection of fork() and waitpid(). If present the contants HAVE_FORK and HAVE_WAITPID will be defined in H5config.h. ./test/dtypes.c Minor tweaks for systems that don't have fork() or waitpid(). ./MANIFEST ./tools [NEW] ./tools/Makefile.in [NEW] ./tools/h5debug.c [NEW] ./tools/h5import.c [NEW] ./tools/h5ls.c [NEW] ./tools/h5repart.c [NEW] Added a tools directory and moved tools from the src directory to here.
* [svn-r460] Changes since 19980707Robb Matzke1998-07-071-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./bin/trace ./src/H5.c ./src/H5private.h ./src/H5A.c ./src/H5D.c ./src/H5F.c ./src/H5G.c ./src/H5P.c ./src/H5Pprivate.h ./src/H5S.c ./src/H5T.c Output-only arguments have their addresses printed during tracing and added symbolic output for the H5F_driver_t arguments. That's another reason that we should be careful to add `/*out*/' after arguments that are output-only and `/*in,out*/' after arguments that are used for both input and output values. No internal function calls H5Pget_class() anymore. ./src/H5T.c ./src/H5Tconv.c ./src/H5Tpkg.h ./src/H5Tpublic.h Added H5Tget_overflow() and H5Tset_overflow() so the application can query or set a function that will be called whenever an overflow occurs. Implemented as documented in previous e-mail except the overflow handler gets two buffers: one that contains the source value and one to receive the optional destination value. ./test/dtypes.c Tests overflow handler. ./src/H5.c We have to declare fdopen() because I'm getting errors when compiling on Irix64 even though we include <stdio.h> as documented in the fdopen() man page.
* [svn-r454] Changes since 19980702Robb Matzke1998-07-061-53/+158
| | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./src/H5T.c Prints statistics for no-op conversions also. For now, hardware floating point conversions may or may not raise SIGFPE depending on the hardware, operating system, etc. Software conversions never raise SIGFPE and use +Inf or -Inf for overflow. ./test/dtypes.c Catches SIGFPE and causes the test to be skipped. Better test for NaN. ./config/irix5.3 Removed the -U_POSIX_SOURCE because it was removed from the main makefiles. ./bin/trace ./src/H5S.c Fixed a typo that prevented tracing info from being added to new API functions.
* [svn-r447] Oops, turned data type tests off again until I get the SIGFPE thingRobb Matzke1998-07-031-1/+1
| | | | sored out.
* [svn-r446] Changes since 19980702Robb Matzke1998-07-031-5/+27
| | | | | | | | | | | ---------------------- ./MANIFEST Added new files from testpar directory. ./config/commence.in Removed -D_POSIX_SOURCE because hdf5 uses a couple of non-Posix things when certain debugging flags are switched on.
* [svn-r437] Changes since 19980612Robb Matzke1998-06-301-9/+342
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./src/H5Tbit.c ./src/H5Tpkg.h Fixed a bug in H5T_bit_copy(). Added H5T_bit_get_d() and H5T_bit_set_d() which treat portions of a bit vector as an unsigned integer. Added H5T_bit_inc() that increments part of a bit vector and returns an indication of overflow. ./src/H5Tconv.c ./src/H5Tpkg.h ./test/dtypes.c Added a slow general floating point conversion which works so far on Intel, MIPS, and DEC but the test is turned off because a cast from double to float will cause a SIGFPE on some systems if an overflow occurs. Added fast hardware conversions between native floating point types. This function is also subject to the SIGFPE problem. ./src/H5detect.c Removed the exponent bias adjustment when the significand isn't normalized. This is now handled in the conversion functions instead. ./src/H5T.c Register new conversion functions. Plugged a memory leak in the library termination code. ./RELEASE Added a list of major changes since the first alpha. ./src/H5.c ./src/H5private.h ./src/H5A.c ./src/H5AC.c ./src/H5D.c ./src/H5Ffamily.c ./src/H5Fistore.c ./src/H5G.c ./src/H5Gprivate.h ./src/H5HG.c ./src/H5O.c ./src/H5T.c ./src/H5Tbit.c ./src/H5Tconv.c Fixed various compiler warnings on Irix64. ./src/H5MM.c Added PABLO_MASK to this file. ./test/chunk.c Removed a warning about memcpy().
* [svn-r432] Changes since 19980617Robb Matzke1998-06-181-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./html/Datatypes.html ./src/H5T.c ./src/H5Tconv.c ./src/H5Tpkg.h ./src/H5Tpublic.h ./src/H5detect.c ./test/cmpd_dset.c ./test/dsets.c ./test/dtypes.c ./test/external.c ./test/tattr.c ./test/th5s.c Organized the predefined data types. ./html/H5.intro.html NO MODIFICATIONS! This file is a mess (obviously generated from something else) so I skipped updating it! ./src/h5ls.c ./test/dsets.c ./test/tattr.c ./test/th5s.c Added extra argument to H5Sget_dims() calls per Albert's last update.
* [svn-r429] Changes since 19980616Robb Matzke1998-06-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./html/tracing.html NEW This entire update is to make it possible for the library to print the name, arguments, and return value of every API call without requiring any extra work from developers or app programmers. This file describes how this all works. ./configure.in Added the `--enable-tracing' switch. If you use it then the library will include code to print API function names, argument names and values, and function return values. However, you must then turn on the tracing by setting the HDF5_TRACE environment variable to a file descriptor number. The default is `--disable-tracing' since enabling it causes a slight increase in library size and a slowdown resulting from an extra function call for each API function call (I couldn't even measure the slowdown :-) ./bin/trace NEW A perl script that synchronizes the H5TRACE() macro calls in the *.c files with the function return type and formal argument names and types. If you use GNU make and gcc then this will be done automatically, otherwise just invoke this script with the names of one or more .c files. You could do it by hand to, but encoding argument types is a little tricky at first. ./config/commence.in Added the $(TRACE) macro, which defaults to the no-op. Added -D_POSIX_SOURCE to the compiler command line. ./src/Makefile.in Override the default for $(TRACE). ./config/depend.in Automatically calls $(TRACE) to synchronize the H5TRACE() macros in any source file that changed. As with makefile dependencies, one way to force synchronization of all files is to remove the `.depend' file. ./MANIFEST Added new files. ./src/H5Eprivate.h Modified HRETURN_ERROR() and HRETURN() for tracing. ./src/H5.c ./src/H5private.h This is where the real tracing work really happens, in H5_trace(). ./src/H5A.c ./src/H5D.c ./src/H5G.c ./src/H5P.c ./src/H5S.c ./src/H5Z.c Added H5TRACE() calls to all API functions. You don't really need these changes if you don't want to merge your stuff because they can be generated automatically by going to the hdf5/src directory and saying ../bin/trace *.c ./src/H5T.c Added H5TRACE() calls. Other stuff below. ./src/H5E.c ./src/H5Epublic.h Added H5TRACE() calls. Created a type H5E_auto_t for the `func' argument of H5Eset_auto() and H5Eget_auto() to make those arguments easier to parse for tracing. It should also make it clearer for users that don't know how to read complicated ANSI data types. ./src/H5F.c Added H5TRACE() calls. Changed a couple `uintn' argument types in API functions to `unsigned int' since `uintn' part of the API. Changed a few "can't" and "cant" error messages to "unable to". ./src/H5Ipublic.h Removed H5_DIRECTORY from the H5I_group_t enum. It wasn't used anywhere. ./src/H5Tconv.c Removed an unused label. ./src/H5Fistore.c ./src/H5Oattr.c ./src/H5Odtype.c ./src/H5T.c ./test/dsets.c ./test/dtypes.c Fixed a warning about a variable possibly used before it's initialized. Added __unused__ to turn off some unused argument warnings that pop up when debugging is turned off and optimizations are turned on.