From ddd965984492e74c3e5fc0fb922d4362fd3aebda Mon Sep 17 00:00:00 2001 From: Tatsuya Kinoshita Date: Wed, 4 May 2011 16:38:13 +0900 Subject: Releasing debian version 0.5.2-8 --- .../patches/100_download-error-short-write.patch | 188 --------------------- 1 file changed, 188 deletions(-) delete mode 100644 debian/patches/100_download-error-short-write.patch (limited to 'debian/patches/100_download-error-short-write.patch') diff --git a/debian/patches/100_download-error-short-write.patch b/debian/patches/100_download-error-short-write.patch deleted file mode 100644 index d1af5aa..0000000 --- a/debian/patches/100_download-error-short-write.patch +++ /dev/null @@ -1,188 +0,0 @@ -Description: Tell a download failure when full disk -Origin: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=185006#22 -Author: Karsten Schoelzel -Bug-Debian: http://bugs.debian.org/185006 - -diff -urNp w3m-0.5.2.orig/file.c w3m-0.5.2/file.c ---- w3m-0.5.2.orig/file.c 2007-05-24 00:06:05.000000000 +0900 -+++ w3m-0.5.2/file.c 2010-07-07 22:12:03.000000000 +0900 -@@ -7749,7 +7749,13 @@ save2tmp(URLFile uf, char *tmpf) - { - Str buf = Strnew_size(SAVE_BUF_SIZE); - while (UFread(&uf, buf, SAVE_BUF_SIZE)) { -- Strfputs(buf, ff); -+ if (Strfputs(buf, ff) != buf->length) { -+ bcopy(env_bak, AbortLoading, sizeof(JMP_BUF)); -+ TRAP_OFF; -+ fclose(ff); -+ current_content_length = 0; -+ return -2; -+ } - linelen += buf->length; - showProgress(&linelen, &trbyte); - } -@@ -8078,16 +8084,20 @@ doFileSave(URLFile uf, char *defstr) - flush_tty(); - pid = fork(); - if (!pid) { -+ int err; - if ((uf.content_encoding != CMP_NOCOMPRESS) && AutoUncompress) { - uncompress_stream(&uf, &tmpf); - if (tmpf) - unlink(tmpf); - } - setup_child(FALSE, 0, UFfileno(&uf)); -- if (!save2tmp(uf, p) && PreserveTimestamp && uf.modtime != -1) -+ err = save2tmp(uf, p); -+ if (err == 0 && PreserveTimestamp && uf.modtime != -1) - setModtime(p, uf.modtime); - UFclose(&uf); - unlink(lock); -+ if (err != 0) -+ exit(-err); - exit(0); - } - addDownloadList(pid, uf.url, p, lock, current_content_length); -diff -urNp w3m-0.5.2.orig/fm.h w3m-0.5.2/fm.h ---- w3m-0.5.2.orig/fm.h 2007-05-30 13:47:24.000000000 +0900 -+++ w3m-0.5.2/fm.h 2010-07-07 21:51:07.000000000 +0900 -@@ -517,7 +517,8 @@ typedef struct _DownloadList { - char *lock; - clen_t size; - time_t time; -- int ok; -+ int running; -+ int err; - struct _DownloadList *next; - struct _DownloadList *prev; - } DownloadList; -diff -urNp w3m-0.5.2.orig/main.c w3m-0.5.2/main.c ---- w3m-0.5.2.orig/main.c 2007-05-31 10:19:50.000000000 +0900 -+++ w3m-0.5.2/main.c 2010-07-07 21:51:07.000000000 +0900 -@@ -323,21 +323,26 @@ static void - sig_chld(int signo) - { - int p_stat; --#ifdef HAVE_WAITPID - pid_t pid; - -+#ifdef HAVE_WAITPID - while ((pid = waitpid(-1, &p_stat, WNOHANG)) > 0) { -- ; -- } - #elif HAVE_WAIT3 -- int pid; -- - while ((pid = wait3(&p_stat, WNOHANG, NULL)) > 0) { -- ; -- } - #else -- wait(&p_stat); -+ if ((pid = wait(&p_stat)) > 0) { - #endif -+ DownloadList *d; -+ -+ if (WIFEXITED(p_stat)) { -+ for (d = FirstDL; d != NULL; d = d->next) { -+ if (d->pid == pid) { -+ d->err = WEXITSTATUS(p_stat); -+ break; -+ } -+ } -+ } -+ } - mySignal(SIGCHLD, sig_chld); - return; - } -@@ -6355,7 +6360,8 @@ addDownloadList(pid_t pid, char *url, ch - d->lock = lock; - d->size = size; - d->time = time(0); -- d->ok = FALSE; -+ d->running = TRUE; -+ d->err = 0; - d->next = NULL; - d->prev = LastDL; - if (LastDL) -@@ -6375,7 +6381,7 @@ checkDownloadList(void) - if (!FirstDL) - return FALSE; - for (d = FirstDL; d != NULL; d = d->next) { -- if (!d->ok && !lstat(d->lock, &st)) -+ if (d->running && !lstat(d->lock, &st)) - return TRUE; - } - return FALSE; -@@ -6415,15 +6421,16 @@ DownloadListBuffer(void) - "

