chiark / gitweb /
Include copyright and stuff; change aargh to more normal one.
[adns.git] / client / adh-opts.c
index 92a3c0b31683732d6b1892c0fa68148f8e7a5165..5d9ddb938746b1bd35ec81912366796ba83aa7e0 100644 (file)
@@ -65,7 +65,7 @@ static const struct optioninfo perquery_options[]= {
   { ot_funcarg,          "Query type (see below)",
     "t", "type",           0,0, &of_type, "type" },
   { ot_funcarg,          "Do reverse query (address -> name lookup)",
-    "i", "ptr",            0,0, &of_type, "addr" },
+    "i", "ptr",            0,0, &of_ptr, "addr" },
 
   { ot_desconly, "per-query binary options:" },
   { ot_flag,             "Use the search list",
@@ -285,12 +285,14 @@ static const struct optioninfo *find(const char **optp,
                                     const char *prefix,
                                     comparer_type *comparer) {
   const struct optioninfo *oip;
+  const char *opt;
 
+  opt= *optp;
   oip= find1(optp,perquery_options,comparer);
   if (oip) return oip;
   oip= find1(optp,global_options,comparer);
-  if (!oip) usageerr("unknown option %s%s",prefix,*optp);
-  if (ads) usageerr("global option %s%s specified after query domain(s)",prefix,*optp);
+  if (!oip) usageerr("unknown option %s%s",prefix,opt);
+  if (ads) usageerr("global option %s%s specified after query domain(s)",prefix,opt);
   return oip;
 }
 
@@ -309,7 +311,7 @@ void opt_do(const struct optioninfo *oip, const char *arg, int invert) {
   switch (oip->type) {
   case ot_flag:
     assert(!arg);
-    *oip->storep= invert ? !oip->value : oip->value;
+    *oip->storep= !invert;
     return;
   case ot_value:
     assert(!arg);