+/* If we have a result, check the options to see if the key was wanted rather
+than the result. Return a de-tainted version of the key on the grounds that
+it have been validated by the lookup. */
+
+if (yield && opts)
+ {
+ int sep = ',';
+ for (uschar * ele; ele = string_nextinlist(&opts, &sep, NULL, 0); )
+ if (Ustrcmp(ele, "ret=key") == 0)
+ {
+ DEBUG(D_lookup) debug_printf_indent("lookup ret=key: %s\n", keystring);
+ yield = string_copy_taint(keystring, FALSE);
+ break;
+ }
+ }
+