2004-03-23 Marcus Brinkmann <marcus@g10code.de>
authorMarcus Brinkmann <mb@g10code.com>
Tue, 23 Mar 2004 18:27:37 +0000 (18:27 +0000)
committerMarcus Brinkmann <mb@g10code.com>
Tue, 23 Mar 2004 18:27:37 +0000 (18:27 +0000)
* gpgconf-comp.c (gc_options_dirmngr): Set GC_OPT_FLAG_ARG_OPT for
"LDAP Server".
(change_options_file): Remove assertion that tests that this flag
is not present.  Handle an empty string in OPTION->new_value.

tools/ChangeLog
tools/gpgconf-comp.c

index 44bb2be..ed42e5f 100644 (file)
@@ -1,5 +1,10 @@
 2004-03-23  Marcus Brinkmann  <marcus@g10code.de>
 
+       * gpgconf-comp.c (gc_options_dirmngr): Set GC_OPT_FLAG_ARG_OPT for
+       "LDAP Server".
+       (change_options_file): Remove assertion that tests that this flag
+       is not present.  Handle an empty string in OPTION->new_value.
+
        * gpgconf.c (main): Remove obsolete warning.
 
 2004-03-23  Werner Koch  <wk@gnupg.org>
index fa96a42..da4cfae 100644 (file)
@@ -743,7 +743,7 @@ static gc_option_t gc_options_dirmngr[] =
    /* This entry must come after at least one entry for
       GC_BACKEND_DIRMNGR in this component, so that the entry for
       "ldapserverlist-file will be initialized before this one.  */
-   { "LDAP Server", GC_OPT_FLAG_LIST, GC_LEVEL_BASIC,
+   { "LDAP Server", GC_OPT_FLAG_ARG_OPT|GC_OPT_FLAG_LIST, GC_LEVEL_BASIC,
      NULL, "LDAP server list",
      GC_ARG_TYPE_LDAP_SERVER, GC_BACKEND_DIRMNGR_LDAP_SERVER_LIST },
 
@@ -1648,7 +1648,6 @@ change_options_file (gc_component_t component, gc_backend_t backend,
   assert (option);
   assert (option->active);
   assert (gc_arg_type[option->arg_type].fallback != GC_ARG_TYPE_NONE);
-  assert (!(option->flags & GC_OPT_FLAG_ARG_OPT));
 
   /* FIXME.  Throughout the function, do better error reporting.  */
   /* Note that get_config_pathname() calls percent_deescape(), so we
@@ -1658,7 +1657,9 @@ change_options_file (gc_component_t component, gc_backend_t backend,
   orig_filename = xasprintf ("%s.gpgconf.%i.bak", dest_filename, getpid ());
 
   arg = option->new_value;
-  if (arg)
+  if (arg && arg[0] == '\0')
+    arg = NULL;
+  else if (arg)
     {
       char *end;