2005-06-16 Marcus Brinkmann <marcus@g10code.de>
authorMarcus Brinkmann <mb@g10code.com>
Thu, 16 Jun 2005 00:02:02 +0000 (00:02 +0000)
committerMarcus Brinkmann <mb@g10code.com>
Thu, 16 Jun 2005 00:02:02 +0000 (00:02 +0000)
* pinentry/pinentry-curses.c (dialog_run): Only convert pin if a
pin actually exists.

ChangeLog
pinentry/pinentry-curses.c

index 1c4be11..4ff0ce4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-06-16  Marcus Brinkmann  <marcus@g10code.de>
+
+       * pinentry/pinentry-curses.c (dialog_run): Only convert pin if a
+       pin actually exists.
+
 2005-01-27  Werner Koch  <wk@g10code.com>
 
        Released 0.7.2.
index 3fc9e25..028adbe 100644 (file)
@@ -692,15 +692,18 @@ dialog_run (pinentry_t pinentry, const char *tty_name, const char *tty_type)
   free (diag.ok);
   free (diag.cancel);
 
-  pinentry->locale_err = 1;
-  pin_utf8 = pinentry_local_to_utf8 (pinentry->lc_ctype, pinentry->pin, 1);
-  if (pin_utf8)
+  if (pinentry->pin)
     {
-      pinentry_setbufferlen (pinentry, strlen (pin_utf8) + 1);
-      if (pinentry->pin)
-       strcpy (pinentry->pin, pin_utf8);
-      secmem_free (pin_utf8);
-      pinentry->locale_err = 0;
+      pinentry->locale_err = 1;
+      pin_utf8 = pinentry_local_to_utf8 (pinentry->lc_ctype, pinentry->pin, 1);
+      if (pin_utf8)
+       {
+         pinentry_setbufferlen (pinentry, strlen (pin_utf8) + 1);
+         if (pinentry->pin)
+           strcpy (pinentry->pin, pin_utf8);
+         secmem_free (pin_utf8);
+         pinentry->locale_err = 0;
+       }
     }
 
   return diag.pin ? (done < 0 ? -1 : diag.pin_len) : (done < 0 ? 0 : 1);