diff options
author | Guillaume Cottenceau <gc@mandriva.com> | 2001-02-20 15:49:20 +0000 |
---|---|---|
committer | Guillaume Cottenceau <gc@mandriva.com> | 2001-02-20 15:49:20 +0000 |
commit | 616e5e677e36cd6c3909a6e22fd130e467cf555c (patch) | |
tree | 774e9e7ec0c0ea2ab54da70c91c648c5d13f919d /mdk-stage1/url.c | |
parent | d71f1b5bcbf6552d3a7531e5f843db4dd5fd2d9f (diff) | |
download | drakx-616e5e677e36cd6c3909a6e22fd130e467cf555c.tar drakx-616e5e677e36cd6c3909a6e22fd130e467cf555c.tar.gz drakx-616e5e677e36cd6c3909a6e22fd130e467cf555c.tar.bz2 drakx-616e5e677e36cd6c3909a6e22fd130e467cf555c.tar.xz drakx-616e5e677e36cd6c3909a6e22fd130e467cf555c.zip |
for HTTP installs, make use of Content-Length when available, to display progressbar
Diffstat (limited to 'mdk-stage1/url.c')
-rw-r--r-- | mdk-stage1/url.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/mdk-stage1/url.c b/mdk-stage1/url.c index 9781d281d..0f919812b 100644 --- a/mdk-stage1/url.c +++ b/mdk-stage1/url.c @@ -408,7 +408,7 @@ int ftp_end_data_command(int sock) } -int http_download_file(char * hostname, char * remotename) +int http_download_file(char * hostname, char * remotename, int * size) { char * buf; struct timeval timeout; @@ -420,6 +420,7 @@ int http_download_file(char * hostname, char * remotename) int rc; struct sockaddr_in destPort; fd_set readSet; + char * header_content_length = "Content-Length: "; if ((rc = get_host_address(hostname, &serverAddress))) return rc; @@ -508,6 +509,11 @@ int http_download_file(char * hostname, char * remotename) *end = ' '; } } - + + if ((buf = strstr(headers, header_content_length))) + *size = charstar_to_int(buf + strlen(header_content_length)); + else + *size = 0; + return sock; } |