From aff35af275cb82eb876630c9256298ea1d1b2b57 Mon Sep 17 00:00:00 2001 From: "noname@inventati.org" Date: Tue, 14 Apr 2015 09:53:24 +0200 Subject: [PATCH] Use as command arguments the remaining parameters This change allows execute st as 'st mutt' while it keeps the compability with xterm and urxt. --- st.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/st.c b/st.c index 40840ce..b1d3791 100644 --- a/st.c +++ b/st.c @@ -4008,7 +4008,8 @@ void usage(void) { die("%s " VERSION " (c) 2010-2015 st engineers\n" \ "usage: st [-a] [-v] [-c class] [-f font] [-g geometry] [-o file]\n" - " [-i] [-t title] [-w windowid] [-e command ...]\n", argv0); + " [-i] [-t title] [-w windowid] [-e command ...] [command ...]\n", + argv0); } int @@ -4027,12 +4028,8 @@ main(int argc, char *argv[]) { opt_class = EARGF(usage()); break; case 'e': - /* eat all remaining arguments */ - if(argc > 1) { - opt_cmd = &argv[1]; - if(argv[1] != NULL && opt_title == NULL) - opt_title = basename(xstrdup(argv[1])); - } + if(argc > 1) + --argc, ++argv; goto run; case 'f': opt_font = EARGF(usage()); @@ -4059,6 +4056,12 @@ main(int argc, char *argv[]) { } ARGEND; run: + if(argc > 0) { + /* eat all remaining arguments */ + opt_cmd = argv; + if(!opt_title) + opt_title = basename(xstrdup(argv[0])); + } setlocale(LC_CTYPE, ""); XSetLocaleModifiers(""); tnew(MAX(cols, 1), MAX(rows, 1));