Provided by: m17n-docs_1.6.2-2_all bug

NAME

       Error_Handling - Error handling of the m17n library.

   Enumerations
       enum MErrorCode { MERROR_NONE, MERROR_OBJECT, MERROR_SYMBOL, MERROR_MTEXT,
           MERROR_TEXTPROP, MERROR_CHAR, MERROR_CHARTABLE, MERROR_CHARSET, MERROR_CODING,
           MERROR_RANGE, MERROR_LANGUAGE, MERROR_LOCALE, MERROR_PLIST, MERROR_MISC, MERROR_WIN,
           MERROR_X, MERROR_FRAME, MERROR_FACE, MERROR_DRAW, MERROR_FLT, MERROR_FONT,
           MERROR_FONTSET, MERROR_FONT_OTF, MERROR_FONT_X, MERROR_FONT_FT, MERROR_IM, MERROR_DB,
           MERROR_IO, MERROR_DEBUG, MERROR_MEMORY, MERROR_GD, MERROR_MAX }
           Enumeration for error code of the m17n library.

   Variables
       int merror_code
           External variable to hold error code of the m17n library.
       void(* m17n_memory_full_handler )(enum MErrorCode err)
           Memory allocation error handler.

Detailed Description

       Error handling of the m17n library.

       There are two types of errors that may happen in a function of the m17n library.

       The first type is argument errors. When a library function is called with invalid
       arguments, it returns a value that indicates error and at the same time sets the external
       variable merror_code to a non-zero integer.

       The second type is memory allocation errors. When the required amount of memory is not
       available on the system, m17n library functions call a function pointed to by the external
       variable m17n_memory_full_handler. The default value of the variable is a pointer to the
       default_error_handle() function, which just calls  exit().

Enumeration Type Documentation

   enum MErrorCode
       Enumeration for error code of the m17n library. Enumeration for error code of the m17n
       library.

       When a library function is called with an invalid argument, it sets the external variable
       merror_code to one of these values. All the error codes are positive integers.

       When a memory allocation error happens, the function pointed to by the external variable
       m17n_memory_full_handler is called with one of these values as an argument.

       Enumerator:

       MERROR_NONE

       MERROR_OBJECT

       MERROR_SYMBOL

       MERROR_MTEXT

       MERROR_TEXTPROP

       MERROR_CHAR

       MERROR_CHARTABLE

       MERROR_CHARSET

       MERROR_CODING

       MERROR_RANGE

       MERROR_LANGUAGE

       MERROR_LOCALE

       MERROR_PLIST

       MERROR_MISC

       MERROR_WIN

       MERROR_X

       MERROR_FRAME

       MERROR_FACE

       MERROR_DRAW

       MERROR_FLT

       MERROR_FONT

       MERROR_FONTSET

       MERROR_FONT_OTF

       MERROR_FONT_X

       MERROR_FONT_FT

       MERROR_IM

       MERROR_DB

       MERROR_IO

       MERROR_DEBUG

       MERROR_MEMORY

       MERROR_GD

       MERROR_MAX

Variable Documentation

   int merror_code
       External variable to hold error code of the m17n library. The external variable
       merror_code holds an error code of the m17n library. When a library function is called
       with an invalid argument, it sets this variable to one of enum MErrorCode.

       This variable initially has the value 0.

   void(* m17n_memory_full_handler)(enum MErrorCode err)
       Memory allocation error handler. The external variable m17n_memory_full_handler holds a
       pointer to the function to call when a library function failed to allocate memory. err is
       one of enum MErrorCode indicating in which function the error occurred.

       This variable initially points a function that simply calls the exit () function with err
       as an argument.

       An application program that needs a different error handling can change this variable to
       point a proper function.

Author

       Generated automatically by Doxygen for The m17n Library from the source code.

COPYRIGHT

       Copyright (C) 2001 Information-technology Promotion Agency (IPA)
       Copyright (C) 2001-2011 National Institute of Advanced Industrial Science and Technology
       (AIST)
       Permission is granted to copy, distribute and/or modify this document under the terms of
       the GNU Free Documentation License <http://www.gnu.org/licenses/fdl.html>.