From 68a27c20674ec9ffec2ce9a308e2cec69a640c94 Mon Sep 17 00:00:00 2001 From: Duncan Laurie Date: Thu, 15 Apr 2004 20:24:35 +0000 Subject: [PATCH] add str2val() and min() helpers --- ipmitool/include/ipmitool/helper.h | 3 +++ ipmitool/lib/helper.c | 18 ++++++++++++++---- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/ipmitool/include/ipmitool/helper.h b/ipmitool/include/ipmitool/helper.h index 1f49e6d..0bc741f 100644 --- a/ipmitool/include/ipmitool/helper.h +++ b/ipmitool/include/ipmitool/helper.h @@ -44,6 +44,7 @@ struct valstr { const char * str; }; const char * val2str(unsigned short val, const struct valstr * vs); +unsigned short str2val(const char * str, const struct valstr * vs); unsigned short buf2short(unsigned char * buf); uint32_t buf2long(unsigned char * buf); @@ -56,5 +57,7 @@ void signal_handler(int sig, void * handler); #define SIG_DEFAULT(s) ((void)signal((s), SIG_DFL)) #define SIG_HANDLE(s,h) ((void)signal_handler((s), (h))) +#define min(a, b) ((a) < (b) ? (a) : (b)) + #endif /* IPMI_HELPER_H */ diff --git a/ipmitool/lib/helper.c b/ipmitool/lib/helper.c index 04806a4..be7c4ee 100644 --- a/ipmitool/lib/helper.c +++ b/ipmitool/lib/helper.c @@ -38,10 +38,8 @@ #include #include #include -#include - #include - +#include uint32_t buf2long(unsigned char * buf) { @@ -104,6 +102,19 @@ const char * val2str(unsigned short val, const struct valstr *vs) return un_str; } +unsigned short str2val(const char *str, const struct valstr *vs) +{ + int i = 0; + + while (vs[i].str) { + if (!strncasecmp(vs[i].str, str, strlen(str))) + return vs[i].val; + i++; + } + + return 0; +} + void signal_handler(int sig, void * handler) { struct sigaction act; @@ -125,4 +136,3 @@ void signal_handler(int sig, void * handler) return; } } -