diff options
Diffstat (limited to 'g10/import.c')
-rw-r--r-- | g10/import.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/g10/import.c b/g10/import.c index 31160c33e..88abafd6a 100644 --- a/g10/import.c +++ b/g10/import.c @@ -243,6 +243,32 @@ import_keys_stream (ctrl_t ctrl, IOBUF inp, void *stats_handle, fpr, fpr_len, options); } + +/* Variant of import_keys_stream reading from an estream_t. */ +int +import_keys_es_stream (ctrl_t ctrl, estream_t fp, void *stats_handle, + unsigned char **fpr, size_t *fpr_len, + unsigned int options) +{ + int rc; + iobuf_t inp; + + inp = iobuf_esopen (fp, "r", 1); + if (!inp) + { + rc = gpg_error_from_syserror (); + log_error ("iobuf_esopen failed: %s\n", gpg_strerror (rc)); + return rc; + } + + rc = import_keys_internal (ctrl, inp, NULL, 0, stats_handle, + fpr, fpr_len, options); + + iobuf_close (inp); + return rc; +} + + static int import (ctrl_t ctrl, IOBUF inp, const char* fname,struct stats_s *stats, unsigned char **fpr,size_t *fpr_len,unsigned int options ) |