Source
HDsnprintf(lib_vers, sizeof(lib_vers), "%u.%u.%u%s", H5_VERS_MAJOR, H5_VERS_MINOR, H5_VERS_RELEASE, (HDstrlen(H5_VERS_SUBRELEASE) > 0 ? "-"H5_VERS_SUBRELEASE : ""));
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Copyright by The HDF Group. *
* Copyright by the Board of Trustees of the University of Illinois. *
* All rights reserved. *
* *
* This file is part of HDF5. The full HDF5 copyright notice, including *
* terms governing use, modification, and redistribution, is contained in *
* the files COPYING and Copyright.html. COPYING can be found at the root *
* of the source code distribution tree; Copyright.html can be found at the *
* root level of an installed copy of the electronic HDF5 document set and *
* is linked from the top-level documents page. It can also be found at *
* http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
* access to either file, you may request a copy from help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/*
* Purpose: Provides error handling in the form of a stack. The
* FUNC_ENTER() macro clears the error stack whenever an API
* function is entered. When an error is detected, an entry is
* pushed onto the stack. As the functions unwind additional
* entries are pushed onto the stack. The API function will
* return some indication that an error occurred and the
* application can print the error stack.
*
* Certain API functions in the H5E package (such as H5Eprint2())
* do not clear the error stack. Otherwise, any function which
* doesn't have an underscore immediately after the package name
* will clear the error stack. For instance, H5Fopen() clears
* the error stack while H5F_open() does not.
*
* An error stack has a fixed maximum size. If this size is
* exceeded then the stack will be truncated and only the
* inner-most functions will have entries on the stack. This is
* expected to be a rare condition.
*
* Each thread has its own error stack, but since
* multi-threading has not been added to the library yet, this
* package maintains a single error stack. The error stack is
* statically allocated to reduce the complexity of handling
* errors within the H5E package.
*
*/
/****************/
/* Module Setup */
/****************/
/***********/