aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/busybox/busybox-1.20.2/wget_dl_dir_fix.patch
blob: 3003965d8cdce3f287245f1ad83be13e613e3c6a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
In cases where busybox wget is invoked with -P <...> and the url ends
in "/", the download directory is ignored (ie the file index.html is
implied), this change enables the -P option for those urls.

Signed-off-by: Amy Fong <amy.fong@windriver.com>
Upstream-Status: Submitted
---
 networking/wget.c |   10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

--- a/networking/wget.c
+++ b/networking/wget.c
@@ -589,10 +589,14 @@
 	if (!(option_mask32 & WGET_OPT_OUTNAME)) {
 		G.fname_out = bb_get_last_path_component_nostrip(target.path);
 		/* handle "wget http://kernel.org//" */
-		if (G.fname_out[0] == '/' || !G.fname_out[0])
-			G.fname_out = (char*)"index.html";
+		if (G.fname_out[0] == '/' || !G.fname_out[0]) {
+			/* bug: if we provide a default name, we should still look at -P option */
+			if (G.dir_prefix)
+				G.fname_out = fname_out_alloc = concat_path_file(G.dir_prefix, "index.html");
+			else
+				G.fname_out = (char*)"index.html";
 		/* -P DIR is considered only if there was no -O FILE */
-		else {
+		} else {
 			if (G.dir_prefix)
 				G.fname_out = fname_out_alloc = concat_path_file(G.dir_prefix, G.fname_out);
 			else {