| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
Removed obsolete macros from C++ API library and tests:
H5_NO_NAMESPACE and __cplusplus
Leave OLD_HEADER_FILENAME because iostream.h might still be in use,
until further checking is done.
Leave H5_NO_STD to consider retiring H5std_string first.
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (jelly)
Darwin (osx1010test)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
- Added "const" to arguments that should be const
- Added "const" to const functions, i.e., function that don't change
the objects they operate on.
- Removed deprecated functions in previous releases due to missing const.
Merged from trunk: 30272 and 30279
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (platypus)
Darwin (osx1010test)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
- Changed object in catch statements to reference
- Replaced old-style casts or reinterpret_cast with static_cast
- Removed unused name H5Library::need_cleanup
- Removed Exception::printError from documentation
Merged from trunk r29759 and r29766
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (platypus)
Darwin (osx1010test)
|
|
|
|
|
|
|
|
|
|
| |
Description:
Removed obsolete overloaded functions which had parameters that should be
const but were not. They have been replaced by the correct version since 2014.
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (platypus)
Darwin (osx1010test)
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
Removed obsolete functions from the documentation. They are still
in the code, however, until the next two releases, just in case.
Merge from trunk r29322.
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (platypus)
Darwin (osx1010test)
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
Added member function ArrayType::operator= because ArrayType has
pointer data members.
Merged from trunk r29306.
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (platypus)
Darwin (osx1010test)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
- Implemented the friend function
void f_PropList_setId(PropList* plist, hid_t new_id)
to work around the same problem described in trunk r26655, for the
API DataSet::getCreatePlist()
- Cleaned up some comments and obsolete functions
Merged from trunk r28047
Platforms tested:
Linux/32 2.6 (jam)
Darwin (osx1010test)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
Merged from trunk r27961:
Added class ObjCreatPropList in "H5OcreatProp.[h/cpp]"
Added wrappers for H5P[s/g]et_attr_phase_change and H5P[s/g]et_attr_creation_order
// Sets attribute storage phase change thresholds.
void setAttrPhaseChange(unsigned max_compact = 8, unsigned min_dense = 6)
// Gets attribute storage phase change thresholds.
void getAttrPhaseChange(unsigned& max_compact, unsigned& min_dense)
// Sets tracking and indexing of attribute creation order.
void setAttrCrtOrder(unsigned crt_order_flags)
// Gets tracking and indexing settings for attribute creation order.
unsigned getAttrCrtOrder()
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (platypus)
Darwin (osx1010test)
|
|
|
|
|
|
|
|
|
|
| |
Description:
- Added incRefCount() to other constructors that missed from last time.
- Added default value for H5File::getObjCount and removed its extra version
Platforms tested:
Linux/64 (platypus)
Linux/32 2.6 (jam)
SunOS 5.11 (emu)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
When copy constructor or constructor that takes an existing id is invoked,
the C ref counter stays the same but there is an extra C++ object which
later is destroyed and may cause the HDF5 id to be closed prematurely. The
C++ library needs to increment the ref counter in these situations, so that
the C library will not close the id when it is still being referenced.
However, the incrementing of ref count left some objects opened at the end
of the program, perhaps, due to compiler's optimization on cons/destructors. The constructor, that takes an existing id, needs to increment the counter
but it seems that the matching destructor wasn't invoked. The workaround
is to have a function for each class that has "id" that only sets the id
and not increment the ref count for the library to use in these situations.
These functions are "friend" and not public.
The friend functions are:
void f_Attribute_setId(Attribute *, hid_t)
void f_DataSet_setId(DataSet *, hid_t)
void f_DataSpace_setId(DataSpace *, hid_t)
void f_DataType_setId(DataType *, hid_t)
Merged from trunk: r26655
Platforms tested:
Linux/64 (platypus)
Linux/32 2.6 (jam Intel 15.0)
SunOS 5.11 (emu)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
Fixed base classes that were in wrong order on the prototype lines and
some misc. warnings.
Parameter had the same name as the class' member's. Replaced parameter
with a different name.
Missing initializing one of the base classes in multiple inheritance.
Added CommonFG() to constructors' prototype.
Merged from trunk r26454, r26455, and r26456.
Platforms tested:
Linux/64 (platypus)
Linux/32 2.6 (jam)
SunOS 5.11 (emu)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
- Used H5I_INVALID_HID instead of 0 to initialized member "id" in classes
that represent HDF5 objects. For PropList, H5P_DEFAULT has to be used
instead of H5I_INVALID_HID.
- Added try/catch block to some dynamically allocating memory code and
re-throw the bad_alloc exception with a message informing the location of
the failure.
(merged from trunk-r25640)
Purpose: Fixed HDFFV-8852
Description:
H5F_ACC_CREAT was included in the C++ API while the C library doesn't
allow it yet. Possibly, in the future, but not now. In addition, the
two flags H5F_ACC_RDONLY and H5F_ACC_RDWR were missing from the
documentation, causing confusion that appending is not supported.
Solution:
- Removed H5F_ACC_CREAT from the function until the C library support it
- Added H5F_ACC_RDONLY and H5F_ACC_RDWR to the comments to update the
documentation
(merged from trunk-r25632)
Platforms tested:
Linux/ppc64 (ostrich)
Linux/32 2.6 (jam)
SunOS 5.11 (emu)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Set OUTPUT_DIRECTORY to cpplus_RM and HTML_OUTPUT to '.' because
they were reset by accident causing "bin/release doc" to fail.
Ran bin/release to verify the failure was gone.
Merged from trunk: r25202
Also, removed from functions' comments some arguments that are only
applicable to the trunk. Doxygen gave warnings.
Platforms tested:
Linux/32 2.6 (jam) - very minor, only comments
|
|
|
|
|
|
|
|
|
|
|
|
| |
Put back overloaded functions for backward compatibility:
- were replaced by better prototyped versions, such as Attribute::getNam.
- were modified to add const to constant arguments.
Added notes for future removal in documentation.
(Elena approved.) Merged from trunk r25061.
Platforms tested:
Linux/ppc64 (ostrich)
Linux/32 2.6 (jam)
SunOS 5.11 (emu)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
- Fixed a few comments that Doxygen gave warnings on.
- Updated configuration file for Doxygen.
- Removed stylesheet from configuration so Doxygen will use the default
stylesheet and removed the CLANG-related lines to eliminate another
error since we're not using that feature, so the lines should not
present. (from cpp_doc_config)
- Added missing images
(merged from trunk-r24996 and r25019)
Platforms tested:
Linux/ppc64 (ostrich)
Linux/32 2.6 (jam)
SunOS 5.11 (emu)
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
- Added const to const arguments
- Fixed miscellaneous comments
(merged from trunk-24991)
Platforms tested:
Linux/ppc64 (ostrich)
Linux/32 2.6 (jam)
SunOS 5.11 (emu)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Added another overload for char* argument:
ssize_t getComment(const char* name, const size_t buf_size, char* comment)
- Changed default value to 0 for the other two getComment methods
- Added HDmemset to after every char string allocation to clear the buffer
- Added a null terminator to the comment returned from the C call, in
getComment methods
- Some minor cleanup
Merged from trunk: -r24865 -r24867
Platforms tested:
Linux/ppc64 (ostrich)
Linux/32 2.6 (jam)
SunOS 5.11 (emu)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description from trunk, r22836
In this bug, H5File doesn't have the ability to create attribute. The
following changes will provide that functionality and several others that
were also missing:
- Added an abstract class H5Location in between IdComponent and H5Object.
- New class structure of IdComponent, H5Location, H5Object, H5File
IdComponent
|
H5Location
/ \
H5Object H5File
- Wrappers in H5Object were moved to H5Location because the related C
functions take either file, group, dataset, or named datatype ID.
- Added wrapper for H5Rget_obj_type2
- Added tests for file attributes and H5Rget_obj_type2 wrapper
Description from trunk, r22845
Fixed miscellaneous inconsistencies and typos, which also took
care of the failure in Packet Table test on daily test today.
Description from trunk, r24143
Fixed comments, documentation, and mis-matched DOXYGEN_SHOULD_SKIP_THIS pairs.
Description from trunk, r24188
- The failure in daily test was caused by missing initialization of member
"id" in a few constructors. This is now fixed.
- Added two overloaded H5Location::setComment
- Improved some error reporting in H5Location
- Improved error reporting in tests
Description from trunk, r24189
Changed header guards from single underscore to double underscore.
Platforms tested:
SunOS 5.11 (emu)
Linux/32 2.6 (jam)
Linux/64 2.6 (koala)/PGI compilers
|
|
|
|
|
|
|
|
|
|
| |
Description:
Closed various HDF5 objects in DataSet::getInMemDataSize and
Attribute::getInMemDataSize to remove some memory leaks.
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 2.6 (amani)
SunOS 5.10 (linew)
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
After a C++ API object is closed, its id should be reset regardless
of the reference count of the underlying HDF5 object. User reported
the bug for Group, but it's applicable to all other objects. Fixed.
Platforms tested:
Linux/32 2.6 (jam)
FreeBSD/64 6.3 (liberty)
SunOS 5.10 (linew)
|
|
|
|
|
|
|
|
|
| |
Trim trailing whitespace from source code files, with following command:
find . \( -name "*.[ch]" -or -name "*.cpp" -or -name "*.f90" \) -print |xargs -n 1 sed -i "" 's/[[:blank:]]*$//'
Tested on:
None - eyeballed only
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
- Revised DataSet::write to pass in correct string buffer
- Added member function DataSet::getInMemDataSize() to simplify
getting the dataset's data size in memory.
- Added private functions for reading fixed- and variable-len
string data: p_read_fixed_len and p_read_variable_len.
- Added tests to write/read array of strings to datasets.
Platforms tested:
Linux/32 2.6 (jam)
FreeBSD/64 6.3 (liberty)
SunOS 5.10 (linew)
|
|
|
|
|
|
|
| |
Fixed various comments/headers to update the C++ reference manual.
Platforms tested:
Linux 2.6 (kagiso) - to make certain no typo introduced
|
|
|
|
|
|
|
| |
Oops, I accidentally only did "svn commit" instead of "svn commit -m" as
instructed.
"ported revisions 15958 to 15959 (Added missing wrappers for H5Rdereference)
from trunk."
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
Changed all subclasses' setId to p_setId and put back setId in
IdComponent. p_setId is used in the library where the id provided
by a C API passed on to user's application in the form of a C++ API
object, which will be destroyed properly, and so p_setId does not
call incRefCount. On the other hand, the public version setId is
used by other applications, in which the id passed to setId needs
to be closed properly by the application, so setId must call incRefCount
for the new object to prevent prematurely closing of the id.
Platforms tested:
Linux 2.6 (kagiso)
Still on going with these two platforms, but needed to check in before
daily tests start.
SunOS 5.10 (linew)
FreeBSD (duty)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
A bug in reference counter was exposed when Ray fixed H5Awrite in
the main library. ::setId() called incRefCount when it shouldn't.
Made sure that id's reference counter is manually incremented
properly in copy constructor and operator= only. The main library
handles the rest.
Platforms tested:
SunOS 5.10 (linew)
Linux 2.6 (kagiso)
FreeBSD (duty)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
The class hierarchy was revised to address the problem reported in
bugzilla #1068. Classes AbstractDS and Attribute are moved out of
H5Object. Class Attribute now multiply inherits from IdComponent and
AbstractDs and class DataSet from H5Object and AbstractDs.
In addition, data member IdComponent::id was moved into subclasses:
Attribute, DataSet, DataSpace, DataType, H5File, Group, and PropList.
Also fixed bugzilla 1045: revised Attribute::write and Attribute::read
wrappers to handle memory allocation/deallocation properly. (bugzilla 1045)
Platforms tested:
SunOS 5.10 (linew)
Linux 2.6 (kagiso)
FreeBSD (duty)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Deprecate H5Dextend in favor of H5Dset_extent (without using API
versioning, due to changed behavior) and switch internal usage to H5Dset_extent
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-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Mac OS X/32 10.4.10 (amazon) in debug mode
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add H5Rget_obj_type() to the API versioning and switch internal
routines to use H5Rget_obj_type2()
Misc. other code cleanups, etc.
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)
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
Added overloaded method DataSet::vlenReclaim, that has better prototype.
Fixed some typos.
Platforms tested
AIX 5.1 (copper)
SunOS 5.8 64-bit (sol)
Linux 2.6 (kagiso)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
Wrappers of H5Rcreate had incorrect prototypes.
Solution:
Added these overloaded functions for H5Rcreate wrapper to IdComponent:
void reference(void* ref, const char* name, DataSpace& dataspace,
H5R_type_t ref_type = H5R_DATASET_REGION) const;
void reference(void* ref, const char* name) const;
void reference(void* ref, const H5std_string& name) const;
Added these overloaded functions for H5Rdereference:
void dereference(IdComponent& obj, void* ref);
DataSet(IdComponent& obj, void* ref);
Group(IdComponent& obj, void* ref);
DataType(IdComponent& obj, void* ref);
The incorrect wrappers will be removed after announcing.
Platform tested:
Linux 2.4 (heping)
AIX 5.1 (copper)
SunOS 5.8 64-bit (sol)
|
|
|
|
|
|
|
|
|
|
| |
Description:
Fixed typos and re-arranged some functions to be in sync with 1.6.
Platforms tested:
Linux 2.4 (heping)
SunOS 5.9 (shanti)
AIX 5.1 (copper)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
Shanti compiler destroy unnamed objects later than others, which caused
some reference counting test fail. Revised the test so that destructors
are called at the same time, regardless the differences of compiler
implementation.
Revised some constructors, close, operator=, and destructors to make
sure that all the object ids are handled properly.
Platforms tested:
Linux 2.4 (heping)
SunOS 5.9 (shanti)
HPUX 11.00 (kelgia)
AIX 5.1 (copper)
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
Changed to alias string instead of std, i.e. H5std_string instead
of H5std, because the old way wasn't working when std didn't exist.
Platforms tested:
Linux 2.4 (heping)
SunOS 5.8 64-bit (sol)
HPUX 11.00 (kelgia) - this was the problematic platform but I wasn't
able to test before.
|
|
|
|
|
|
|
|
| |
Description:
Removed an empty #ifdef block that was left by mistake.
Platforms tested:
Linux 2.4 (heping) - very minor
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
Added alias H5_std so either the global or std namespace can be
used, depending on H5_NO_STD.
Platforms tested:
Linux 2.4 (heping)
SunOS 5.8 64-bit (sol)
AIX 5.1 (copper)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
There was a workaround for predefined types, in the C++ library,
implemented when the C++ library was handling the reference
counting of the object ids on its own. Currently, the C++ library
is using the available APIs from the C library for that purpose,
and there were bugs reported involving that part of the C++ library.
So, I decided to remove the workaround completely.
Also, improved the use of std members.
Platforms tested:
Linux 2.4 (heping)
SunOS 5.8 64-bit (sol)
Linux 2.4 w/PGI (colonelk)
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Tweak copyright on C++ source files to reduce whining by copyright checking
script.
Platforms tested:
FreeBSD 4.11 (sleipnir) w/C++
|
|
|
|
|
|
|
|
|
|
| |
Description:
Used "using" declaration and directive better to reduce namespace
pollution.
Platforms tested:
Linux 2.4 (heping)
SunOS 5.8 64-bit (sol)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
Added wrapper for H5Iget_type.
Added try/catch to many APIs that call private functions so that more
specific information can be provided at failure.
Added IdComponent::inMemFunc to help providing specific info.
Added const to parameters of several functions that missed that.
Platforms tested:
Linux 2.4 (heping)
SunOS 5.8 64-bit (sol)
AIX 5.1 (copper)
IRIX64 with -n32 (modi4)
HPUX 11.00 (kelgia)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
PropList::copyProp has incorrect prototype; although it works,
it does cause users inconvenience.
Solution:
Added another overloaded function with correct prototype. The
old version will be removed in a future release. In the meantime,
"Obsolete" will be displayed in its RM page.
Also, changed several checks on the returned value of a C API from
non-positive to negative because id = 0 is no longer significant,
now that the C++ reference counting had been removed.
Platforms tested:
Linux 2.4 (heping)
IRIX64 with -n32 (modi4)
Linux 2.4 w/PGI (colonelk)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
The use of FileCreatPropList::DEFAULT sometimes caused failure
in the reference counting area. This occurs to all the default
property lists, which also include FileAccPropList::DEFAULT,
DSetCreatPropList::DEFAULT, and DSetMemXferPropList::DEFAULT.
H5P_DEFAULT was used to create these default prop lists and
because its value is 0, the id of these prop lists are 0, which
is rejected by the H5I functions during the reference counting.
Solution:
The main action to fix the above problem was to use
H5P_FILE_CREATE
H5P_FILE_ACCESS
H5P_DATASET_CREATE
H5P_DATASET_XFER
to define the default property lists accordingly. Yet, when this
fix was applied, some bug in reference counting was revealed.
It appeared that some ids were not incremented but were passed in
for decrementing. The following actions were then taken to fix and
improve the current use of reference counting H5I functions.
* added private func IdComponent::p_valid_id to verify that the
id is a valid id and can be passed into an H5I function
* used p_valid_id to validate an id before calling an H5I functions
in the reference-counting member functions incRefCount,
decRefCount, and getCounter
* changed to use member function incRefCount, decRefCount, and
getCounter instead of the C APIs H5Iinc_ref, H5Idec_ref, and
H5Iget_ref throughout IdComponent.
In addition, overloadings were added for incRefCount, decRefCount,
and getCounter to take an id different than the id of the current
instance; they can be convenient during debugging.
Platforms tested:
Linux 2.4 (heping)
SunOS 5.8 64-bit (sol)
AIX 5.1 (copper)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
Doxygen 1.4.2 has a bug that when an \exception immediately
follows a \brief, the exception will be displayed prominently
in the brief section.
Solution:
Temporarily added /// to after \brief to work around this
problem and notified the Doxygen's author.
Platforms tested:
Linux 2.4 (heping) - only in documentation sections
|
|
|
|
|
|
|
|
| |
Description:
Passing 0 where it should be "". Fixed!
Platforms tested:
Linux 2.4 (heping) - very minor, and has been in 1.6 for a while
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
Added the following to the C++ library
+ overloaded functions:
string CommonFG::getObjnameByIdx(hsize_t idx)
H5T_order_t AtomType::getOrder()
+ wrappers for H5*close
+ wrappers for H5Arename, H5Aget_storage_size, and H5Dget_storage_size
Platforms tested:
Linux 2.4 (heping)
AIX 5.1 (copper)
SunOS 5.8 64-bit (sol)
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
Checked return value from C API for failure condition.
Added/Modified some comments appropriately.
Platforms tested:
Linux 2.4 (heping)
AIX 5.1 (copper) - tests passed but there were some old warnings about
duplicate symbols on std::string; I'll check on that.
|
|
|
|
|
|
|
|
|
|
| |
Description:
Updated various function headers for the RM as reviewing progresses.
Rearranged functions in header files for more sensible look of the RM.
Platforms tested:
SunOS 5.7 (arabica)
Linux 2.4 (eirene)
|