return 1;
}
+static int
+parseBool(char *str)
+{
+ struct {
+ char *key;
+ int val;
+ }
+ bdata[] =
+ {
+ {"1", 1},
+ {"0", 0},
+ {"on", 1},
+ {"off", 0},
+ {"enable", 1},
+ {"disable", 0},
+ {"true", 1},
+ {"false", 0},
+ {"yes", 1},
+ {"no", 0}
+ };
+ int i;
+
+ while(*str && isspace(*str))
+ str++;
+
+ for(i=0;i<lengthof(bdata);i++)
+ if ( strcasecmp(bdata[i].key, str) == 0 )
+ return bdata[i].val;
+
+ tlog(TL_ALARM|TL_EXIT, "Unknown value '%s' for boolean variable", str);
+
+ return 0;
+}
+
+int
+INFGetBoolean(InfMap *inf, char *sect, char *key, int *val) {
+ inf = INFFindInfMap(inf, sect, key);
+ if (inf) {
+ *val=parseBool(inf->value);
+ return 0;
+ }
+ return 1;
+}
+