projects
/
project
/
uci.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
c434442
)
ucimap: simplify the parse/format callbacks. the data argument now always points...
author
Felix Fietkau
<nbd@openwrt.org>
Sun, 6 Sep 2009 19:40:10 +0000
(21:40 +0200)
committer
Felix Fietkau
<nbd@openwrt.org>
Sun, 6 Sep 2009 19:40:10 +0000
(21:40 +0200)
ucimap-example.c
patch
|
blob
|
history
ucimap.c
patch
|
blob
|
history
diff --git
a/ucimap-example.c
b/ucimap-example.c
index
9b315d0
..
e04c66d
100644
(file)
--- a/
ucimap-example.c
+++ b/
ucimap-example.c
@@
-56,7
+56,7
@@
network_parse_ip(void *section, struct uci_optmap *om, union ucimap_data *data,
if (!target)
return -1;
if (!target)
return -1;
-
*data->data
= target;
+
data->ptr
= target;
for (i = 0; i < 4; i++)
target[i] = (char) tmp[i];
for (i = 0; i < 4; i++)
target[i] = (char) tmp[i];
@@
-67,7
+67,7
@@
static int
network_format_ip(void *section, struct uci_optmap *om, union ucimap_data *data, char **str)
{
static char buf[16];
network_format_ip(void *section, struct uci_optmap *om, union ucimap_data *data, char **str)
{
static char buf[16];
- unsigned char *ip = (unsigned char *) data->
data[0]
;
+ unsigned char *ip = (unsigned char *) data->
ptr
;
if (ip) {
sprintf(buf, "%d.%d.%d.%d", ip[0], ip[1], ip[2], ip[3]);
if (ip) {
sprintf(buf, "%d.%d.%d.%d", ip[0], ip[1], ip[2], ip[3]);
diff --git
a/ucimap.c
b/ucimap.c
index
99b8829
..
52c920b
100644
(file)
--- a/
ucimap.c
+++ b/
ucimap.c
@@
-404,11
+404,10
@@
ucimap_add_value(union ucimap_data *data, struct uci_optmap *om, struct ucimap_s
ucimap_add_fixup(sd, data, om, str);
return;
case UCIMAP_CUSTOM:
ucimap_add_fixup(sd, data, om, str);
return;
case UCIMAP_CUSTOM:
- tdata.s = (char *) data;
break;
}
if (om->parse) {
break;
}
if (om->parse) {
- if (om->parse(ucimap_section_ptr(sd), om,
&t
data, str) < 0)
+ if (om->parse(ucimap_section_ptr(sd), om, data, str) < 0)
return;
if (ucimap_is_custom(om->type) && om->free) {
if (tdata.ptr != data->ptr)
return;
if (ucimap_is_custom(om->type) && om->free) {
if (tdata.ptr != data->ptr)
@@
-795,13
+794,6
@@
ucimap_data_to_string(struct ucimap_section_data *sd, struct uci_optmap *om, uni
}
if (om->format) {
}
if (om->format) {
- union ucimap_data tdata;
-
- if (ucimap_is_custom(om->type)) {
- tdata.s = (char *)data;
- data = &tdata;
- }
-
if (om->format(ucimap_section_ptr(sd), om, data, &str) < 0)
return NULL;
if (om->format(ucimap_section_ptr(sd), om, data, &str) < 0)
return NULL;