\n"); - for (d = LastDL; d != NULL; d = d->prev) { - if (lstat(d->lock, &st)) -- d->ok = TRUE; -+ d->running = FALSE; - Strcat_charp(src, "
\n");
- 	Strcat(src, Sprintf("%s\n  --> %s\n  ", html_quote(d->url),
- 			    html_quote(conv_from_system(d->save))));
- 	duration = cur_time - d->time;
- 	if (!stat(d->save, &st)) {
- 	    size = st.st_size;
--	    if (d->ok) {
--		d->size = size;
-+	    if (!d->running) {
-+		if (!d->err)
-+		    d->size = size;
- 		duration = st.st_mtime - d->time;
- 	    }
- 	}
-@@ -6442,7 +6449,7 @@ DownloadListBuffer(void)
- 		Strcat_char(src, '_');
- 	    Strcat_char(src, '\n');
- 	}
--	if (!d->ok && size < d->size)
-+	if ((d->running || d->err) && size < d->size)
- 	    Strcat(src, Sprintf("  %s / %s bytes (%d%%)",
- 				convert_size3(size), convert_size3(d->size),
- 				(int)(100.0 * size / d->size)));
-@@ -6453,20 +6460,28 @@ DownloadListBuffer(void)
- 	    Strcat(src, Sprintf("  %02d:%02d:%02d  rate %s/sec",
- 				duration / (60 * 60), (duration / 60) % 60,
- 				duration % 60, convert_size(rate, 1)));
--	    if (!d->ok && size < d->size && rate) {
-+	    if (d->running && size < d->size && rate) {
- 		eta = (d->size - size) / rate;
- 		Strcat(src, Sprintf("  eta %02d:%02d:%02d", eta / (60 * 60),
- 				    (eta / 60) % 60, eta % 60));
- 	    }
- 	}
- 	Strcat_char(src, '\n');
--	if (d->ok) {
-+	if (!d->running) {
- 	    Strcat(src, Sprintf("",
- 				d->pid));
--	    if (size < d->size)
--		Strcat_charp(src, " Download incompleted");
--	    else
--		Strcat_charp(src, " Download completed");
-+	    switch (d->err) {
-+	    case 0: if (size < d->size)
-+			Strcat_charp(src, " Download ended but probably not complete");
-+		    else
-+			Strcat_charp(src, " Download complete");
-+		    break;
-+	    case 1: Strcat_charp(src, " Error: could not open destination file");
-+		    break;
-+	    case 2: Strcat_charp(src, " Error: could not write to file (disk full)");
-+		    break;
-+	    default: Strcat_charp(src, " Error: unknown reason");
-+	    }
- 	}
- 	else
- 	    Strcat(src, Sprintf("",
-@@ -6520,7 +6535,7 @@ stopDownload(void)
-     if (!FirstDL)
- 	return;
-     for (d = FirstDL; d != NULL; d = d->next) {
--	if (d->ok)
-+	if (!d->running)
- 	    continue;
- #ifndef __MINGW32_VERSION
- 	kill(d->pid, SIGKILL);
-- 
cgit v1.2.3