Main Page   Modules   Data Structures   Globals   Appendix  

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_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

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.

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_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

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)

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.


Top of this page

Main Page   Modules   Data Structures   Globals   Appendix  

mulemark