diff options
Diffstat (limited to 'tool/gkr-tool-import.c')
-rw-r--r-- | tool/gkr-tool-import.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/tool/gkr-tool-import.c b/tool/gkr-tool-import.c index 74bbfabb..99c38903 100644 --- a/tool/gkr-tool-import.c +++ b/tool/gkr-tool-import.c @@ -98,6 +98,7 @@ int gkr_tool_import (int argc, char *argv[]) { GcrImporter *importer; + GcrParser *parser; GError *error = NULL; GInputStream *input; gboolean res; @@ -129,8 +130,15 @@ gkr_tool_import (int argc, char *argv[]) gkr_tool_handle_error (&error, "couldn't read file: %s", *imp); ret = 1; } else { - res = gcr_importer_import (importer, input, NULL, &error); + parser = gcr_parser_new (); + gcr_importer_listen (importer, parser); + res = gcr_parser_parse_stream (parser, input, NULL, &error); g_object_unref (input); + g_object_unref (parser); + + if (res == TRUE) + res = gcr_importer_import (importer, NULL, &error); + if (res == FALSE) { if (!error || error->code != GCR_ERROR_CANCELLED) gkr_tool_handle_error (&error, "couldn't import file: %s", *imp); |