* engine-gpgsm.c (_gpgme_gpgsm_new): Save the result of a first
setlocale before doing another setlocale.
This commit is contained in:
parent
8cc8f7267f
commit
9ab4638c8d
@ -1,3 +1,8 @@
|
|||||||
|
2002-11-22 Werner Koch <wk@gnupg.org>
|
||||||
|
|
||||||
|
* engine-gpgsm.c (_gpgme_gpgsm_new): Save the result of a first
|
||||||
|
setlocale before doing another setlocale.
|
||||||
|
|
||||||
2002-11-21 Marcus Brinkmann <marcus@g10code.de>
|
2002-11-21 Marcus Brinkmann <marcus@g10code.de>
|
||||||
|
|
||||||
* verify.c (_gpgme_verify_status_handler): Treat
|
* verify.c (_gpgme_verify_status_handler): Treat
|
||||||
|
@ -450,7 +450,17 @@ _gpgme_gpgsm_new (GpgsmObject *r_gpgsm)
|
|||||||
goto leave;
|
goto leave;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
old_lc = setlocale (LC_CTYPE, NULL);
|
old_lc = setlocale (LC_CTYPE, NULL);
|
||||||
|
if (old_lc)
|
||||||
|
{
|
||||||
|
old_lc = strdup (old_lc);
|
||||||
|
if (!old_lc)
|
||||||
|
{
|
||||||
|
err = GPGME_Out_Of_Core;
|
||||||
|
goto leave;
|
||||||
|
}
|
||||||
|
}
|
||||||
dft_lc = setlocale (LC_CTYPE, "");
|
dft_lc = setlocale (LC_CTYPE, "");
|
||||||
if (dft_lc)
|
if (dft_lc)
|
||||||
{
|
{
|
||||||
@ -458,19 +468,32 @@ _gpgme_gpgsm_new (GpgsmObject *r_gpgsm)
|
|||||||
err = mk_error (Out_Of_Core);
|
err = mk_error (Out_Of_Core);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
err = assuan_transact (gpgsm->assuan_ctx, optstr, NULL, NULL, NULL, NULL, NULL,
|
err = assuan_transact (gpgsm->assuan_ctx, optstr, NULL, NULL,
|
||||||
NULL);
|
NULL, NULL, NULL, NULL);
|
||||||
free (optstr);
|
free (optstr);
|
||||||
if (err)
|
if (err)
|
||||||
err = map_assuan_error (err);
|
err = map_assuan_error (err);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (old_lc)
|
if (old_lc)
|
||||||
|
{
|
||||||
setlocale (LC_CTYPE, old_lc);
|
setlocale (LC_CTYPE, old_lc);
|
||||||
|
free (old_lc);
|
||||||
|
}
|
||||||
if (err)
|
if (err)
|
||||||
goto leave;
|
goto leave;
|
||||||
|
|
||||||
|
|
||||||
old_lc = setlocale (LC_MESSAGES, NULL);
|
old_lc = setlocale (LC_MESSAGES, NULL);
|
||||||
|
if (old_lc)
|
||||||
|
{
|
||||||
|
old_lc = strdup (old_lc);
|
||||||
|
if (!old_lc)
|
||||||
|
{
|
||||||
|
err = GPGME_Out_Of_Core;
|
||||||
|
goto leave;
|
||||||
|
}
|
||||||
|
}
|
||||||
dft_lc = setlocale (LC_MESSAGES, "");
|
dft_lc = setlocale (LC_MESSAGES, "");
|
||||||
if (dft_lc)
|
if (dft_lc)
|
||||||
{
|
{
|
||||||
@ -486,7 +509,10 @@ _gpgme_gpgsm_new (GpgsmObject *r_gpgsm)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (old_lc)
|
if (old_lc)
|
||||||
|
{
|
||||||
setlocale (LC_MESSAGES, old_lc);
|
setlocale (LC_MESSAGES, old_lc);
|
||||||
|
free (old_lc);
|
||||||
|
}
|
||||||
if (err)
|
if (err)
|
||||||
goto leave;
|
goto leave;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user