From 4d0754b307fe27e5a692cad32177395378eb5f9b Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Wed, 28 Sep 2005 02:07:08 +0000 Subject: [PATCH] Created macros to read/write standard log levels as Enum string values (should LOG_INFO be the only abbreviated string?). --- src/xpdev/ini_file.c | 7 +++++++ src/xpdev/ini_file.h | 6 ++++++ 2 files changed, 13 insertions(+) diff --git a/src/xpdev/ini_file.c b/src/xpdev/ini_file.c index b14386c55e..66f3d1d515 100644 --- a/src/xpdev/ini_file.c +++ b/src/xpdev/ini_file.c @@ -61,6 +61,13 @@ void iniSetDefaultStyle(ini_style_t style) default_style = style; } +char* log_levels[] = {"Emergency", "Alert", "Critical", "Error", "Warning", "Notice", "Info", "Debug", NULL}; + +str_list_t iniLogLevelStringList(void) +{ + return(log_levels); +} + static char* section_name(char* p) { char* tp; diff --git a/src/xpdev/ini_file.h b/src/xpdev/ini_file.h index 262b06b08f..9f1f66a867 100644 --- a/src/xpdev/ini_file.h +++ b/src/xpdev/ini_file.h @@ -70,6 +70,9 @@ str_list_t iniReadKeyList(FILE*, const char* section); named_string_t** iniReadNamedStringList(FILE*, const char* section); +/* Return the supported Log Levels in a string list - for *LogLevel macros */ +str_list_t iniLogLevelStringList(void); + /* These functions read a single key of the specified type */ char* iniReadString(FILE*, const char* section, const char* key ,const char* deflt, char* value); @@ -99,6 +102,7 @@ double iniReadNamedFloat(FILE*, const char* section, const char* key ,named_double_t*, double deflt); ulong iniReadBitField(FILE*, const char* section, const char* key ,ini_bitdesc_t* bitdesc, ulong deflt); +#define iniReadLogLevel(f,s,k,d) iniReadEnum(f,s,k,iniLogLevelStringList(),d) /* Free string list returned from iniRead*List functions */ void* iniFreeStringList(str_list_t list); @@ -149,6 +153,7 @@ double iniGetNamedFloat(str_list_t, const char* section, const char* key ,named_double_t*, double deflt); ulong iniGetBitField(str_list_t, const char* section, const char* key ,ini_bitdesc_t* bitdesc, ulong deflt); +#define iniGetLogLevel(l,s,k,d) iniGetEnum(l,s,k,iniLogLevelStringList(),d) void iniSetDefaultStyle(ini_style_t); @@ -182,6 +187,7 @@ char* iniSetBitField(str_list_t*, const char* section, const char* key, ini_bit ,ini_style_t*); char* iniSetStringList(str_list_t*, const char* section, const char* key ,const char* sep, str_list_t value, ini_style_t*); +#define iniSetLogLevel(l,s,k,v,style) iniSetEnum(l,s,k,iniLogLevelStringList(),v,style) size_t iniAddSection(str_list_t*, const char* section ,ini_style_t*); -- GitLab