summaryrefslogtreecommitdiff
path: root/p11-kit/pin.c
diff options
context:
space:
mode:
Diffstat (limited to 'p11-kit/pin.c')
-rw-r--r--p11-kit/pin.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/p11-kit/pin.c b/p11-kit/pin.c
index 328785f..14cb171 100644
--- a/p11-kit/pin.c
+++ b/p11-kit/pin.c
@@ -284,9 +284,9 @@ p11_kit_pin_unregister_callback (const char *pinfile, p11_kit_pin_callback callb
}
int
-p11_kit_pin_read_pinfile (const char *pinfile, P11KitUri *pin_uri,
- const char *pin_description, P11KitPinFlags flags,
- char *pin, size_t pin_max)
+p11_kit_pin_retrieve (const char *pinfile, P11KitUri *pin_uri,
+ const char *pin_description, P11KitPinFlags flags,
+ char *pin, size_t pin_length)
{
PinfileCallback **snapshot = NULL;
unsigned int snapshot_count = 0;
@@ -317,9 +317,10 @@ p11_kit_pin_read_pinfile (const char *pinfile, P11KitUri *pin_uri,
if (snapshot == NULL)
return 0;
- for (i = 0; i < snapshot_count; i++) {
- ret = (snapshot[i]->func) (pinfile, pin_uri, pin_description, flags,
- snapshot[i]->user_data, pin, pin_max);
+ ret = 0;
+ for (i = snapshot_count; ret == 0 && i > 0; i--) {
+ ret = (snapshot[i - 1]->func) (pinfile, pin_uri, pin_description, flags,
+ snapshot[i - 1]->user_data, pin, pin_length);
}
_p11_lock ();