The m17n Library 1.8.4
Loading...
Searching...
No Matches
Enumerations | Variables
Error Handling

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

◆ MErrorCode

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

◆ merror_code

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.

◆ m17n_memory_full_handler

void(* m17n_memory_full_handler) (enum MErrorCode err) ( 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.


m17n-lib Home