瀏覽代碼

Replace config_find_option with a variant that exposes less

Nick Mathewson 4 年之前
父節點
當前提交
7e91d4f572
共有 3 個文件被更改,包括 12 次插入14 次删除
  1. 2 4
      src/app/config/config.c
  2. 7 7
      src/app/config/confparse.c
  3. 3 3
      src/app/config/confparse.h

+ 2 - 4
src/app/config/config.c

@@ -2588,8 +2588,7 @@ config_parse_commandline(int argc, char **argv, int ignore_errors,
 int
 option_is_recognized(const char *key)
 {
-  const config_var_t *var = config_find_option(get_options_mgr(), key);
-  return (var != NULL);
+  return config_find_option_name(get_options_mgr(), key) != NULL;
 }
 
 /** Return the canonical name of a configuration option, or NULL
@@ -2597,8 +2596,7 @@ option_is_recognized(const char *key)
 const char *
 option_get_canonical_name(const char *key)
 {
-  const config_var_t *var = config_find_option(get_options_mgr(), key);
-  return var ? var->member.name : NULL;
+  return config_find_option_name(get_options_mgr(), key);
 }
 
 /** Return a canonical list of the options assigned for key.

+ 7 - 7
src/app/config/confparse.c

@@ -288,17 +288,17 @@ config_mgr_find_var(const config_mgr_t *mgr,
   return NULL;
 }
 
-/** If <b>key</b> is a configuration option, return the corresponding const
- * config_var_t.  Otherwise, if <b>key</b> is a non-standard abbreviation,
- * warn, and return the corresponding const config_var_t.  Otherwise return
- * NULL.
+/**
+ * If <b>key</b> is a name or an abbreviation configuration option, return
+ * the corresponding canonical name for it.  Warn if the abbreviation is
+ * non-standard.  Return NULL if the option does not exist.
  */
-const config_var_t *
-config_find_option(const config_mgr_t *mgr, const char *key)
+const char *
+config_find_option_name(const config_mgr_t *mgr, const char *key)
 {
   const managed_var_t *mv = config_mgr_find_var(mgr, key, true, NULL);
   if (mv)
-    return mv->cvar;
+    return mv->cvar->member.name;
   else
     return NULL;
 }

+ 3 - 3
src/app/config/confparse.h

@@ -111,9 +111,9 @@ int config_assign(const config_mgr_t *mgr, void *options,
                   struct config_line_t *list,
                   unsigned flags, char **msg);
 const char *config_find_deprecation(const config_mgr_t *mgr,
-                                     const char *key);
-const config_var_t *config_find_option(const config_mgr_t *mgr,
-                                       const char *key);
+                                    const char *key);
+const char *config_find_option_name(const config_mgr_t *mgr,
+                                    const char *key);
 const char *config_expand_abbrev(const config_mgr_t *mgr,
                                  const char *option,
                                  int command_line, int warn_obsolete);