+
+ /* if we're given a key, merge our parsing results, else
+ * start with a fresh one to work with so that we don't
+ * mess up the real key in case we find parsing errors. */
+ if (k)
+ memcpy (&tmp, k, sizeof (tmp));
+ else
+ memset (&tmp, 0, sizeof (tmp));
+