projects
/
project
/
netifd.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
05e910c
)
extend vlist code to allow keeping the old data structure instead of the new one...
author
Felix Fietkau
<nbd@openwrt.org>
Sun, 2 Oct 2011 17:32:44 +0000
(19:32 +0200)
committer
Felix Fietkau
<nbd@openwrt.org>
Sun, 2 Oct 2011 17:32:44 +0000
(19:32 +0200)
utils.c
patch
|
blob
|
history
utils.h
patch
|
blob
|
history
diff --git
a/utils.c
b/utils.c
index
42d3176
..
a67a8c9
100644
(file)
--- a/
utils.c
+++ b/
utils.c
@@
-37,11
+37,16
@@
vlist_add(struct vlist_tree *tree, struct vlist_node *node)
anode = avl_find(&tree->avl, key);
if (anode) {
+ if (tree->keep_old)
+ goto update_only;
+
old_node = container_of(anode, struct vlist_node, avl);
avl_delete(&tree->avl, anode);
}
avl_insert(&tree->avl, &node->avl);
+
+update_only:
tree->update(tree, node, old_node);
}
diff --git
a/utils.h
b/utils.h
index
c8101e7
..
ab73930
100644
(file)
--- a/
utils.h
+++ b/
utils.h
@@
-28,6
+28,7
@@
struct vlist_tree {
vlist_update_cb update;
int node_offset;
+ bool keep_old;
int version;
};