You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.1 KiB
C
50 lines
1.1 KiB
C
15 years ago
|
|
||
15 years ago
|
#include <lighttpd/base.h>
|
||
15 years ago
|
|
||
15 years ago
|
/* Extract ovalue from ovalue, ovalue set to none */
|
||
14 years ago
|
liOptionValue li_value_extract(liValue *val) {
|
||
14 years ago
|
liOptionValue oval = {0};
|
||
15 years ago
|
if (!val) return oval;
|
||
15 years ago
|
|
||
15 years ago
|
switch (val->type) {
|
||
14 years ago
|
case LI_VALUE_NONE:
|
||
15 years ago
|
break;
|
||
14 years ago
|
case LI_VALUE_BOOLEAN:
|
||
15 years ago
|
oval.boolean = val->data.boolean;
|
||
15 years ago
|
break;
|
||
14 years ago
|
case LI_VALUE_NUMBER:
|
||
15 years ago
|
oval.number = val->data.number;
|
||
15 years ago
|
break;
|
||
14 years ago
|
case LI_VALUE_STRING:
|
||
15 years ago
|
oval.string = val->data.string;
|
||
15 years ago
|
break;
|
||
14 years ago
|
case LI_VALUE_LIST:
|
||
15 years ago
|
oval.list = val->data.list;
|
||
15 years ago
|
break;
|
||
14 years ago
|
case LI_VALUE_HASH:
|
||
15 years ago
|
oval.hash = val->data.hash;
|
||
15 years ago
|
break;
|
||
14 years ago
|
case LI_VALUE_ACTION:
|
||
15 years ago
|
oval.ptr = val->data.val_action.action;
|
||
15 years ago
|
break;
|
||
14 years ago
|
case LI_VALUE_CONDITION:
|
||
15 years ago
|
oval.ptr = val->data.val_action.action;
|
||
15 years ago
|
break;
|
||
15 years ago
|
}
|
||
14 years ago
|
val->type = LI_VALUE_NONE;
|
||
15 years ago
|
return oval;
|
||
15 years ago
|
}
|
||
![]()
15 years ago
|
|
||
14 years ago
|
gpointer li_value_extract_ptr(liValue *val) {
|
||
|
liOptionValue oval = li_value_extract(val);
|
||
15 years ago
|
return oval.ptr;
|
||
|
}
|
||
14 years ago
|
gint64 li_value_extract_number(liValue *val) {
|
||
|
liOptionValue oval = li_value_extract(val);
|
||
15 years ago
|
return oval.number;
|
||
|
}
|
||
14 years ago
|
gboolean li_value_extract_bool(liValue *val) {
|
||
|
liOptionValue oval = li_value_extract(val);
|
||
15 years ago
|
return oval.boolean;
|
||
![]()
15 years ago
|
}
|