2008-06-28 18:37:28 +00:00
|
|
|
|
2008-11-16 20:33:53 +00:00
|
|
|
#include <lighttpd/base.h>
|
2008-06-28 18:37:28 +00:00
|
|
|
|
2008-09-26 14:11:08 +00:00
|
|
|
/* Extract ovalue from ovalue, ovalue set to none */
|
|
|
|
option_value value_extract(value *val) {
|
|
|
|
option_value oval = {0};
|
|
|
|
if (!val) return oval;
|
2008-07-08 19:29:02 +00:00
|
|
|
|
2008-09-26 14:11:08 +00:00
|
|
|
switch (val->type) {
|
|
|
|
case VALUE_NONE:
|
2008-07-08 19:29:02 +00:00
|
|
|
break;
|
2008-09-26 14:11:08 +00:00
|
|
|
case VALUE_BOOLEAN:
|
|
|
|
oval.boolean = val->data.boolean;
|
2008-07-08 19:29:02 +00:00
|
|
|
break;
|
2008-09-26 14:11:08 +00:00
|
|
|
case VALUE_NUMBER:
|
|
|
|
oval.number = val->data.number;
|
2008-06-28 18:37:28 +00:00
|
|
|
break;
|
2008-09-26 14:11:08 +00:00
|
|
|
case VALUE_STRING:
|
|
|
|
oval.string = val->data.string;
|
2008-06-28 18:37:28 +00:00
|
|
|
break;
|
2008-09-26 14:11:08 +00:00
|
|
|
case VALUE_LIST:
|
|
|
|
oval.list = val->data.list;
|
2008-06-28 18:37:28 +00:00
|
|
|
break;
|
2008-09-26 14:11:08 +00:00
|
|
|
case VALUE_HASH:
|
|
|
|
oval.hash = val->data.hash;
|
2008-06-28 18:37:28 +00:00
|
|
|
break;
|
2008-09-26 14:11:08 +00:00
|
|
|
case VALUE_ACTION:
|
|
|
|
oval.ptr = val->data.val_action.action;
|
2008-07-24 11:25:40 +00:00
|
|
|
break;
|
2008-09-26 14:11:08 +00:00
|
|
|
case VALUE_CONDITION:
|
|
|
|
oval.ptr = val->data.val_action.action;
|
2008-07-24 11:25:40 +00:00
|
|
|
break;
|
2008-06-28 18:37:28 +00:00
|
|
|
}
|
2008-09-26 14:11:08 +00:00
|
|
|
val->type = VALUE_NONE;
|
|
|
|
return oval;
|
2008-06-28 18:37:28 +00:00
|
|
|
}
|
2008-09-24 21:50:38 +00:00
|
|
|
|
2008-09-26 14:11:08 +00:00
|
|
|
gpointer value_extract_ptr(value *val) {
|
|
|
|
option_value oval = value_extract(val);
|
|
|
|
return oval.ptr;
|
|
|
|
}
|
|
|
|
gint64 value_extract_number(value *val) {
|
|
|
|
option_value oval = value_extract(val);
|
|
|
|
return oval.number;
|
|
|
|
}
|
|
|
|
gboolean value_extract_bool(value *val) {
|
|
|
|
option_value oval = value_extract(val);
|
|
|
|
return oval.boolean;
|
2008-09-24 21:50:38 +00:00
|
|
|
}
|