Commit Graph

17 Commits

Author SHA1 Message Date
Pedro Vicente Nunes
41b80569d7 [svn-r17058] added some "dummy" declarations for d_status
this error
home/hdftest/snapshots-hdf5/current/tools/lib/h5tools_ref.c:126: undefined reference to `d_status'

happens because the original developer of h5tools_ref.c declared these 2 variables in that source file

extern char   *progname;
extern int    d_status;

this means that all programs that use this source file (typically all tools) will have to define these 2 variables, even if they are *not* used. 

examples

const char *progname = "h5jam";
int d_status = EXIT_SUCCESS;

"progname" is usually used to print the program name in the usage, and "d_status" is just a return value of the tool, usually.

I was wondering about removing these 2 declarations from h5tools_ref.c

extern char   *progname;
extern int    d_status;

and define those variables on each tool if they are only needed (it seems to me that only h5ls and h5dump actually "need" them)

tested: smirom parallel
2009-06-16 13:19:40 -05:00
Quincey Koziol
b4ff3e6e79 [svn-r16560] Description:
Remove another call to H5E_clear_stack() from within the library.

    Clean up lots of compiler warnings.

Tested on:
    Mac OS X/32 10.5.6 (amazon)
    (followup on other platforms forthcoming)
2009-03-10 14:00:39 -05:00
Pedro Vicente Nunes
1a3c5f6aeb [svn-r14258] new feature: make h5diff use the same command line parsing code and syntax than h5dump
usage is now 
h5diff  [OPTIONS]  file1 file2  [obj1[obj2]]

tested: windows, linux, solaris
2007-11-13 16:40:23 -05:00
Quincey Koziol
68c01f91d9 [svn-r14154] Description:
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
2007-09-25 17:18:33 -05:00
Quincey Koziol
579284f422 [svn-r14144] Description:
Move H5Gget_objinfo() to deprecated symbols section and retarget
internal usage to H5Lget_info()/H5Oget_info().

	Misc. other code cleanups...

Tested on:
	FreeBSD/32 6.2 (duty)
	FreeBSD/64 6.2 (liberty)
	Linux/32 2.6 (kagiso)
	Linux/64 2.6 (smirom)
	AIX/32 5.3 (copper)
	Solaris/32 2.10 (linew)
	Mac OS X/32 10.4.10 (amazon)
2007-09-13 10:44:56 -05:00
Pedro Vicente Nunes
4f42fade57 [svn-r13391] code cleaning and formated usage message 2007-02-26 13:21:41 -05:00
Albert Cheng
ed7d456e51 [svn-r13253] Updated all C and C++ style source code files with the THG 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.
2007-02-07 09:56:24 -05:00
Pedro Vicente Nunes
110a855d5e [svn-r12687] reverted back some changes that inadvertedely added some output to the
parallel part of h5diff

tested : heping parallel
2006-09-26 14:21:55 -05:00
Pedro Vicente Nunes
c439d91f81 [svn-r12678] bug fix
the number of atribute differences was not added to the total sum of
differences
2006-09-25 10:49:26 -05:00
Quincey Koziol
56e3f667d6 [svn-r11886] Purpose:
Code cleanup

Description:
    Check in some of the code cleanups from working on the external link
support.  (This doesn't include any of the external link features)

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Mac OSX.4 (amazon)
    Linux 2.4
2006-01-23 15:46:34 -05:00
Albert Cheng
7bbea13711 [svn-r11259] Purpose:
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:
2005-08-17 14:21:36 -05:00
Quincey Koziol
6b45f5172c [svn-r11245] Purpose:
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
2005-08-13 15:53:35 -05:00
Leon Arber
ac2e0d548e [svn-r10996] Purpose:
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:
2005-06-28 14:20:56 -05:00
Leon Arber
82b3a0ca4a [svn-r10206]
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:
2005-03-13 18:38:11 -05:00
Leon Arber
15e0a2331e [svn-r10170] Purpose:
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:
2005-03-09 13:38:36 -05:00
Albert Cheng
5c990d854e [svn-r10136] Purpose:
Bug fix.

Description:
MPI_LONG_LONG, which is not standard yet, was used to pass the
nubmer of differences found.  This was needed because number of
differences is defined as type hsize_t which can be arbitary large
such that there is no MPI type that matches it. The value is passed
between processes as an array of bytes in order to be portable.  But this
may not work in non-homogeneous MPI environments.
This fix was actually Leon's idea.

Platforms tested:
Tested in QSC in which this failed.
2005-03-03 17:29:07 -05:00
Albert Cheng
489f234316 [svn-r10017] Purpose:
bug fix/new feature.

Description:
(committing changes made by Leon.)
ph5diff now is a real program by itself.  It has its
own main (ph5diff_main.c).
Codes common to h5diff and ph5diff are in h5diff_common.c.

Removed the hack that hide failures from testh5diff.sh.

Platforms tested:
heping(serial, pp), sol (pp), copper(pp).

Misc. update:
2005-02-16 15:20:40 -05:00