Simplify DOWNLOAD macro
authorQuentin Rameau <quinq@fifth.space>
Thu, 4 May 2017 16:24:33 +0000 (18:24 +0200)
committerQuentin Rameau <quinq@fifth.space>
Mon, 8 May 2017 09:33:55 +0000 (11:33 +0200)
No need to spawn an extra sh.
Use short flags for curl and quote operands.
Replace sleep with read, let the user close the download window instead
of waiting for an arbitrary time.
Rename d to reflect what it's used for.
Reorder sh positional arguments.
Set $0 to a command name and shift other positional parameters to
clarify the "sh -c" command.

config.def.h

index a8a4a7b..f858f5a 100644 (file)
@@ -61,12 +61,11 @@ static WebKitFindOptions findopts = WEBKIT_FIND_OPTIONS_CASE_INSENSITIVE |
 }
 
 /* DOWNLOAD(URI, referer) */
-#define DOWNLOAD(d, r) { \
-        .v = (const char *[]){ "/bin/sh", "-c", \
-             "st -e /bin/sh -c \"curl -g -L -J -O --user-agent '$1'" \
-             " --referer '$2' -b $3 -c $3 '$0';" \
-             " sleep 5;\"", \
-             d, useragent, r, cookiefile, NULL \
+#define DOWNLOAD(u, r) { \
+        .v = (const char *[]){ "st", "-e", "/bin/sh", "-c",\
+             "curl -g -L -J -O -A \"$1\" -b \"$2\" -c \"$2\"" \
+             " -e \"$3\" \"$4\"; read", \
+             "surf-download", useragent, cookiefile, r, u, NULL \
         } \
 }