mirror of
https://github.com/tmux/tmux.git
synced 2025-09-03 06:17:04 +00:00
Move struct options into options.c.
This commit is contained in:
28
options.c
28
options.c
@ -29,6 +29,13 @@
|
||||
* a red-black tree.
|
||||
*/
|
||||
|
||||
struct options {
|
||||
RB_HEAD(options_tree, options_entry) tree;
|
||||
struct options *parent;
|
||||
};
|
||||
|
||||
int options_cmp(struct options_entry *, struct options_entry *);
|
||||
RB_PROTOTYPE(options_tree, options_entry, entry, options_cmp);
|
||||
RB_GENERATE(options_tree, options_entry, entry, options_cmp);
|
||||
|
||||
int
|
||||
@ -37,11 +44,15 @@ options_cmp(struct options_entry *o1, struct options_entry *o2)
|
||||
return (strcmp(o1->name, o2->name));
|
||||
}
|
||||
|
||||
void
|
||||
options_init(struct options *oo, struct options *parent)
|
||||
struct options *
|
||||
options_create(struct options *parent)
|
||||
{
|
||||
struct options *oo;
|
||||
|
||||
oo = xcalloc(1, sizeof *oo);
|
||||
RB_INIT(&oo->tree);
|
||||
oo->parent = parent;
|
||||
return (oo);
|
||||
}
|
||||
|
||||
void
|
||||
@ -57,6 +68,19 @@ options_free(struct options *oo)
|
||||
free(o->str);
|
||||
free(o);
|
||||
}
|
||||
free(oo);
|
||||
}
|
||||
|
||||
struct options_entry *
|
||||
options_first(struct options *oo)
|
||||
{
|
||||
return (RB_MIN(options_tree, &oo->tree));
|
||||
}
|
||||
|
||||
struct options_entry *
|
||||
options_next(struct options_entry *o)
|
||||
{
|
||||
return (RB_NEXT(options_tree, &oo->tree, o));
|
||||
}
|
||||
|
||||
struct options_entry *
|
||||
|
Reference in New Issue
Block a user