projects
/
project
/
uci.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
lua: support extended section notation
[project/uci.git]
/
list.c
diff --git
a/list.c
b/list.c
index
faf4494
..
0347138
100644
(file)
--- a/
list.c
+++ b/
list.c
@@
-144,7
+144,7
@@
static unsigned int djbhash(unsigned int hash, char *str)
}
/* fix up an unnamed section, e.g. after adding options to it */
}
/* fix up an unnamed section, e.g. after adding options to it */
-
__private
void uci_fixup_section(struct uci_context *ctx, struct uci_section *s)
+
static
void uci_fixup_section(struct uci_context *ctx, struct uci_section *s)
{
unsigned int hash = ~0;
struct uci_element *e;
{
unsigned int hash = ~0;
struct uci_element *e;
@@
-175,7
+175,7
@@
__private void uci_fixup_section(struct uci_context *ctx, struct uci_section *s)
break;
}
}
break;
}
}
- sprintf(buf, "cfg%02x%04x",
++
s->package->n_section, hash % (1 << 16));
+ sprintf(buf, "cfg%02x%04x", s->package->n_section, hash % (1 << 16));
s->e.name = uci_strdup(ctx, buf);
}
s->e.name = uci_strdup(ctx, buf);
}
@@
-346,7
+346,7
@@
uci_lookup_ext_section(struct uci_context *ctx, struct uci_ptr *ptr)
goto done;
error:
goto done;
error:
-
e = NULL
;
+
free(section)
;
memset(ptr, 0, sizeof(struct uci_ptr));
UCI_THROW(ctx, UCI_ERR_INVAL);
done:
memset(ptr, 0, sizeof(struct uci_ptr));
UCI_THROW(ctx, UCI_ERR_INVAL);
done:
@@
-431,11
+431,12
@@
uci_lookup_ptr(struct uci_context *ctx, struct uci_ptr *ptr, char *str, bool ext
complete:
ptr->flags |= UCI_LOOKUP_COMPLETE;
abort:
complete:
ptr->flags |= UCI_LOOKUP_COMPLETE;
abort:
- return
0
;
+ return
UCI_OK
;
notfound:
UCI_THROW(ctx, UCI_ERR_NOTFOUND);
notfound:
UCI_THROW(ctx, UCI_ERR_NOTFOUND);
- return 0;
+ /* not a chance here */
+ return UCI_ERR_NOTFOUND;
}
__private struct uci_element *
}
__private struct uci_element *
@@
-534,7
+535,8
@@
int uci_add_section(struct uci_context *ctx, struct uci_package *p, const char *
UCI_HANDLE_ERR(ctx);
UCI_ASSERT(ctx, p != NULL);
s = uci_alloc_section(p, type, NULL);
UCI_HANDLE_ERR(ctx);
UCI_ASSERT(ctx, p != NULL);
s = uci_alloc_section(p, type, NULL);
- uci_fixup_section(ctx, s);
+ if (s && s->anonymous)
+ uci_fixup_section(ctx, s);
*res = s;
if (!internal && p->has_delta)
uci_add_delta(ctx, &p->delta, UCI_CMD_ADD, s->e.name, NULL, type);
*res = s;
if (!internal && p->has_delta)
uci_add_delta(ctx, &p->delta, UCI_CMD_ADD, s->e.name, NULL, type);