json: Add guard in create_keylist_patterns
[gpgme.git] / src / engine-spawn.c
index 28a14be..7b7a9cd 100644 (file)
@@ -14,7 +14,7 @@
    Lesser General Public License for more details.
 
    You should have received a copy of the GNU Lesser General Public
-   License along with this program; if not, see <http://www.gnu.org/licenses/>.
+   License along with this program; if not, see <https://www.gnu.org/licenses/>.
 */
 
 #if HAVE_CONFIG_H
@@ -241,7 +241,8 @@ engspawn_start (engine_spawn_t esp, const char *file, const char *argv[],
     spflags |= IOSPAWN_FLAG_DETACHED;
   if ((flags & GPGME_SPAWN_ALLOW_SET_FG))
     spflags |= IOSPAWN_FLAG_ALLOW_SET_FG;
-
+  if ((flags & GPGME_SPAWN_SHOW_WINDOW))
+    spflags |= IOSPAWN_FLAG_SHOW_WINDOW;
 
   err = build_fd_data_map (esp);
   if (err)
@@ -312,24 +313,26 @@ static char *
 engspawn_get_version (const char *file_name)
 {
   (void)file_name;
-  return strdup ("1.0");
+  return NULL;
 }
 
 
 static const char *
 engspawn_get_req_version (void)
 {
-  return "1.0";
+  return NULL;
 }
 
 
 static gpgme_error_t
-engspawn_new (void **engine, const char *file_name, const char *home_dir)
+engspawn_new (void **engine, const char *file_name, const char *home_dir,
+              const char *version)
 {
   engine_spawn_t esp;
 
   (void)file_name;
   (void)home_dir;
+  (void)version;
 
   esp = calloc (1, sizeof *esp);
   if (!esp)
@@ -355,8 +358,7 @@ engspawn_release (void *engine)
     {
       struct datalist_s *next = esp->arglist->next;
 
-      if (esp->arglist)
-       free (esp->arglist);
+      free (esp->arglist);
       esp->arglist = next;
     }
 
@@ -441,13 +443,14 @@ struct engine_ops _gpgme_engine_ops_spawn =
     /* Member functions.  */
     engspawn_release,
     NULL,              /* reset */
+    NULL,               /* set_status_cb */
     NULL,              /* set_status_handler */
     NULL,              /* set_command_handler */
     NULL,              /* set_colon_line_handler */
     NULL,              /* set_locale */
     NULL,              /* set_protocol */
+    NULL,               /* set_engine_flags */
     NULL,              /* decrypt */
-    NULL,              /* decrypt_verify */
     NULL,              /* delete */
     NULL,              /* edit */
     NULL,              /* encrypt */
@@ -458,6 +461,9 @@ struct engine_ops _gpgme_engine_ops_spawn =
     NULL,              /* import */
     NULL,              /* keylist */
     NULL,              /* keylist_ext */
+    NULL,               /* keylist_data */
+    NULL,               /* keysign */
+    NULL,               /* tofu_policy */
     NULL,              /* sign */
     NULL,              /* trustlist */
     NULL,              /* verify */
@@ -465,6 +471,8 @@ struct engine_ops _gpgme_engine_ops_spawn =
     NULL,               /* opassuan_transact */
     NULL,              /* conf_load */
     NULL,              /* conf_save */
+    NULL,              /* conf_dir */
+    NULL,               /* query_swdb */
     engspawn_set_io_cbs,
     engspawn_io_event, /* io_event */
     engspawn_cancel,   /* cancel */