} memset (&hd, 0, sizeof (hd));
}
signer_dialog_box (gpgme_key_t *r_key, char **r_passwd){    struct decrypt_key_s hd;    memset(&hd, 0, sizeof (hd));    hd.hide_pwd = 1;    DialogBoxParam (glob_hinst, (LPCTSTR)IDD_DEC, GetDesktopWindow (),		    decrypt_key_dlg_proc, (LPARAM)&hd);    if (hd.signer) {	if (r_passwd)	    *r_passwd = xstrdup (hd.pass);	else {	    	    free (hd.pass);	    hd.pass = NULL;	}	*r_key = hd.signer;    }        memset (&hd, 0, sizeof (hd));    if (hd.opts & OPT_FLAG_CANCEL)	return -1;    return 0;}