kwo pushed a commit to branch master.

http://git.enlightenment.org/e16/e16.git/commit/?id=8b106100954c36cd1fb221ec9afc4292926bdc99

commit 8b106100954c36cd1fb221ec9afc4292926bdc99
Author: Kim Woelders <k...@woelders.dk>
Date:   Fri May 1 04:02:56 2020 +0200

    Espawn(): Use variable argument list
---
 src/E.h       |  4 ++--
 src/actions.c | 12 +++++++++---
 src/main.c    |  8 ++------
 src/snaps.c   |  2 +-
 4 files changed, 14 insertions(+), 12 deletions(-)

diff --git a/src/E.h b/src/E.h
index dd90bfa4..99bedd65 100644
--- a/src/E.h
+++ b/src/E.h
@@ -3,7 +3,7 @@
 /*****************************************************************************/
 /*
  * Copyright (C) 2000-2007 Carsten Haitzler, Geoff Harrison and various 
contributors
- * Copyright (C) 2004-2018 Kim Woelders
+ * Copyright (C) 2004-2020 Kim Woelders
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to
@@ -447,7 +447,7 @@ void                About(void);
 #define EXEC_SET_STARTUP_ID 0x02
 void                Eexec(const char *cmd);
 int                 EspawnApplication(const char *params, int flags);
-void                Espawn(const char *cmd);
+void                Espawn(const char *fmt, ...);
 int __PRINTF__      Esystem(const char *fmt, ...);
 
 /* config.c */
diff --git a/src/actions.c b/src/actions.c
index 8d5dd573..1252f1d4 100644
--- a/src/actions.c
+++ b/src/actions.c
@@ -1,6 +1,6 @@
 /*
  * Copyright (C) 2000-2007 Carsten Haitzler, Geoff Harrison and various 
contributors
- * Copyright (C) 2004-2017 Kim Woelders
+ * Copyright (C) 2004-2020 Kim Woelders
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to
@@ -211,12 +211,18 @@ _Espawn(int argc __UNUSED__, char **argv)
 }
 
 void
-Espawn(const char *cmd)
+Espawn(const char *fmt, ...)
 {
+   va_list             args;
+   char                buf[FILEPATH_LEN_MAX];
    int                 argc;
    char              **argv;
 
-   argv = StrlistDecodeEscaped(cmd, &argc);
+   va_start(args, fmt);
+   vsnprintf(buf, sizeof(buf), fmt, args);
+   va_end(args);
+
+   argv = StrlistDecodeEscaped(buf, &argc);
    _Espawn(argc, argv);
    StrlistFree(argv, argc);
 }
diff --git a/src/main.c b/src/main.c
index f8b22c41..58033629 100644
--- a/src/main.c
+++ b/src/main.c
@@ -471,17 +471,13 @@ RunDocBrowser(void)
    if (!canread(buf))
       return;
 
-   Esnprintf(buf, sizeof(buf), "%s/edox %s/E-docs", EDirBin(), EDirRoot());
-   Espawn(buf);
+   Espawn("%s/edox %s/E-docs", EDirBin(), EDirRoot());
 }
 
 static void
 RunMenuGen(void)
 {
-   char                buf[FILEPATH_LEN_MAX];
-
-   Esnprintf(buf, sizeof(buf), "%s/scripts/e_gen_menu", EDirRoot());
-   Espawn(buf);
+   Espawn("%s/scripts/e_gen_menu", EDirRoot());
 }
 
 static void
diff --git a/src/snaps.c b/src/snaps.c
index 369d68f5..9c801bfe 100644
--- a/src/snaps.c
+++ b/src/snaps.c
@@ -1170,7 +1170,7 @@ SnapshotsSpawn(void)
          !sn->used && !(sn->match_flags & SNAP_MATCH_MULTIPLE))
        {
           sn->startup_id = ++Mode.apps.startup_id;
-          Espawn(sn->cmd);
+          Espawn("%s", sn->cmd);
        }
    }
 }

-- 


Reply via email to