summaryrefslogtreecommitdiffstats
path: root/tools/h5ls.c
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r2967] Purpose:Bill Wendling2000-11-171-1/+1
| | | | | | Spelling Fix Description: Changed ``dispalyed'' to ``displayed'' in usage message.
* [svn-r2938] Purpose:Albert Cheng2000-11-151-0/+3
| | | | | | | | | | | | | pathc Description: TFLOPS coredumped on h5ls because when h5ls calls ioctl(TIOCGWINSZ), the ioctl() routine coredumped inside. Solution: It is likely that TFLOPS does not support window-size in the compute nodes. Still, it should not coredump. Bypass it for TFLOPS for now. Platforms tested: TFLOPS & modi4 (-64)
* [svn-r2866] Purpose:Quincey Koziol2000-11-111-6/+6
| | | | | | | | Code cleanup Description: Found more "Have_foo" usage and converted them to "H5_HAVE_foo" Platforms tested: FreeBSD 4.1.1 (hawkwind)
* [svn-r2845] Purpose:Quincey Koziol2000-11-091-35/+43
| | | | | | | | New Feature Description: Added dumping array datatypes to h5dump and the tool library. Platforms tested: FreeBSD 4.1.1 (hawkwind)
* [svn-r2794] Purpose:Albert Cheng2000-11-031-1/+3
| | | | | | | | | | | | | | | | "bug fix" Description: the h5ls tests sometimes failed because the tool sometimes prints the tool name in the help message as "lt-h5ls" while the expected result has it as "h5ls". This was the tools pulled its name from argv[0]. Solution: Hardcode the progname as "h5ls" and blocked out the code that pulls the program name from argv[0]. The better solution is to find a way to create the real binary with the orginal tool name. Platforms tested: linux
* [svn-r2790] Purpose:Albert Cheng2000-11-021-0/+4
| | | | | | | | | | | | | | | | new feature Description: h5tools.c: Created h5tools_init() and h5tools_close() for the initialization of the h5tools library and closing of it. With this, the rawdatastream and other internal structures can be initialized properly. h5tools.h: added prototypes for h5tools_init and h5tools_close. h5dump.c: h5ls.c: Added the calls for h5tools_init() and h5tools_close(). Platforms tested: IRIX64 -64 parallel and Linux
* [svn-r2785] ./hdf5/tools/h5ls.cRobb Matzke2000-10-311-5/+0
| | | | | | * 2000-10-31 Robb Matzke <matzke@llnl.gov> (main) Backed out last change -- h5ls is a serial application and is never run with mpirun.
* [svn-r2781] ./hdf5/tools/h5ls.cRobb Matzke2000-10-311-0/+4
| | | | | | | * 2000-10-31 Robb Matzke <matzke@llnl.gov> (main) Added calls to MPI_Init() and MPI_Finalize() for parallel versions in order to prevent errors about unrecognized command-line options.
* [svn-r2776] ./hdf5/tools/h5ls.cRobb Matzke2000-10-311-0/+7
| | | | | | | * 2000-10-31 Robb Matzke <matzke@llnl.gov> (dump_dataset_values) The `float' and `double' values are displayed with the full precision instead of just the default `%g'.
* [svn-r2412] Fixed a variety of problems with the new H5ToolsFopen() function.Robb Matzke2000-06-231-5/+2
| | | | | | | | | | | | | | | | | | | | 1. The `driver' table is initialized only once, making it faster and leaking less memory. 2. The returned driver name is set to the empty string on failure. 3. Added an argument so the function cannot overwrite the end of the drivername return value. 4. Avoids core dump when assigning driver name to return value if the file could not be opened by any driver. 5. Changed name of function to h5dump_fopen() to follow the naming scheme for this source file. 6. Reindented according to hdf5 code standard. 7. Added `const' qualifiers to read-only formals. 8. Removed duplicate forward declaration. Reindented some parts of these source files that had very odd indentation (some lines had no indentation while others had 3x what they should). Fixed calls to H5ToolsFopen() function.
* [svn-r2341] took the code out of h5ls to open files using different drivers ↵Patrick Lu2000-06-061-42/+10
| | | | | | | | | and created a function in the tools library for it(H5ToolsFopen-takes a filename and a char ptr if you want the name of the driver) added the function to h5tools.c, a header to h5tools.h and changed h5ls.c and h5dump.c to use the new functions
* [svn-r2211] took the development branch code and moved it into the release. ↵Patrick Lu2000-05-031-4/+9
| | | | | | | had to add some conditional compile statements in the code to compile for the release. defined a VERSION12 and VERSION13 macro. all changes were surrounded by these statements
* [svn-r2180] ./src/tools/h5tools.cRobb Matzke2000-04-211-6/+2
| | | | | | | Added hyphen to version printf format. ./src/tools/h5ls.c Calls print_version() instead of doing it by hand.
* [svn-r2089] ** tools/h5ls.cRobb Matzke2000-04-071-2/+3
| | | | | | | | | | | | Prints the subrelease name also. ** tools/h5tools.c Fixed indentation problems in the first half of the file. Changed conditional compilation style from `/*...*/' to use #if 0/#endif in the first half of this file. Removed some extra parentheses to make expressions more readable.
* [svn-r1986] entered a value for the info.line_indent value and moved some of ↵Patrick Lu2000-02-231-10/+11
| | | | | | the other definitions out of the conditionals. fixed the bug for the SDScompound.h5
* [svn-r1973] fixed the dataset regions problem with the dumper.Patrick Lu2000-02-171-0/+11
| | | | | | now the dump structure contains 2 extra members that tell how to format the data for the dataset regions(blocks and pts). had to give h5ls values for these
* [svn-r1957] removed the program type variable from the filePatrick Lu2000-02-151-5/+2
|
* [svn-r1732] Changes since 19991007Robb Matzke1999-10-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./src/H5FDcore.c Includes private headers instead of public in order to use the `UNUSED' macro. ./src/H5FDpublic.h Includes H5public.h just in case. ./src/H5P.c Removed two unused variables in H5P_copy() ./src/H5FDgass.h Fixed a C++ comment after a `#endif' ./src/Makefile.in The H5FDgass.h file is public and must be installed in order for applications to be able to use HDF5. ./tools/h5tools.c Removed an unused variable.
* [svn-r1697] Changes since 19990915Robb Matzke1999-09-301-14/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./src/H5public.h We undefine a bunch of things that could get redefined in the config file because some customers have applications that include headers from multiple packages, all of which might be using autoconf. Include <stdint.h> for the C9x types. ./test/h5test.h More flushing of stdout for when testing is redirected down a pipe. ./tools/h5ls.c Added a `-S' or `--simple' switch which causes the output to be simplified somewhat for easier parsing by other scripts. For instance, characters are escaped using a very simple mechanism instead of C's more complicated backslash notation, data doesn't have `{}' or `[]' characters interspersed for compound and array types, and data is printed with exactly one element per line. This switch is now used by an HDF5-to-HTML CGI script being developed for the DMF people. ./tools/h5tools.c ./tools/h5tools.h The repeat threshold which controls how strings are printed when a character repeats a bunch of times is now settable at runtime instead of compile time. The default is to show all characters, like "abceeeeeeeeeeeeeeeeeeeeeeeeeeeeeefgh" But if you set it to something like 5 then any sequence of 5 or more characters is replaced by something shorter, like: "abc" 'e'x30 "fgh" or Added an `str_locale' property which describes how to escape special characters in strings. The default is C-like escapes but an alternative is ESCAPE_HTML which replaces all non-alphanumeric characters with a 3-character HTML escape of the form `%XX' Fixed a bug where empty strings didn't even have the quote characters printed. Now empty strings show up as `""' instead of absolutely nothing. Added a `per_line' property which controls the maximum number of elements which will appear per line of output. The default is infinity but in practice the right margin causes line breaks. By setting the `per_line' value to one and the right margin to a very large value one can achieve output with exactly one element per line.
* [svn-r1693] removed the last warnings from herePatrick Lu1999-09-291-2/+2
|
* [svn-r1668] same fixes that were done on the release branch.Patrick Lu1999-09-271-2/+2
| | | | just casted the isdigit and isprintf parameter
* [svn-r1602] Changes since 19990825Robb Matzke1999-08-261-0/+1
| | | | | | | | | | | | | | ---------------------- ./src/H5O.c [1.2, 1.3] Initialzed the padding area between the end of a message and the end of the space allocated for that message. This hopefully fixes an UMR error found by Quincey and prevents the file from containing unwanted data. ./tools/h5ls.c [1.2, 1.3] Fixed a bug where the `Data:' tag didn't get printed for attributes that have more than five values.
* [svn-r1585] Changes since 19990820Robb Matzke1999-08-241-18/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./src/H5D.c Added additional elements to a variable initializer in H5Dvlen_get_buf_size() to shut up a warning message. Also added the API tracing call. ./src/H5F.c Added file opening optimizations. If the driver doesn't support the ability to determine when two file handles refer to the same file (like MPIO and GASS) then H5F_open() makes fewer calls to the driver's open callback. Also, if the tentative file access flags are the same as the original flags then H5F_open() makes fewer calls to the file device. ./src/H5FD.c ./src/H5FDprivate.h ./src/H5FDpublic.h Added H5FD_get_class() so the library can get information about what file driver callbacks are defined. This will be useful when more optimization functions are added to the VFL, such as for MPIO derived datatype I/O. ./src/H5FDcore.c ./src/H5FDfamily.c ./src/H5FDmpio.c ./src/H5FDmulti.c ./src/H5FDsec2.c The driver symbols (like H5FD_CORE, etc) are actually function calls. The functions were fixed to return correct values even after calling H5close(). ./src/H5FDmulti.c ./src/H5FDmulti.h Added support for opening a file when parts are missing (only if the caller explicitly allows that in the file access property list). Moved some common code sequences into macros or functions. Added better support for reopening files. All the application has to know is that the file is a multi file and the base name from which all the member names are created. More debugging output when the file is opened with the H5F_ACC_DEBUG flag. Fixed various bugs. ./src/H5Fistore.c Chunked raw data was accidently allocated as meta data instead of raw data. ./src/H5I.c The H5Iget_type() function fails when invoked with an old object ID (an ID which has been closed down). ./test/h5test.c Added an extra argument when setting the multi file access property lists so the test fails if it can't open one of the sub-files. ./tools/h5ls.c Improved the algorithm for deciding what file driver to use. It basically tries all of the predefined drivers and is now able to open family, split, and multi files without looking for special characters in the file name. Added `-e' and `--errors' switches which cause errors from libhdf5 to be reported on stderr in addition to the simple error message displayed by h5ls.
* [svn-r1568] Changes since 19990730Robb Matzke1999-08-101-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- This extensive change is the virtual file layer implementation. I've ported and tested the sec2, family, and core drivers and only ported the mpio driver (Albert will test it). So if you need MPIO I would recommend sticking with the previous version for a while. You will get a few compile warnings about split and stdio drivers not being implemented and possibly tracing information not inserted in some of the drivers. You can safely ignore them but I plan to fix them. I'm still working on the split driver because I just realized that it needs a part of the VFL that isn't written yet. Documentation is being updated also because there were some minor changes (mostly just name changes). It should be available on my web site later this week. ./MANIFEST ./src/Makefile.in ./src/hdf5.h ./src/H5Flow.c [REMOVED] ./src/H5Fstdio.c [REMOVED] ./src/H5Fsec2.c [REMOVED] ./src/H5Fsplit.c [REMOVED] ./src/H5Fmpio.c [REMOVED] ./src/H5Ffamily.c [REMOVED] ./src/H5Fcore.c [REMOVED] ./src/H5MFpublic.h [REMOVED] ./src/H5FD.c [NEW] ./src/H5FDcore.c [NEW] ./src/H5FDcore.h [NEW] ./src/H5FDfamily.c [NEW] ./src/H5FDfamily.h [NEW] ./src/H5FDmpio.c [NEW] ./src/H5FDmpio.h [NEW] ./src/H5FDprivate.h [NEW] ./src/H5FDpublic.h [NEW] ./src/H5FDsec2.c [NEW] ./src/H5FDsec2.h [NEW] Removed/added files for virtual file layer. ./bin/trace ./src/H5.c Removed unused public datatypes and added new VFL public datatypes. Changed an error message. ./config/BlankForm ./config/dec-flags ./config/gnu-flags ./config/hpux10.20 ./config/hpux9.03 ./config/irix5.x ./config/irix6.x ./config/solaris2.x ./config/unicosmk Removed the H5F_OPT_SEEK and H5F_LOW_DFLT constants from the configuration since they're no longer applicable. The default file driver is always the sec2 driver and it always optimizes calls to lseek() or lseek64(). ./config/depend.in C preprocessor errors generated during automatic dependency building are sent to /dev/null to prevent them from appearing twice in the make output. ./src/H5AC.c ./src/H5B.c ./src/H5D.c ./src/H5F.c ./src/H5G.c ./src/H5Gent.c ./src/H5Gnode.c ./src/H5HG.c ./src/H5HL.c ./src/H5O.c ./src/H5Oattr.c ./src/H5Odtype.c ./src/H5Oefl.c ./src/H5Oshared.c ./src/H5T.c ./src/H5detect.c ./test/ohdr.c Changed H5F_ADDR_UNDEF to HADDR_UNDEF to be more consistent with the `haddr_t' datatype which is now a public type. ./src/H5D.c ./src/H5P.c ./src/H5Ppublic.h ./src/H5Tconv.c ./test/cmpd_dset.c ./test/dsets.c ./test/overhead.c ./test/tselect.c ./test/tvltypes.c The H5P_DATASET_XFER constant was changed to H5P_DATA_XFER because the properties apply to all types of I/O operations, not just datasets. ./src/H5B.c ./src/H5Bprivate.h ./src/H5D.c ./src/H5Dpublic.h ./src/H5F.c ./src/H5Farray.c ./src/H5Fistore.c ./src/H5Fprivate.h ./src/H5Fpublic.h ./src/H5Gnode.c ./src/H5Gpkg.h ./src/H5HG.c ./src/H5HL.c ./src/H5O.c ./src/H5R.c ./src/H5Sall.c ./src/H5Shyper.c ./src/H5Smpio.c ./src/H5Spoint.c ./src/H5Sprivate.h ./test/big.c ./test/h5test.c ./test/istore.c ./testpar/t_dset.c ./testpar/t_file.c ./tools/h5debug.c ./tools/h5ls.c Modified to work with the virtual file layer by calling H5FD_* functions instead of H5F_low_* functions and by passing file access and data transfer properties by object ID instead of pointer. Changed H5D_transfer_t to H5FD_mpio_xfer_t since the COLLECTIVE vs. INDEPENDENT transfer mode is specific to the MPIO file driver. Moved MPIO-specific stuff into the MPIO driver. ./src/H5B.c ./src/H5D.c ./src/H5Fprivate.h The H5F_mpio_* private functions were renamed and placed in the H5FDmpio driver except those which appeared in H5Smpio.c. ./src/H5E.c ./src/H5Epublic.h Added major error number H5E_VFL for virtual file layer related errors. ./src/H5F.c ./src/H5Fprivate.h Changed the logic that controls whether the boot block is written. Instead of assuming that the first call to write the boot block is only to allocate space, I've added a function argument which makes this explicit. Changed the way files are compared so that a driver-defined comparison function can be called. Files which belong to different drivers are always considered different. Removed H5F_driver_t since file drivers are now identified by object ID instead of a special non-user-extendible datatype. Removed all the hard-coded low-level file properties which have been replaced by the various file drivers. ./src/H5I.c ./src/H5Iprivate.h Added the H5I_inc_ref() which was removed a few months ago since we finally have a use for it. ./src/H5Ipublic.h Added the H5I_VFL object ID type to identify file drivers in the virtual file layer. ./src/H5MF.c ./src/H5MFprivate.h Moved all the allocation/deallocation code into the virtual file layer which allows file drivers to override much of it. ./src/H5P.c ./src/H5Ppublic.h Moved file driver-specific code into the various file driver files. The H5Pcopy() and H5Pclose() functions make calls into the virtual file driver to manage the memory for driver-specific file access and data transfer properties. ./src/H5private.h ./src/H5public.h The `haddr_t' type is now public. ./test/tfile.c Added a few more comments.
* [svn-r1477] ./h5ls.c [1.2, 1.3]Robb Matzke1999-07-131-8/+7
| | | | Fixed usage message.
* [svn-r1420] Modified to add new dataset transfer property list ID in ↵Quincey Koziol1999-07-031-1/+1
| | | | H5Tconvert.
* [svn-r1347] Robb Matzke1999-06-151-38/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes since 19990614 ---------------------- ./src/H5D.c Changed the way the plist_id argument of H5Dvlen_reclaim() is checked so that it's more specific and works when debugging is turned off. ./src/H5TB.c Removed an unused local variable. ./test/fillval.c ./test/h5test.c ./test/h5test.h Changed `basename' variables to `base_name' to prevent a warning about a global with the same name. ./tools/h5ls.c Changed `indent' variables to `ind' to prevent a warning about a global with the same name. ./tools/h5toh4.c Commented out declarations for things that normally appear in system header files since our definitions might be incompatible with the system and prevent h5toh4 from compiling. If all looks good on other systems then we can permanently remove these declarations...
* [svn-r1341] Robb Matzke1999-06-141-68/+185
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes since 19990611 ---------------------- ./doc/html/H5.format.html Added documentation for opaque data types (bitfield types were already documented but they were out of order). ./src/H5E.c Fixed a bug with glibc2 on linux systems where `stdout' is an extern and can't be used to initialize static data. ./src/H5T.c ./src/H5Tpkg.h ./src/H5Tpublic.h ./src/H5detect.c Removed the `_T' from the new C9x types I just added so the names are consistent with existing types. Besides, the fact that something is a datatype is obvious because it starts with H5T_NATIVE_. ./tools/h5ls.c Added the new C9x data types. H5ls prints one of these types only if it doesn't match one of the builtin C types. Prints the OID for shared data types. Fixed a formatting bug with symbolic links which was introduced a few changes ago. The commandline has been changed so that objects from multiple files can be listed with a single command. Instead of specifying a file name and an optional list of objects, each thing to print is a file name and object concatenated. H5ls figures out how to devide the name into a file name and object name even when the file name part doesn't correspond to an actual Unix file. Old syntax: h5ls [OPTIONS] FILE [OBJECTS] New syntax: h5ls [OPTIONS] FILE[/OBJECT] [FILE[/OBJECT]]... Example ({X,Y} is expanded by the shell) Old command: h5ls -d ../test/x.data dir1 dir2 New command: h5ls -d ../test/x.data/{dir1,dir2} The filename is printed as part of the object name when full names are requested (--full or --recursive). If people really don't like this they can undefine a constant at the top of h5ls. Errors from the hdf5 library are turned off. Commandline switches of the form `--width 80' are accepted in addition to `--width=80'. This is more symmetric with single-letter switches that take two forms: `-w 80' and `-w80'. ./src/H5D.c Added tracing instrumentation for H5Dvlen_reclaim(). ./src/H5private.h Added casts to int for the isalpha() et al macros to shut up solaris warnings about char subscripts.
* [svn-r1311] Changes since 19990607Robb Matzke1999-06-071-1/+38
| | | | | | | | | | | | | | | | | | | | ---------------------- ./tools/h5ls.c ./tools/h5tools.c Added support for printing bitfields and opaque data. ./test/dsets.c Added bitfield and opaque datasets to the output file so h5ls has something interesting to print. ./test/trefer.c Resync'd ./src/H5Tconv.c Fixed bitfield conversion which resulted in possible garbage in high-order bits of destination when the destination type is larger than the source type. Thanks for spotting it, Quincey.
* [svn-r1309] Changes since 19990607Robb Matzke1999-06-071-8/+7
| | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./tools/h5tools.c Finished code which prints references (object and dataset region). Patrick, if you tell me how h5dump should (or might want to) print references I can make some changes to support various formats... You can try it out with: cd test env HDF5_NOCLEANUP=yes ./testhdf5 ../tools/h5ls -dvr trefer1.h5 ../tools/h5ls -dvr trefer2.h5 (run h5ls with no arguments if you forgot what the switches do) ./test/trefer.c Call calloc instead of malloc in one place to prevent uninitialized data from being written into the file.
* [svn-r1308] Changes since 19990607Robb Matzke1999-06-071-11/+19
| | | | | | | | | | | ---------------------- ./tools/h5ls.c ./tools/h5tools.c ./tools/h5tools.h Finished the `-x' or `--hexdump' switch, which causes all data to be printed in hexadecimal format with no translation from file to memory data type.
* [svn-r1306] Changes since 19990602Robb Matzke1999-06-071-2/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./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-r1301] Patrick Lu1999-06-041-1/+1
| | | | fixed the number of parameters to h5dump_fixtype.
* [svn-r1298] Patrick Lu1999-06-041-0/+3
| | | | | | | added a new variable to the tools lib that keeps track of what program is using the library. h5ls.c and h5dump.c needed to init the variable to the correct value for the programtype variable. this variable will hopefully only be temporary until the lib gets combined farther
* [svn-r1253] started to bring the tools lib and the dumputil file together. ↵Patrick Lu1999-05-131-2/+2
| | | | | | | | | | | | | | | | | | incorportated all the constants and from dumputil to to the tools lib and merged h5dump_fixtype together. I had to add an extra parameter to the function to specify what action should be taken when it hits H5T_STRING in the case statement. if the parameter (strDUAction) is true then it does what it use to do in dumputil but if it is false then it will do what it originally did in this file. I also put the h5dump_sprint functions into the same file. it isn't really merged yet. i just wanted to get everything into a file and then worry about the merging of this function. The toolslib way of h5dump_sprint takes an extra parameter. If this parameter is set to NULL then it will do the dumputil's version of this function. like i said this is just the first step i am taking. it will be merged better later. the rest of the changes to the other files were related to the above changes.
* [svn-r1247] Checked in againRobb Matzke1999-05-041-2/+2
|
* [svn-r1240] Changes since 19990427Robb Matzke1999-04-301-8/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./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-r1224] Changes since 19990426Robb Matzke1999-04-271-5/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./tools/h5tools.c ./tools/h5tools.h Finally fixed a long-standing bug that caused core dumps if a compound datum rendered to more than some number of characters (we kept bumping up the limit at the risk of violating stack size limits on some machines). The fix works only on systems that have the vsnprintf() function (otherwise a 4kB limit is imposed, which if violated probably dumps core). If vsnprintf() is present then the library dynamically allocates space for the output string. Also made it possible to control how compound data is rendered across multiple lines of output by allowing the caller to specify where optional line-breaks get inserted. The output functions split up the value at one or more optional line-breaks to prevent it from wrapping around the screen. If a datum doesn't fit on the current line but would fit on the next line then it is printed on the next line regardless of whether optional line-breaks would have prevent wrapping around the screen. This makes it easier to find the beginnings of compound data values. This feature is disabled by default but can be enabled by the application. If a datum doesn't fit on the current line and the previous datum also occupied more than one line then we move to the next line before printing. This makes it easier to find the beginnings of compound data values but prevents the output from looking fragmented if there are only a few long values among mostly short values. This feature is disabled by default but can be enabled by the application. The application can control the printf() formats used for all the native data types. The defaults are what the library used to use: %g, %ld, %lu, %d, and %u ./tools/h5ls.c Compound datatype values can now be split across multiple lines of output instead of just wrapping. Also, when lots of compound values are too long they all start at the beginning of a line. This only required about 10 lines of changes in the setup for tools library calls (I didn't modify the h5dump program because it uses its own version of the tools library that forked off long ago). Added code for Win32 which is unable to cast `unsigned long long' to `double'. If the dataset size exceeds (2^63)-1 then the percent utilization is not displayed (this is easily possible with chunked datasets). This is untested yet. ./configure.in ./src/H5config.h.in ./src/H5.c ./src/H5private.h Check for vsnprintf() and provide a simple, stupid definition if it isn't available. The stupid definition just calls vsprintf() and ignores the second argument. This can result in buffer overflows in h5ls and h5dump since vsprintf() is an unsafe function (and anyone can create an hdf5 file that runs an arbitrary command from h5ls and h5dump in that case)! ./config/conclude.in Remove more *.o files for `make clean' ./src/H5A.c ./src/H5D.c ./src/H5F.c ./src/H5I.c ./src/H5Iprivate.h ./src/H5P.c ./src/H5R.c ./src/H5RA.c ./src/H5S.c ./src/H5T.c ./src/H5TB.c Cleaned up a memory leak during H5_term_library() by allowing H5I_clear_group() to skip items that couldn't be freed. This allows the item to remain in the group until we can free it later. ./src/H5F.c The H5F_close_all() function fails if a file cannot be closed.
* [svn-r1217] Changes since 19990426Robb Matzke1999-04-261-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./config/commence.in ./examples/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in Fixed some dependency problems in Makefiles. If the library version is updated then everything gets recompiled. ./src/H5G.c ./src/H5R.c Failure return value for object type functions is now H5G_UNKNOWN as documented. ./src/H5Shyper.c ./src/H5Spoint.c Fixed an unused argument warning. ./tools/h5debug.c Fixed a call to H5F_block_read() since the 4th argument is different now. ./tools/h5ls.c Added a space between the object name and class to make the output readable when the object name is longer than 24 characters. C
* [svn-r1204] Changes since 19990415Robb Matzke1999-04-231-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./config/depend.in Fixed automatic dependencies. We were storing dependencies for *.o files instead of *.lo files after shared libraries were added. ./config/gnu-flags ./config/linux-gnulibc1 Moved `-march=pentiumpro -mcpu=pentiumpro -malign-double' from the linux file to this file and caused it to depend on the CPU name. This fixes one of Elena's bugs. ./src/H5B.c ./src/H5Bprivate.h ./src/H5D.c ./src/H5Dprivate.h ./src/H5Dpublic.h ./src/H5F.c ./src/H5Farray.c ./src/H5Fistore.c ./src/H5Fmpio.c ./src/H5Fprivate.h ./src/H5Fpublic.h ./src/H5Gnode.c ./src/H5P.c ./src/H5RA.c ./src/H5Sall.c ./src/H5Shyper.c ./src/H5Smpio.c ./src/H5Spoint.c ./src/H5Sprivate.h ./src/H5Tpublic.h ./test/istore.c Added an H5Dget_storage_size() function that reports the amount of storage allocated for raw data in a dataset. Changed H5D_xfer_* to H5F_xfer_* because these properties are more general than datasets. This also allows some of the lower-level I/O functions to get this information easier. ./src/H5S.c ./src/H5Sall.c Added two new functions H5S_all_read() and H5S_all_write() which are optimizations that copy data directly between file and memory without having to go through the scatter gather step. This knocks quite a bit of time off the I/O and reading/writing entire datasets is a fairly common operation. ./tools/h5ls.c Reports the logical size of data, the allocated size of data, and the percent utilization. ./MANIFEST Removed old pablo files, added new files. Snapshots should now start to work again. ./src/H5D.c ./src/H5Fmpio.c Removed two warnings signed vs. unsigned comparisons and check for overflow.
* [svn-r1184] Changes since 19990402Robb Matzke1999-04-151-13/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./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-r1169] ./configure.inRobb Matzke1999-03-301-12/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ./configure [REGENERATED] ./src/H5D.c ./src/H5O.c Removed H5AC, H5B, and H5T from the default list of packages to debug (because they're pretty expensive debugging), and added H5O. Also fixed a bug for undefined variable in H5D when H5S debugging is turned on but H5T debugging is turned off. ./config/conclude.in Fixed installation of header files for building in a directory other than the source directory. This fixes a bug where H5config.h wasn't being installed. ./src/H5.c ./src/H5A.c ./src/H5D.c ./src/H5F.c ./src/H5G.c ./src/H5I.c ./src/H5Iprivate.h ./src/H5P.c ./src/H5R.c ./src/H5RA.c ./src/H5S.c ./src/H5T.c ./src/H5TB.c ./src/H5Tprivate.h ./src/H5Z.c ./src/H5detect.c ./src/H5private.h Changed the way the library shuts down again. Now it handles cycles between packages and isn't so sensitive to dependencies between packages. A package might shut down only to be restarted to process a request from some other package being shut down. Loops are detected after 100 iteractions and the shutdown is aborted with a message on standard error. This also makes it a lot easier to debug. ./src/H5A.c Fixed H5A_write() and H5A_read() so they pass a non-null background buffer to the conversion functions. This is necessary when an attribute has a compound data type. ./src/H5Flow.c ./src/H5Fprivate.h ./src/H5Fsec2.c Reindented new Win32 stuff. ./src/H5Odtype.c Fixed a bug when enumeration types are used in a compound data type. The byte pointer wasn't incremented after the type information was written. ./tools/h5ls.c Compound data types display their total size because it's not always obvious from looking at the members. Scalar attributes show their space as `scalar' instead of `{}'. The index value is not printed for attributes that have only a few values. Instead the word `Data:' is printed on the first line of attribute data. Named types display their data type only if verbose output was requested.
* [svn-r1117] Changes since 19990303Robb Matzke1999-03-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./configure.in ./configure [REGENERATED] The path for a command is calculated explicitly the hard way because `type -path' isn't portable. ./config/freebsd ./config/linux-gnu ./config/linux-gnulibc2 Changed the way files reference each other. ./config/gnu-flags [NEW] ./config/dec-flags [NEW] These files figure out what flags to pass to certain compilers so we can reuse code in more than one config/* file. They also have better warning messages when old compilers are used. ./config/linux-gnulibc1 ./config/dec-osf4.x These files use the new *-flags files. ./src/H5D.c ./src/H5Onull.c ./src/H5Tconv.c ./tools/h5ls.c Fixed a compiler warning. ./src/H5detect.c Added a better comment to the top of the generated file.
* [svn-r1101] Changes since 19990219Robb Matzke1999-02-251-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./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-r1065] Changes since 19990121Robb Matzke1999-02-151-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./configure.in ./acconfig.h ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./src/H5public.h ./src/H5Omtime.c Check for <stddef.h> Checks for `__tm_gmtoff' in `struct tm' because old versions of GNU libc are different than recent versions. This fixes the failing mtime test. ./bin/config.guess ./config/freebsd2.2.7 [REMOVED] ./config/freebsd [ADDED] Changed the name so it works with all versions of FreeBSD. ./src/H5.c Moved H5F after H5T and H5G in H5_term_library() to satisfy dependencies. ./src/H5G.c Fixed a bug that caused H5Gcreate() to fail if the group name had trailing slashes. ./src/H5Gpublic.h Changed `group_name' to `name' in a prototype. ./src/Makefile.in Dynamic library on Linux, but needs for work to be generally useful. ./src/H5HG.c ./src/H5HGprivate.h Fixed alignment problems when using old GCC compilers (like the one shipped with RedHad Linux). ./tools/h5ls.c Fixed a bug where the contents of the root group could be listed twice if there was a link back to the root group. Similarly for groups that are mentioned on the command line. Fixed a bug where unknown types were printed with a random type class number. ./src/H5T.c ./src/H5Tconv.c ./src/H5Tprivate.h Fixed O(log N) conversion bugs.
* [svn-r1032] Changes since 19990118Robb Matzke1999-01-211-62/+363
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./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-r1012] Changes since 19981217Robb Matzke1999-01-071-4/+109
| | | | | | | | | | ---------------------- ./tools/h5ls.c Displays enumeration type information. ./tools/h5tools.c Displays enumerated data using symbol names.
* [svn-r952] Changes since 19981125Robb Matzke1998-11-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./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-r929] Changes since 19981119Robb Matzke1998-11-191-9/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./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-r928] Changes since 19981118Robb Matzke1998-11-191-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./src/H5.c ./src/H5Smpio.c ./src/H5T.c ./src/H5Tconv.c ./src/H5Tpublic.h ./src/H5detect.c ./src/H5private.h ./src/H5public.h ./test/big.c The `long long' type isn't quite as prevalent as we had hoped; there is at least one system that defines `__int64' but not `long long'. Therefore, I've temporarily changed all occurrences of `long long' to `long_long' and then #define that in H5private.h based on the existence of `long long' or `__int64'. This gets rid of some #ifdef's in other parts of the code. The semantics of the hdf5 types are: *int8_t Exactly one byte *int16_t At least two bytes. We favor 32-bit integers over 16-bit integers if the 16-bit integer is 4-bytes wide (Cray) *int32_t At least four bytes. *int64_t At least eight bytes long_long The widest integral integer type The H5Smpio.c contains debugging code which is non-portable. ./tools/h5ls.c Changed the order native types are detected so we favor the name `int' over `short' or `long' if two of them are the same. ./config/conclude.in Added a rule to make test programs depend on the hdf5 library. This fixes a minor bug where changing H5detect.c and then running `make test' caused H5Tinit.c to not be recompiled and therefore the test files are not relinked.