Error Handling
[MISC API]

Error handling of the m17n library. More...

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.

More...

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

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.

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.

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines

m17n-lib Home