* *
* partial sync with the 3.4 fork codebase. These are the things
synces for the most part:
- copyright headers
- grammar/typos in comments and some readmes
- comment/whitespace/decorations
- variable scoping in C files
- DO CASE/SWITCH and some other alternate syntax usage
- minimal amount of human readable text in strings
- minor code updates
- HB_TRACE() void * casts for pointers and few other changes to
avoid C compiler warnings
- various other, minor code cleanups
- only Harbour/C code/headers were touched in src, utils, contrib,
include. No 3rd party code, no make files, and with just a few
exceptions, no 'tests' code was touched.
- certain components were not touched were 3.4 diverged too much
already, like f.e. hbmk2, hbssl, hbcurl, hbexpat
- the goal was that no actual program logic should be altered by
these changes. Except some possible minor exceptions, any such
change is probably a bug in this patch.
It's a massive patch, if you find anything broken after it, please
open an Issue with the details. Build test was done on macOS.
The goal is make it easier to see what actual code/logic was changed
in 3.4 compared to 3.2 and to make patches easier to apply in both
ways.
172 lines
11 KiB
Plaintext
172 lines
11 KiB
Plaintext
/*
|
|
* libharu supplementary functions (error strings)
|
|
*
|
|
* Copyright 2013 Viktor Szakats (vszakats.net/harbour)
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; either version 2, or (at your option)
|
|
* any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; see the file LICENSE.txt. If not, write to
|
|
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
|
* Boston, MA 02110-1301 USA (or visit https://www.gnu.org/licenses/).
|
|
*
|
|
* As a special exception, the Harbour Project gives permission for
|
|
* additional uses of the text contained in its release of Harbour.
|
|
*
|
|
* The exception is that, if you link the Harbour libraries with other
|
|
* files to produce an executable, this does not by itself cause the
|
|
* resulting executable to be covered by the GNU General Public License.
|
|
* Your use of that executable is in no way restricted on account of
|
|
* linking the Harbour library code into it.
|
|
*
|
|
* This exception does not however invalidate any other reasons why
|
|
* the executable file might be covered by the GNU General Public License.
|
|
*
|
|
* This exception applies only to the code released by the Harbour
|
|
* Project under the name Harbour. If you copy code from other
|
|
* Harbour Project or Free Software Foundation releases into a copy of
|
|
* Harbour, as the General Public License permits, the exception does
|
|
* not apply to the code that you add in this way. To avoid misleading
|
|
* anyone as to the status of such modified files, you must delete
|
|
* this exception notice from them.
|
|
*
|
|
* If you write modifications of your own for Harbour, it is your choice
|
|
* whether to permit this exception to apply to your modifications.
|
|
* If you do not wish that, delete this exception notice.
|
|
*
|
|
*/
|
|
|
|
#include "harupdf.ch"
|
|
|
|
/* NOTE: Error descriptions here:
|
|
https://github.com/libharu/libharu/wiki/Error-handling
|
|
*/
|
|
|
|
FUNCTION hb_HPDF_GetErrorString( nStatus )
|
|
|
|
IF ! HB_ISNUMERIC( nStatus )
|
|
RETURN "HB_HPDF_INVALID"
|
|
ENDIF
|
|
|
|
SWITCH nStatus
|
|
CASE HB_HPDF_BADPARAM ; RETURN "HB_HPDF_BADPARAM"
|
|
CASE HPDF_OK ; RETURN "HPDF_OK"
|
|
CASE HPDF_ARRAY_COUNT_ERR ; RETURN "HPDF_ARRAY_COUNT_ERR"
|
|
CASE HPDF_ARRAY_ITEM_NOT_FOUND ; RETURN "HPDF_ARRAY_ITEM_NOT_FOUND"
|
|
CASE HPDF_ARRAY_ITEM_UNEXPECTED_TYPE ; RETURN "HPDF_ARRAY_ITEM_UNEXPECTED_TYPE"
|
|
CASE HPDF_BINARY_LENGTH_ERR ; RETURN "HPDF_BINARY_LENGTH_ERR"
|
|
CASE HPDF_CANNOT_GET_PALLET ; RETURN "HPDF_CANNOT_GET_PALLET"
|
|
CASE HPDF_DICT_COUNT_ERR ; RETURN "HPDF_DICT_COUNT_ERR"
|
|
CASE HPDF_DICT_ITEM_NOT_FOUND ; RETURN "HPDF_DICT_ITEM_NOT_FOUND"
|
|
CASE HPDF_DICT_ITEM_UNEXPECTED_TYPE ; RETURN "HPDF_DICT_ITEM_UNEXPECTED_TYPE"
|
|
CASE HPDF_DICT_STREAM_LENGTH_NOT_FOUND ; RETURN "HPDF_DICT_STREAM_LENGTH_NOT_FOUND"
|
|
CASE HPDF_DOC_ENCRYPTDICT_NOT_FOUND ; RETURN "HPDF_DOC_ENCRYPTDICT_NOT_FOUND"
|
|
CASE HPDF_DOC_INVALID_OBJECT ; RETURN "HPDF_DOC_INVALID_OBJECT"
|
|
CASE HPDF_DUPLICATE_REGISTRATION ; RETURN "HPDF_DUPLICATE_REGISTRATION"
|
|
CASE HPDF_EXCEED_JWW_CODE_NUM_LIMIT ; RETURN "HPDF_EXCEED_JWW_CODE_NUM_LIMIT"
|
|
CASE HPDF_ENCRYPT_INVALID_PASSWORD ; RETURN "HPDF_ENCRYPT_INVALID_PASSWORD"
|
|
CASE HPDF_ERR_UNKNOWN_CLASS ; RETURN "HPDF_ERR_UNKNOWN_CLASS"
|
|
CASE HPDF_EXCEED_GSTATE_LIMIT ; RETURN "HPDF_EXCEED_GSTATE_LIMIT"
|
|
CASE HPDF_FAILD_TO_ALLOC_MEM ; RETURN "HPDF_FAILD_TO_ALLOC_MEM"
|
|
CASE HPDF_FILE_IO_ERROR ; RETURN "HPDF_FILE_IO_ERROR"
|
|
CASE HPDF_FILE_OPEN_ERROR ; RETURN "HPDF_FILE_OPEN_ERROR"
|
|
CASE HPDF_FONT_EXISTS ; RETURN "HPDF_FONT_EXISTS"
|
|
CASE HPDF_FONT_INVALID_WIDTHS_TABLE ; RETURN "HPDF_FONT_INVALID_WIDTHS_TABLE"
|
|
CASE HPDF_INVALID_AFM_HEADER ; RETURN "HPDF_INVALID_AFM_HEADER"
|
|
CASE HPDF_INVALID_ANNOTATION ; RETURN "HPDF_INVALID_ANNOTATION"
|
|
CASE HPDF_INVALID_BIT_PER_COMPONENT ; RETURN "HPDF_INVALID_BIT_PER_COMPONENT"
|
|
CASE HPDF_INVALID_CHAR_MATRICS_DATA ; RETURN "HPDF_INVALID_CHAR_MATRICS_DATA"
|
|
CASE HPDF_INVALID_COLOR_SPACE ; RETURN "HPDF_INVALID_COLOR_SPACE"
|
|
CASE HPDF_INVALID_COMPRESSION_MODE ; RETURN "HPDF_INVALID_COMPRESSION_MODE"
|
|
CASE HPDF_INVALID_DATE_TIME ; RETURN "HPDF_INVALID_DATE_TIME"
|
|
CASE HPDF_INVALID_DESTINATION ; RETURN "HPDF_INVALID_DESTINATION"
|
|
CASE HPDF_INVALID_DOCUMENT ; RETURN "HPDF_INVALID_DOCUMENT"
|
|
CASE HPDF_INVALID_DOCUMENT_STATE ; RETURN "HPDF_INVALID_DOCUMENT_STATE"
|
|
CASE HPDF_INVALID_ENCODER ; RETURN "HPDF_INVALID_ENCODER"
|
|
CASE HPDF_INVALID_ENCODER_TYPE ; RETURN "HPDF_INVALID_ENCODER_TYPE"
|
|
CASE HPDF_INVALID_ENCODING_NAME ; RETURN "HPDF_INVALID_ENCODING_NAME"
|
|
CASE HPDF_INVALID_ENCRYPT_KEY_LEN ; RETURN "HPDF_INVALID_ENCRYPT_KEY_LEN"
|
|
CASE HPDF_INVALID_FONTDEF_DATA ; RETURN "HPDF_INVALID_FONTDEF_DATA"
|
|
CASE HPDF_INVALID_FONTDEF_TYPE ; RETURN "HPDF_INVALID_FONTDEF_TYPE"
|
|
CASE HPDF_INVALID_FONT_NAME ; RETURN "HPDF_INVALID_FONT_NAME"
|
|
CASE HPDF_INVALID_IMAGE ; RETURN "HPDF_INVALID_IMAGE"
|
|
CASE HPDF_INVALID_JPEG_DATA ; RETURN "HPDF_INVALID_JPEG_DATA"
|
|
CASE HPDF_INVALID_N_DATA ; RETURN "HPDF_INVALID_N_DATA"
|
|
CASE HPDF_INVALID_OBJECT ; RETURN "HPDF_INVALID_OBJECT"
|
|
CASE HPDF_INVALID_OBJ_ID ; RETURN "HPDF_INVALID_OBJ_ID"
|
|
CASE HPDF_INVALID_OPERATION ; RETURN "HPDF_INVALID_OPERATION"
|
|
CASE HPDF_INVALID_OUTLINE ; RETURN "HPDF_INVALID_OUTLINE"
|
|
CASE HPDF_INVALID_PAGE ; RETURN "HPDF_INVALID_PAGE"
|
|
CASE HPDF_INVALID_PAGES ; RETURN "HPDF_INVALID_PAGES"
|
|
CASE HPDF_INVALID_PARAMETER ; RETURN "HPDF_INVALID_PARAMETER"
|
|
CASE HPDF_INVALID_PNG_IMAGE ; RETURN "HPDF_INVALID_PNG_IMAGE"
|
|
CASE HPDF_INVALID_STREAM ; RETURN "HPDF_INVALID_STREAM"
|
|
CASE HPDF_MISSING_FILE_NAME_ENTRY ; RETURN "HPDF_MISSING_FILE_NAME_ENTRY"
|
|
CASE HPDF_INVALID_TTC_FILE ; RETURN "HPDF_INVALID_TTC_FILE"
|
|
CASE HPDF_INVALID_TTC_INDEX ; RETURN "HPDF_INVALID_TTC_INDEX"
|
|
CASE HPDF_INVALID_WX_DATA ; RETURN "HPDF_INVALID_WX_DATA"
|
|
CASE HPDF_ITEM_NOT_FOUND ; RETURN "HPDF_ITEM_NOT_FOUND"
|
|
CASE HPDF_LIBPNG_ERROR ; RETURN "HPDF_LIBPNG_ERROR"
|
|
CASE HPDF_NAME_INVALID_VALUE ; RETURN "HPDF_NAME_INVALID_VALUE"
|
|
CASE HPDF_NAME_OUT_OF_RANGE ; RETURN "HPDF_NAME_OUT_OF_RANGE"
|
|
CASE HPDF_PAGE_INVALID_PARAM_COUNT ; RETURN "HPDF_PAGE_INVALID_PARAM_COUNT"
|
|
CASE HPDF_PAGES_MISSING_KIDS_ENTRY ; RETURN "HPDF_PAGES_MISSING_KIDS_ENTRY"
|
|
CASE HPDF_PAGE_CANNOT_FIND_OBJECT ; RETURN "HPDF_PAGE_CANNOT_FIND_OBJECT"
|
|
CASE HPDF_PAGE_CANNOT_GET_ROOT_PAGES ; RETURN "HPDF_PAGE_CANNOT_GET_ROOT_PAGES"
|
|
CASE HPDF_PAGE_CANNOT_RESTORE_GSTATE ; RETURN "HPDF_PAGE_CANNOT_RESTORE_GSTATE"
|
|
CASE HPDF_PAGE_CANNOT_SET_PARENT ; RETURN "HPDF_PAGE_CANNOT_SET_PARENT"
|
|
CASE HPDF_PAGE_FONT_NOT_FOUND ; RETURN "HPDF_PAGE_FONT_NOT_FOUND"
|
|
CASE HPDF_PAGE_INVALID_FONT ; RETURN "HPDF_PAGE_INVALID_FONT"
|
|
CASE HPDF_PAGE_INVALID_FONT_SIZE ; RETURN "HPDF_PAGE_INVALID_FONT_SIZE"
|
|
CASE HPDF_PAGE_INVALID_GMODE ; RETURN "HPDF_PAGE_INVALID_GMODE"
|
|
CASE HPDF_PAGE_INVALID_INDEX ; RETURN "HPDF_PAGE_INVALID_INDEX"
|
|
CASE HPDF_PAGE_INVALID_ROTATE_VALUE ; RETURN "HPDF_PAGE_INVALID_ROTATE_VALUE"
|
|
CASE HPDF_PAGE_INVALID_SIZE ; RETURN "HPDF_PAGE_INVALID_SIZE"
|
|
CASE HPDF_PAGE_INVALID_XOBJECT ; RETURN "HPDF_PAGE_INVALID_XOBJECT"
|
|
CASE HPDF_PAGE_OUT_OF_RANGE ; RETURN "HPDF_PAGE_OUT_OF_RANGE"
|
|
CASE HPDF_REAL_OUT_OF_RANGE ; RETURN "HPDF_REAL_OUT_OF_RANGE"
|
|
CASE HPDF_STREAM_EOF ; RETURN "HPDF_STREAM_EOF"
|
|
CASE HPDF_STREAM_READLN_CONTINUE ; RETURN "HPDF_STREAM_READLN_CONTINUE"
|
|
CASE HPDF_STRING_OUT_OF_RANGE ; RETURN "HPDF_STRING_OUT_OF_RANGE"
|
|
CASE HPDF_THIS_FUNC_WAS_SKIPPED ; RETURN "HPDF_THIS_FUNC_WAS_SKIPPED"
|
|
CASE HPDF_TTF_CANNOT_EMBEDDING_FONT ; RETURN "HPDF_TTF_CANNOT_EMBEDDING_FONT"
|
|
CASE HPDF_TTF_INVALID_CMAP ; RETURN "HPDF_TTF_INVALID_CMAP"
|
|
CASE HPDF_TTF_INVALID_FOMAT ; RETURN "HPDF_TTF_INVALID_FOMAT"
|
|
CASE HPDF_TTF_MISSING_TABLE ; RETURN "HPDF_TTF_MISSING_TABLE"
|
|
CASE HPDF_UNSUPPORTED_FONT_TYPE ; RETURN "HPDF_UNSUPPORTED_FONT_TYPE"
|
|
CASE HPDF_UNSUPPORTED_FUNC ; RETURN "HPDF_UNSUPPORTED_FUNC"
|
|
CASE HPDF_UNSUPPORTED_JPEG_FORMAT ; RETURN "HPDF_UNSUPPORTED_JPEG_FORMAT"
|
|
CASE HPDF_UNSUPPORTED_TYPE1_FONT ; RETURN "HPDF_UNSUPPORTED_TYPE1_FONT"
|
|
CASE HPDF_XREF_COUNT_ERR ; RETURN "HPDF_XREF_COUNT_ERR"
|
|
CASE HPDF_ZLIB_ERROR ; RETURN "HPDF_ZLIB_ERROR"
|
|
CASE HPDF_INVALID_PAGE_INDEX ; RETURN "HPDF_INVALID_PAGE_INDEX"
|
|
CASE HPDF_INVALID_URI ; RETURN "HPDF_INVALID_URI"
|
|
CASE HPDF_PAGE_LAYOUT_OUT_OF_RANGE ; RETURN "HPDF_PAGE_LAYOUT_OUT_OF_RANGE"
|
|
CASE HPDF_PAGE_MODE_OUT_OF_RANGE ; RETURN "HPDF_PAGE_MODE_OUT_OF_RANGE"
|
|
CASE HPDF_PAGE_NUM_STYLE_OUT_OF_RANGE ; RETURN "HPDF_PAGE_NUM_STYLE_OUT_OF_RANGE"
|
|
CASE HPDF_ANNOT_INVALID_ICON ; RETURN "HPDF_ANNOT_INVALID_ICON"
|
|
CASE HPDF_ANNOT_INVALID_BORDER_STYLE ; RETURN "HPDF_ANNOT_INVALID_BORDER_STYLE"
|
|
CASE HPDF_PAGE_INVALID_DIRECTION ; RETURN "HPDF_PAGE_INVALID_DIRECTION"
|
|
CASE HPDF_INVALID_FONT ; RETURN "HPDF_INVALID_FONT"
|
|
CASE HPDF_PAGE_INSUFFICIENT_SPACE ; RETURN "HPDF_PAGE_INSUFFICIENT_SPACE"
|
|
CASE HPDF_PAGE_INVALID_DISPLAY_TIME ; RETURN "HPDF_PAGE_INVALID_DISPLAY_TIME"
|
|
CASE HPDF_PAGE_INVALID_TRANSITION_TIME ; RETURN "HPDF_PAGE_INVALID_TRANSITION_TIME"
|
|
CASE HPDF_INVALID_PAGE_SLIDESHOW_TYPE ; RETURN "HPDF_INVALID_PAGE_SLIDESHOW_TYPE"
|
|
CASE HPDF_EXT_GSTATE_OUT_OF_RANGE ; RETURN "HPDF_EXT_GSTATE_OUT_OF_RANGE"
|
|
CASE HPDF_INVALID_EXT_GSTATE ; RETURN "HPDF_INVALID_EXT_GSTATE"
|
|
CASE HPDF_EXT_GSTATE_READ_ONLY ; RETURN "HPDF_EXT_GSTATE_READ_ONLY"
|
|
CASE HPDF_INVALID_U3D_DATA ; RETURN "HPDF_INVALID_U3D_DATA"
|
|
CASE HPDF_NAME_CANNOT_GET_NAMES ; RETURN "HPDF_NAME_CANNOT_GET_NAMES"
|
|
CASE HPDF_INVALID_ICC_COMPONENT_NUM ; RETURN "HPDF_INVALID_ICC_COMPONENT_NUM"
|
|
ENDSWITCH
|
|
|
|
RETURN "HB_HPDF_UNKNOWN_" + hb_ntos( nStatus )
|