Preparing an interim release
[gnupg.git] / agent / command.c
index ebf3a82..daf9b86 100644 (file)
@@ -168,7 +168,7 @@ parse_keygrip (ASSUAN_CONTEXT ctx, const char *string, unsigned char *buf)
   if (n != 20)
     return set_error (Parameter_Error, "invalid length of keygrip");
 
-  for (p=string, n=0; n < 20; p += 2, n++)
+  for (p=(const unsigned char*)string, n=0; n < 20; p += 2, n++)
     buf[n] = xtoi_2 (p);
 
   return 0;
@@ -316,11 +316,11 @@ cmd_sigkey (ASSUAN_CONTEXT ctx, char *line)
    this command is not used a default text will be used.  Note, that
    this description implictly selects the label used for the entry
    box; if the string contains the string PIN (which in general will
-   not be translated), "PIN" is used, other wiese the translation of
+   not be translated), "PIN" is used, otherwise the translation of
    'passphrase" is used.  The description string should not contain
    blanks unless they are percent or '+' escaped.
 
-   The descrition is only valid for the next PKSIGN or PKDECRYPT
+   The description is only valid for the next PKSIGN or PKDECRYPT
    operation.
 */
 static int
@@ -399,7 +399,7 @@ cmd_sethash (ASSUAN_CONTEXT ctx, char *line)
 /* PKSIGN <options>
 
    Perform the actual sign operation. Neither input nor output are
-   sensitive to eavesdropping */
+   sensitive to eavesdropping. */
 static int
 cmd_pksign (ASSUAN_CONTEXT ctx, char *line)
 {
@@ -494,7 +494,7 @@ cmd_genkey (ASSUAN_CONTEXT ctx, char *line)
 
   init_membuf (&outbuf, 512);
 
-  rc = agent_genkey (ctrl, value, valuelen, &outbuf);
+  rc = agent_genkey (ctrl, (char*)value, valuelen, &outbuf);
   xfree (value);
   if (rc)
     clear_outbuf (&outbuf);
@@ -1085,6 +1085,9 @@ start_command_handler (int listen_fd, int fd)
   /* Reset the SCD if needed. */
   agent_reset_scd (&ctrl);
 
+  /* Reset the pinentry (in case of popup messages). */
+  agent_reset_query (&ctrl);
+
   assuan_deinit_server (ctx);
   if (ctrl.display)
     free (ctrl.display);