summaryrefslogtreecommitdiffstats
path: root/tools/lib/h5diff_util.c
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r21658] Purpose:Jonathan Kim2011-10-241-14/+17
| | | | | | | | | | | HDFFV-7770 - h5diff segmentation fault on JPSS files Description: Fixed segfault over non-comparable attribute with different dimention or rank, along with '-c' option to display details. Tested: jam (linux32-LE), koala (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE), Windows, Cmake
* [svn-r20065] Description:Quincey Koziol2011-02-081-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bring changes from Coverity branch to trunk: r19975: Fixed potential mem leak at H5O_attr_open_by_name r19980: Fix coverity issue 792. Free tmp_env_prefix in H5Lexternal.c line 365 if it is not NULL but its contents are 0 when it goes out of scope. r20039: Eliminate warnings about nested extern and implicit declarations of parallel_print and address Coverity defects 712-781 by #including h5tools_utils.h in h5diff_array.c, h5diff_attr.c, h5diff_dset.c and h5diff_util.c. r20046: Purpose: Address TOCTOU warnings in h5jam and h5unjam Description: Coverity is afraid that the state of the input file could change between the call to stat() and the call to open(). This is called a time-of- check time-of-use (TOCTOU) vulnerability. Modified stat calls to fstat which uses an open file pointer so it (hopefully) won't complain any more. r20047: Addressed coverity issues 135-137, 462-464. Local pointers that needed to be freed in case of error were moved out of a switch statement in src/H5Tnative.c, set to NULL, and checked before freeing. Tested on: Mac OS X/32 10.6.6 (amazon) w/debug & production (h5committested on Coverity branch)
* [svn-r19252] Description:Quincey Koziol2010-08-191-70/+0
| | | | | | | | | | | | | | | | | | | | | | | Bring Coverity changes from branch to trunk: r19161: Fixed the part for matching the subset info with dataset r19189: BZ1646: h5dump does not check number of dimensions for subsetting parameters against the dataset Changed subset_t structure from holding hsize_t pointers to holding new subset_d pointers, which hold the original hsize_t pointer + len. this len is then checked against dataset ndims in the handle_dataset function of h5dump. Changed all references to use new data structure. Added tests for each subset parameter. r19190: Added new h5dump ddl files Tested on: Mac OS X/32 10.6.4 (amazon) w/debug & production (h5committested on branch)
* [svn-r18197] Description:Quincey Koziol2010-01-301-2/+2
| | | | | | | | | Trim trailing whitespace from source code files with this command: find . \( -name "*.[ch]" -or -name "*.cpp" -or -name "*.f90" \) -print |xargs -n 1 sed -i "" 's/[[:blank:]]*$//' Tested on: None - eyeballed only
* [svn-r16489] Fixed bug #1459 by eliminating the macro long_long and ↵Allen Byrne2009-02-181-1/+1
| | | | | | | | | | | replacing all instances with long long. Tested: h5comittest fedora 10 x64 Vista 32, VS2005, IVF101 XP32, Cygwin
* [svn-r16352] bug fix: some printf calls instead of parallel_print made some ↵Pedro Vicente Nunes2009-01-271-35/+35
| | | | | | tests to fail tested: linux parallel
* [svn-r16024] For scalar string datasets print the character position when a ↵Pedro Vicente Nunes2008-11-041-7/+15
| | | | | | difference is found instead of a non-existing array position Tested: windows
* [svn-r15989] Merge with 1.8 up to rev 15945Pedro Vicente Nunes2008-10-291-4/+7
| | | | | | Regarding use of unsigned long long print format Tested: linux
* [svn-r15628] Description:Quincey Koziol2008-09-161-8/+8
| | | | | | | | | | | | | Remove trailing whitespace from C/C++ source files, with the following script: foreach f (*.[ch] *.cpp) sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f end Tested on: Mac OS X/32 10.5.5 (amazon) No need for h5committest, just whitespace changes...
* [svn-r14903] Undoing change committed in r14902.Scot Breitenfeld2008-04-301-134/+134
|
* [svn-r14902] Merged fortran_1_8 branch changes r14505:14901 into the trunk. ↵Scot Breitenfeld2008-04-301-134/+134
| | | | New fortran wrappers added.
* [svn-r14733] make 1.8 and 1.6 code equal or similarPedro Vicente Nunes2008-03-131-134/+134
| | | | | | formatted code bug fix: the 1.6 branch did not have a test for the existence of long double type on print_type (print name of datatype) tested: windows, linux
* [svn-r14154] Description:Quincey Koziol2007-09-251-16/+15
| | | | | | | | | | | | | | | | | | | | Finish deprecating last H5G symbol (H5G_obj_t) - yay! Lots of misc. library fixes to remove confusion between links and objects. The tools could still use another pass, to remove h5trav_type_t type and make the correct distinction between links & objects. Tested on: FreeBSD/32 6.2 (duty) in debug mode FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode AIX/32 5.3 (copper) w/FORTRAN, w/parallel, in production mode Mac OS X/32 10.4.10 (amazon) in debug mode
* [svn-r13368] Pedro Vicente Nunes2007-02-211-13/+16
| | | | Added a little format alignment to the printing of dimensions
* [svn-r13253] Updated all C and C++ style source code files with the THG ↵Albert Cheng2007-02-071-2/+3
| | | | | | | | | copyright notice. Tested platform: Kagiso only since it is only a comment block change. If it works in one machine, it should work in all, I hope. Still need to check the parallel build on copper.
* [svn-r12528] Added User-Defined links to the library.James Laird2006-08-021-0/+2
| | | | | | | | | | | | | | Users can create external links using H5L_create_external(). These links point to an object in another HDF5 file. Users can alter the behavior of external links or create new kinds of links by registering callbacks using the H5L interface. Added tests, tools support, etc. Also a number of other, minor changes have been made (some restructuring of the H5L interface, for instance). Additional documentation and examples are forthcoming.
* [svn-r12440] Purpose:Quincey Koziol2006-06-271-7/+7
| | | | | | | | | | | Code cleanup Description: Trim trailing whitespace in Makefile.am and C/C++ source files to make diffing changes easier. Platforms tested: None necessary, whitespace only change
* [svn-r12205] Purpose:Pedro Vicente Nunes2006-04-061-1/+1
| | | | | | | | | | | | | | | | new feature Description: added the printout of the compression ratio for filters in h5repack, after the filter name, obtained with H5Dget_storage_size, before and after applying the filter Solution: Platforms tested: linux solaris AIX Misc. update:
* [svn-r12134] Purpose:Pedro Vicente Nunes2006-03-221-103/+50
| | | | | | | | | | | | | | | | | | bug fix Description: 1) added a more explainative usage message 2) the percent relative error for the integer type (division) was being done using integer arythmetic; use floating point arythmetic instead 3) added a new test for integer percent Solution: Platforms tested: linux (32,64) AIX solaris Misc. update:
* [svn-r12126] Purpose:Pedro Vicente Nunes2006-03-211-64/+0
| | | | | | | | | | | | | | | | | bug fix Description: the compare check for the datatype sign was not done in the correct place, causing invalid comparisons to be made Solution: put it on the correct place Platforms tested: linux 32, 64 AIX Misc. update:
* [svn-r11712] Purpose:Quincey Koziol2005-11-151-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New feature Description: Check in baseline for compact group revisions, which radically revises the source code for managing groups and object headers. WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! This initiates the "unstable" phase of the 1.7.x branch, leading up to the 1.8.0 release. Please test this code, but do _NOT_ keep files created with it - the format will change again before the release and you will not be able to read your old files!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! Solution: There's too many changes to really describe them all, but some of them include: - Stop abusing the H5G_entry_t structure and split it into two separate structures for non-symbol table node use within the library: H5O_loc_t for object locations in a file and H5G_name_t to store the path to an opened object. H5G_entry_t is now only used for storing symbol table entries on disk. - Retire H5G_namei() in favor of a more general mechanism for traversing group paths and issuing callbacks on objects located. This gets us out of the business of hacking H5G_namei() for new features, generally. - Revised H5O* routines to take a H5O_loc_t instead of H5G_entry_t - Lots more... Platforms tested: h5committested and maybe another dozen configurations.... :-)
* [svn-r11259] Purpose:Albert Cheng2005-08-171-4/+15
| | | | | | | | | | | | | | | | | | | | Bug fix Description: ph5diff had been hanging in Tflops. Found out that vsnprintf ph5diff uses was a local coded that did not limit printing according to the size argument. That resulted in buffer overflow and other problems. Solution: Added some sort of size checking in the home-grown vsnprintf and had ph5diff checked for error return of vsnprintf. Leon also revamped the ph5diff manager's way of handling communications with the workers. That eliminated all but the last case of hanging. Platforms tested: Tflops. Misc. update:
* [svn-r11245] Purpose:Quincey Koziol2005-08-131-36/+36
| | | | | | | | | | | | | | | | | | | | Code cleanup Description: Trim trailing whitespace, which is making 'diff'ing the two branches difficult. Solution: Ran this script in each directory: foreach f (*.[ch] *.cpp) sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f end Platforms tested: FreeBSD 4.11 (sleipnir) Too minor to require h5committest
* [svn-r11144] Purpose:Quincey Koziol2005-07-231-0/+2
| | | | | | | | | | | New port Description: Elena asked me to check in her NEC SX-6 work, so here it is! :-) Platforms tested: FreeBSD 4.11 (sleipnir) NEC SX-6 (by Elena)
* [svn-r10996] Purpose:Leon Arber2005-06-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | Bug fix for parallel case for new "Some objects were not comparable" patch to h5diff. Description: The parallel h5diff wouldn't print out "Some objects were not comparable" because the worker tasks were not communicating the not_cmp flag of the diff_opt_t struct back to the manager, who ultimately prints everything. Also, some miscellaneous fixes for error printing. Some errors were printed out with printf instead of fprintf(stderr,...). In parallel environments, this can result in output getting lost. Solution: Had the worker tasks pass along the not_cmp flag to the manager when they sent along the number of differences they found. Platforms tested: heping (pp), sol (pp) Misc. update:
* [svn-r10994] Purpose:Pedro Vicente Nunes2005-06-281-1/+1
| | | | | | | | | | | | | | | | | | | | | bug fix Description: when 2 objects were not comparable, the final print information for the non verbose mode printed "0 differences found" Solution: replaced instead with a Summary message that says "Some objects were not comparable" Platforms tested: linux solaris Misc. update:
* [svn-r10915] Purpose: work around a compiler bugPedro Vicente Nunes2005-06-131-0/+3
| | | | | | | | | | | | | | | | | | | | | | Description: while compiling in mir with pgcc -O2 a condition if (name ) { do_something(name); } is executed when name is NULL Solution: avoid the error by checking the NULL pointer inside do_something(name); Platforms tested: linux (mir with pgcc 6.0) Misc. update:
* [svn-r10659] Purpose:Leon Arber2005-04-251-2/+2
| | | | | | | | | | | | | | Optimization Description: removed an unncessary memset call. Solution: Platforms tested: heping (pp), sol (pp) Misc. update:
* [svn-r10250] Purpose:Albert Cheng2005-03-211-1/+1
| | | | | | | | | | Replaced tmpfile() call with system macro HDtmpfile so that it is easier to customize for systems. Platforms tested: in heping. Misc. update:
* [svn-r10207] Purpose:Leon Arber2005-03-141-1/+1
| | | | | | | | | | | | | | | Bug fix Description: Typo in #ifdef to check for snprintf functionality. Solution: That should have been H5_VSNPRINTF_WORKS. Platforms tested: heping, modi4 Misc. update:
* [svn-r10206] Leon Arber2005-03-131-7/+9
| | | | | | | | | | | | | | | | | | | | | | | | | Purpose: Bug fix. Description: ph5diff fails on modi4 due to the way snprintf works on IRIX. Solution: The C99 standard says that, if there isn't enough room in the string, snprintf should return the number of characters that would have been written to the output string if there were enough room. The snprintf on modi4 would return the number of characters that is was able to write succesfully to the string if space ran out. The ph5diff logic that checks if the output buffer was full did not handle this sort of return value correctly. Used VSNPRINTF_WORKS from configure test to check how snprintf works and do the logic accordingly. Platforms tested: modi4 Misc. update:
* [svn-r10170] Purpose:Leon Arber2005-03-091-6/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug Fixes Description: Fixes for several bugs, including dumping of excess output to a temporary file, fix for printing hsize_t datatype, and the long awaited fix for intermixed output. Solution: Fix 1: Overflow file Previously, any output that a worker task made was buffered locally in memory, up to a point. Any output beyond the size of the buffer (used to be 10k) was discarded. Now, the memory buffer size has been changed to 1k and any output beyond this amount is sent a temporary file. This way, no output is lost and memory usage is kept under control. The temporary file is deleted as soon as a worker task finishes sending its contents to the manager. Fix 2: hsize_t printing Printing of the hsize_t datatype used to be handled by %Hu passed to HDfprintf. However, there is no corresponding HDvsnprintf that is able to print hsize_t types. These are now printed with the aid of H5_PRINTF_LL_WIDTH. Fix 3: Intermixed output fix Intermixed output would occur on some machines (although I haven't seen it happen for a while) due to the unpredictability of the underlying network and the speed at which various message would travel. This has been fixed by having all output send to the manager for printing. The worker tasks no longer print the output themselves upon receipt of a token, but instead send that data to the manager. Platforms tested: heping, eirene, tg-login (the only place that seems to still experience intermixed output every now and then) Misc. update:
* [svn-r9969] Purpose:Leon Arber2005-02-091-2/+0
| | | | | | | | | | | | | | | | | | | Correction to previous print_manager_output bugfix Description: Although the previous bugfix did fix all the errors, it was not the correct way to fix the problem. Since the manager will only buffer output when run in parallel mode, in serial mode this function should not even be called. Solution: Wrapped print_manager_output in #define's to prevent it from being included in serial builds. Platforms tested: heping (serial + parallel) Misc. update:
* [svn-r9956] Purpose:Leon Arber2005-02-081-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed numerous ph5diff bugs. Description: Fixed manager output printing Fixed out of order output printing Fixed test script execution problem Temporary fix for large amounts of output overflowing buffer. Solution: The manager task buffers its output. However, since the manager task never gets a print token, this output was lost. Solution: new function called print_manager_output that prints buffered output is called in places where the manager buffers its output. printf was apparently buffering output. This means that a task would sometimes print even after it had given up its print token. Added fflush() call after printf() calls, which seems to have fixed the problem. calling rsh multiple times in succession seems to overwhelm something in Linux, as it begins to refuse new connections until the old ones reset. Since each call to mpirun in the test script starts up 4 rsh sessions, the test script eventually is unable to run any further tests. Solution: Added a short delay in the testscript between successive calls to mpirun to allow old connections to reset. The 10k output buffer was of insufficient size to hold the large amounts of output generated by some of the tests. Since code to buffer to a file has not been implemented yet, a temporary fix was to increase the size of the output buffer to 50k. Platforms tested: heping Misc. update:
* [svn-r9925] Purpose:Leon Arber2005-02-021-2/+4
| | | | | | | | | | | | | | | | | | | Bug Fix Description: Permanent fix for the incompatibilities between h5diff and h5repack. Solution: h5diff now contains the code to run both parallel and serial diffs. Depending on how the binary is called, it will run either the serial or the parallel versions respectively. Platforms tested: heping(serial + parallel), copper. Misc. update:
* [svn-r9905] Purpose:Albert Cheng2005-02-011-0/+4
| | | | | | | | | | | | | | | | | | | fix bugs. Description: The three variables, g_nTasks, outBuff, and outBuffOffset, were declared in ph5diff.h. That means they are declared in various *.c files that include it, thus having the appearance of multiple defined. Most C compilers are forgiving of this error but the g++ rejects this practice. Solution: Make it only an extern declaration in ph5diff.h but really defined them in h5diff_util.c Platforms tested: sleipnir using g++ since this only failed in Daily test. Also testes in heping, serial and parallel modes.
* [svn-r9880] Purpose: bug fixPedro Vicente Nunes2005-01-281-1/+1
| | | | | | | | | | | | | | | Description: the print_paralell h5diff function had a call to vsnprintf. this causes a linking error on Windows Solution: replaced with HDvsnprintf Platforms tested: windows (vs6) linux Misc. update:
* [svn-r9877] Purpose:Leon Arber2005-01-271-1/+1
| | | | | | | | | | | | | | | | | Bug fix: Temporary fix for h5repack failures in all parallel builds. Description: The parallel additions to h5diff interfered with h5repack. Solution: Added a second set of "parallel" functions to h5diff.c. h5repack uses the serial versions, whereas h5diff will use the parallel versions. Also, h5diff will now be smart about when to enter parallel mode. If is run with mpirun with more than 1 task, it will enter parallel mode. Otherwise, it will stay in serial mode as before. Platforms tested: heping (serial and parallel) Misc. update:
* [svn-r9872] Purpose:Albert Cheng2005-01-261-11/+38
| | | | | | | | | | | | New feature. Description: Added new tool ph5diff. (Code done by Leon Arber.) Code is changed but test is not working yet. For now, it skipped all tests. Platforms tested: Tested in heping, serial and parallel modes.
* [svn-r8904] Purpose:Pedro Vicente Nunes2004-07-201-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | h5diff and h5repack changes Description: h5diff introduced the following four modes of output: Normal mode: print the number of differences found and where they occured Report mode: print the above plus the differences Verbose mode: print the above plus a list of objects and warnings Quiet mode: do not print output (h5diff always returns an exit code of 1 when differences are found) h5repack added an extra parameter for SZIP filter (coding method) the new syntax is -f SZIP=<pixels per block,coding> (pixels per block is a even number in 2-32 and coding method is 'EC' or 'NN') Example of use: ./h5repack -i file1 -o file2 -f SZIP=8,NN -v updated usage messages, test scripts and files accordingly Solution: Platforms tested: linux AIX solaris Misc. update:
* [svn-r8383] Purpose:Quincey Koziol2004-04-181-2/+0
| | | | | | | | | | | | | Code cleanup Description: Clean up lots of warnings based on those reported from the SGI compilers as well as gcc. Platforms tested: SGI O3900, IRIX64 6.5 (Cheryl's SGI machine) FreeBSD 4.9 (sleipnir) w/ & w/o parallel h5committest
* [svn-r7907] Purpose:Pedro Vicente Nunes2003-12-031-0/+2
| | | | | | | | | | | | | | | | bug fix Description: sleipnir was complaining about a missing header declaration Solution: added the include Platforms tested: linux (small) Misc. update:
* [svn-r7904] Purpose:Pedro Vicente Nunes2003-12-021-50/+20
| | | | | | | | | | | | | | | | | | | h5diff new features Description: added comparison for attributes adeded comparison for all dataset datatypes added tests for the new features changed the output format Solution: Platforms tested: linux solaris 5.7 IRIX 6.5 (64) Misc. update:
* [svn-r7792] Purpose:Pedro Vicente Nunes2003-10-301-1/+4
| | | | | | | | | | | | | | | | | | | h5diff new features bug fix Description: implemented the diff for STRING and ARRAY types fixed a bug. when the datasets are empty, do not try to compare them . the check empty is made with H5Dgetstorage_size Solution: Platforms tested: linux solaris 5.7 IRIX Misc. update:
* [svn-r7791] Purpose:Pedro Vicente Nunes2003-10-291-1/+7
| | | | | | | | | | | | | | | | | | h5diff new features Description: implemented diff for compound types. so far it only compares the integer and float classes of these compound types. this is done with a new recursive function that compares datum by datum Platforms tested: linux solaris 2.7 IRIX Misc. update:
* [svn-r7769] Purpose:Pedro Vicente Nunes2003-10-281-0/+409
moved h5diff "public API" routines to tools/lib folder Platforms tested: linux solaris 2.7 IRIX Misc. update: