From 94a517651ccd3945088224de3869bd550d99b835 Mon Sep 17 00:00:00 2001 From: Jaakko Keränen Date: Mon, 15 Mar 2021 14:47:43 +0200 Subject: App: Decode URLs passed via command line arguments --- src/app.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) (limited to 'src/app.c') diff --git a/src/app.c b/src/app.c index 6261c74b..6a6c5b7d 100644 --- a/src/app.c +++ b/src/app.c @@ -540,14 +540,13 @@ static void init_App_(iApp *d, int argc, char **argv) { startsWithCase_Rangecc(arg, "finger:") || startsWithCase_Rangecc(arg, "file:") || startsWithCase_Rangecc(arg, "data:") || startsWithCase_Rangecc(arg, "about:"); if (isKnownScheme || fileExistsCStr_FileInfo(cstr_Rangecc(arg))) { - pushBack_StringList( - openCmds, - collectNewFormat_String("open newtab:%d url:%s", - newTab, - isKnownScheme - ? cstr_Rangecc(arg) - : cstrCollect_String(makeFileUrl_String( - collectNewRange_String(arg))))); + iString *decUrl = + isKnownScheme ? urlDecodeExclude_String(collectNewRange_String(arg), "/?#:") + : makeFileUrl_String(collectNewRange_String(arg)); + pushBack_StringList(openCmds, + collectNewFormat_String( + "open newtab:%d url:%s", newTab, cstr_String(decUrl))); + delete_String(decUrl); newTab = iTrue; } else { -- cgit v1.2.3