extern void mdebug__add_object_array (M17NObjectArray *array, char *name);
#define M17N_OBJECT_ADD_ARRAY(array, name) \
- if (mdebug__flag & MDEBUG_FINI) \
+ if (mdebug__flags[MDEBUG_FINI]) \
mdebug__add_object_array (&array, name); \
else
extern void mdebug__register_object (M17NObjectArray *array, void *object);
#define M17N_OBJECT_REGISTER(array, object) \
- if (mdebug__flag & MDEBUG_FINI) \
+ if (mdebug__flags[MDEBUG_FINI]) \
mdebug__register_object (&array, object); \
else
extern void mdebug__unregister_object (M17NObjectArray *array, void *object);
#define M17N_OBJECT_UNREGISTER(array, object) \
- if (mdebug__flag & MDEBUG_FINI) \
+ if (mdebug__flags[MDEBUG_FINI]) \
mdebug__unregister_object (&array, object); \
else
\f
-enum MDebugMaskBit
+enum MDebugFlag
{
- MDEBUG_INIT = 0x01,
- MDEBUG_FINI = 0x02,
- MDEBUG_CHARSET = 0x04,
- MDEBUG_CODING = 0x08,
- MDEBUG_DATABASE = 0x10,
- MDEBUG_FONT = 0x0100,
- MDEBUG_FONT_FLT = 0x0200,
- MDEBUG_FONT_OTF = 0x0400,
- MDEBUG_INPUT = 0x0800,
- MDEBUG_ALL = 0xFFFF,
- MDEBUG_MAX
+ MDEBUG_INIT,
+ MDEBUG_FINI,
+ MDEBUG_CHARSET,
+ MDEBUG_CODING,
+ MDEBUG_DATABASE,
+ MDEBUG_FONT,
+ MDEBUG_FONT_FLT,
+ MDEBUG_FONT_OTF,
+ MDEBUG_INPUT,
+ MDEBUG_ALL,
+ MDEBUG_MAX = MDEBUG_ALL
};
-extern int mdebug__flag;
+extern int mdebug__flags[MDEBUG_MAX];
extern FILE *mdebug__output;
extern void mdebug__push_time ();
extern void mdebug__pop_time ();
extern void mdebug__print_time ();
+#define MDEBUG_FLAG() mdebug__flags[mdebug_flag]
+
#define MDEBUG_PRINT0(FPRINTF) \
do { \
- if (mdebug__flag & mdebug_mask) \
+ if (MDEBUG_FLAG ()) \
{ \
FPRINTF; \
fflush (mdebug__output); \
#define MDEBUG_DUMP(prefix, postfix, call) \
do { \
- if (mdebug__flag & mdebug_mask) \
+ if (MDEBUG_FLAG ()) \
{ \
fprintf (mdebug__output, "%s", prefix); \
call; \
} \
} while (0)
-#define MDEBUG_PUSH_TIME() \
- do { \
- if (mdebug__flag & mdebug_mask) \
- mdebug__push_time (); \
+#define MDEBUG_PUSH_TIME() \
+ do { \
+ if (MDEBUG_FLAG ()) \
+ mdebug__push_time (); \
} while (0)
-#define MDEBUG_POP_TIME() \
- do { \
- if (mdebug__flag & mdebug_mask) \
- mdebug__pop_time (); \
+#define MDEBUG_POP_TIME() \
+ do { \
+ if (MDEBUG_FLAG ()) \
+ mdebug__pop_time (); \
} while (0)
#define MDEBUG_PRINT_TIME(tag, ARG_LIST) \
do { \
- if (mdebug__flag & mdebug_mask) \
+ if (MDEBUG_FLAG ()) \
{ \
fprintf (mdebug__output, " [%s] ", tag); \
mdebug__print_time (); \