aboutsummaryrefslogtreecommitdiff
path: root/src/lib/confmgt
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2019-09-05 11:48:44 -0400
committerDavid Goulet <dgoulet@torproject.org>2019-09-11 09:42:19 -0400
commit1b3b6d9f2d94e659375257a5c439d250ce0075fd (patch)
tree84892d879db29f5e4f94bc0dee886eef076fb4e1 /src/lib/confmgt
parent4b92f4c83a27149696e148412e09ae814f96b2eb (diff)
downloadtor-1b3b6d9f2d94e659375257a5c439d250ce0075fd.tar.gz
tor-1b3b6d9f2d94e659375257a5c439d250ce0075fd.zip
Replace low-level {var_type,struct_var}_is_*() with flag inspection
Since the flags are now stored with compatible numbering, we can just OR them together and see whether the flag we want is in the result. (Net code removal!)
Diffstat (limited to 'src/lib/confmgt')
-rw-r--r--src/lib/confmgt/structvar.c23
-rw-r--r--src/lib/confmgt/structvar.h5
-rw-r--r--src/lib/confmgt/typedvar.c29
-rw-r--r--src/lib/confmgt/typedvar.h4
4 files changed, 6 insertions, 55 deletions
diff --git a/src/lib/confmgt/structvar.c b/src/lib/confmgt/structvar.c
index 6b725f613e..cb37f540b6 100644
--- a/src/lib/confmgt/structvar.c
+++ b/src/lib/confmgt/structvar.c
@@ -238,26 +238,11 @@ struct_var_get_typename(const struct_member_t *member)
return def ? def->name : NULL;
}
-bool
-struct_var_is_cumulative(const struct_member_t *member)
-{
- const var_type_def_t *def = get_type_def(member);
-
- return def ? var_type_is_cumulative(def) : false;
-}
-
-bool
-struct_var_is_settable(const struct_member_t *member)
-{
- const var_type_def_t *def = get_type_def(member);
-
- return def ? var_type_is_settable(def) : true;
-}
-
-bool
-struct_var_is_contained(const struct_member_t *member)
+/** Return all of the flags set for this struct member. */
+uint32_t
+struct_var_get_flags(const struct_member_t *member)
{
const var_type_def_t *def = get_type_def(member);
- return def ? var_type_is_contained(def) : false;
+ return def ? def->flags : 0;
}
diff --git a/src/lib/confmgt/structvar.h b/src/lib/confmgt/structvar.h
index e6dbc6d6ec..201211f795 100644
--- a/src/lib/confmgt/structvar.h
+++ b/src/lib/confmgt/structvar.h
@@ -17,6 +17,7 @@ struct struct_member_t;
struct config_line_t;
#include <stdbool.h>
+#include "lib/cc/torint.h"
void struct_set_magic(void *object,
const struct struct_magic_decl_t *decl);
@@ -45,9 +46,7 @@ void struct_var_mark_fragile(void *object,
const char *struct_var_get_name(const struct struct_member_t *member);
const char *struct_var_get_typename(const struct struct_member_t *member);
-bool struct_var_is_cumulative(const struct struct_member_t *member);
-bool struct_var_is_settable(const struct struct_member_t *member);
-bool struct_var_is_contained(const struct struct_member_t *member);
+uint32_t struct_var_get_flags(const struct struct_member_t *member);
int struct_var_kvassign(void *object, const struct config_line_t *line,
char **errmsg,
diff --git a/src/lib/confmgt/typedvar.c b/src/lib/confmgt/typedvar.c
index 751d15827f..219a2d15bc 100644
--- a/src/lib/confmgt/typedvar.c
+++ b/src/lib/confmgt/typedvar.c
@@ -225,32 +225,3 @@ typed_var_mark_fragile(void *value, const var_type_def_t *def)
if (def->fns->mark_fragile)
def->fns->mark_fragile(value, def->params);
}
-
-/**
- * Return true iff multiple assignments to a variable will extend its
- * value, rather than replacing it.
- **/
-bool
-var_type_is_cumulative(const var_type_def_t *def)
-{
- return (def->flags & VTFLAG_CUMULATIVE) != 0;
-}
-
-/**
- * Return true iff this variable type is always contained in another variable,
- * and as such doesn't need to be dumped or copied independently.
- **/
-bool
-var_type_is_contained(const var_type_def_t *def)
-{
- return (def->flags & VTFLAG_CONTAINED) != 0;
-}
-
-/**
- * Return true iff this type can not be assigned directly by the user.
- **/
-bool
-var_type_is_settable(const var_type_def_t *def)
-{
- return (def->flags & VTFLAG_UNSETTABLE) == 0;
-}
diff --git a/src/lib/confmgt/typedvar.h b/src/lib/confmgt/typedvar.h
index 23fd8c13e4..22f2e3c58e 100644
--- a/src/lib/confmgt/typedvar.h
+++ b/src/lib/confmgt/typedvar.h
@@ -35,8 +35,4 @@ struct config_line_t *typed_var_kvencode(const char *key, const void *value,
void typed_var_mark_fragile(void *value, const var_type_def_t *def);
-bool var_type_is_cumulative(const var_type_def_t *def);
-bool var_type_is_contained(const var_type_def_t *def);
-bool var_type_is_settable(const var_type_def_t *def);
-
#endif /* !defined(TOR_LIB_CONFMGT_TYPEDVAR_H) */