diff options
author | Fumitoshi UKAI <ukai@debian.or.jp> | 2003-01-10 16:42:14 +0000 |
---|---|---|
committer | Fumitoshi UKAI <ukai@debian.or.jp> | 2003-01-10 16:42:14 +0000 |
commit | 66d04cc1619b037bff177acdffbbe52fbdaaa4b3 (patch) | |
tree | b4c200409e18e49c21b126f02121cef3bc67a85a | |
parent | [w3m-dev 03628] Re: Error occured while reset (diff) | |
download | w3m-66d04cc1619b037bff177acdffbbe52fbdaaa4b3.tar.gz w3m-66d04cc1619b037bff177acdffbbe52fbdaaa4b3.zip |
[w3m-dev 03629] delete tmp file
* etc.c (tempfname): always file to delete
* file.c (xface2xpm): no need fileToDelete
(readHeader): ditto
(loadGeneralFile): ditto
(loadHTMLBuffer): ditto
(loadHTMLString): ditto
(loadGopherDir): ditto
(loadImageBuffer): ditto
(doExternal): rewrite
(doFileSave): no need fileToDelete
(uncompress_stream): ditto
* fm.h (CurrentPid): added
* image.c (getImage): cache->touch to delete
* local.c (setLocalCookie): use CurrentPid
(localcgi_post): fileToDelete
* main.c (main): CurrentPid
(pipeBuf): no need fileToDelete
(query_from_followform): CurrentPid
(vmSrc): no need fileToDelete
From: Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
Diffstat (limited to '')
-rw-r--r-- | ChangeLog | 25 | ||||
-rw-r--r-- | etc.c | 10 | ||||
-rw-r--r-- | file.c | 32 | ||||
-rw-r--r-- | fm.h | 3 | ||||
-rw-r--r-- | image.c | 4 | ||||
-rw-r--r-- | local.c | 5 | ||||
-rw-r--r-- | main.c | 8 |
7 files changed, 42 insertions, 45 deletions
@@ -1,5 +1,28 @@ 2003-01-11 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + * [w3m-dev 03629] delete tmp file + * etc.c (tempfname): always file to delete + * file.c (xface2xpm): no need fileToDelete + (readHeader): ditto + (loadGeneralFile): ditto + (loadHTMLBuffer): ditto + (loadHTMLString): ditto + (loadGopherDir): ditto + (loadImageBuffer): ditto + (doExternal): rewrite + (doFileSave): no need fileToDelete + (uncompress_stream): ditto + * fm.h (CurrentPid): added + * image.c (getImage): cache->touch to delete + * local.c (setLocalCookie): use CurrentPid + (localcgi_post): fileToDelete + * main.c (main): CurrentPid + (pipeBuf): no need fileToDelete + (query_from_followform): CurrentPid + (vmSrc): no need fileToDelete + +2003-01-11 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> + * [w3m-dev 03628] Re: Error occured while reset * file.c (doExternal): bufp = NULL, return 1 (uncompress_stream): tempfname fileToDelete @@ -6286,4 +6309,4 @@ a * [w3m-dev 03276] compile error on EWS4800 * release-0-2-1 * import w3m-0.2.1 -$Id: ChangeLog,v 1.666 2003/01/10 16:33:38 ukai Exp $ +$Id: ChangeLog,v 1.667 2003/01/10 16:42:14 ukai Exp $ @@ -1,4 +1,4 @@ -/* $Id: etc.c,v 1.46 2002/12/27 16:09:18 ukai Exp $ */ +/* $Id: etc.c,v 1.47 2003/01/10 16:42:26 ukai Exp $ */ #include "fm.h" #include <pwd.h> #include "myctype.h" @@ -7,11 +7,6 @@ #include "hash.h" #include "terms.h" -#ifdef HAVE_GETCWD /* ??? ukai */ -#include <unistd.h> -#include <sys/param.h> -#endif /* HAVE_GETCWD */ - #include <sys/types.h> #include <time.h> #if defined(HAVE_WAITPID) || defined(HAVE_WAIT3) @@ -1517,7 +1512,8 @@ tmpfname(int type, char *ext) tmpf = Sprintf("%s/w3m%s%d-%d%s", rc_dir, tmpf_base[type], - (int)getpid(), tmpf_seq[type]++, (ext) ? ext : ""); + CurrentPid, tmpf_seq[type]++, (ext) ? ext : ""); + pushText(fileToDelete, tmpf->ptr); return tmpf; } @@ -1,4 +1,4 @@ -/* $Id: file.c,v 1.181 2003/01/10 16:33:46 ukai Exp $ */ +/* $Id: file.c,v 1.182 2003/01/10 16:42:29 ukai Exp $ */ #include "fm.h" #include <sys/types.h> #include "myctype.h" @@ -543,7 +543,6 @@ xface2xpm(char *xface) pclose(f); if (stat(xpm, &st)) return NULL; - pushText(fileToDelete, xpm); if (!st.st_size) return NULL; return xpm; @@ -579,7 +578,6 @@ readHeader(URLFile *uf, Buffer *newBuf, int thru, ParsedURL *pu) if (thru && !newBuf->header_source) { Str tmpf = tmpfname(TMPF_DFL, NULL); - pushText(fileToDelete, tmpf->ptr); src = fopen(tmpf->ptr, "w"); if (src) newBuf->header_source = tmpf->ptr; @@ -1537,7 +1535,6 @@ loadGeneralFile(char *path, ParsedURL *volatile current, char *referer, if (ftpdir && ftpdir->length > 0) { FILE *src; tmp = tmpfname(TMPF_SRC, ".html"); - pushText(fileToDelete, tmp->ptr); src = fopen(tmp->ptr, "w"); if (src) { Strfputs(ftpdir, src); @@ -1593,7 +1590,6 @@ loadGeneralFile(char *path, ParsedURL *volatile current, char *referer, if (group && group->length > 0) { FILE *src; tmp = tmpfname(TMPF_SRC, ".html"); - pushText(fileToDelete, tmp->ptr); src = fopen(tmp->ptr, "w"); if (src) { Strfputs(group, src); @@ -6091,7 +6087,6 @@ loadHTMLBuffer(URLFile *f, Buffer *newBuf) if (newBuf->sourcefile == NULL && (f->scheme != SCM_LOCAL || newBuf->mailcap)) { tmp = tmpfname(TMPF_SRC, ".html"); - pushText(fileToDelete, tmp->ptr); src = fopen(tmp->ptr, "w"); if (src) newBuf->sourcefile = tmp->ptr; @@ -6586,7 +6581,6 @@ loadHTMLString(Str page) if (w3m_dump & DUMP_FRAME) { tmp = tmpfname(TMPF_SRC, ".html"); - pushText(fileToDelete, tmp->ptr); src = fopen(tmp->ptr, "w"); if (src) newBuf->sourcefile = tmp->ptr; @@ -6713,7 +6707,6 @@ loadGopherDir(URLFile *uf, Buffer *volatile newBuf) file = tmpfname(TMPF_SRC, ".html"); src = fopen(file->ptr, "w"); newBuf->sourcefile = file->ptr; - pushText(fileToDelete, file->ptr); init_stream(&f, SCM_LOCAL, newStrStream(tmp)); loadHTMLstream(&f, newBuf, src, TRUE); @@ -6893,7 +6886,6 @@ loadImageBuffer(URLFile *uf, Buffer *newBuf) tmpf = tmpfname(TMPF_SRC, ".html"); src = fopen(tmpf->ptr, "w"); newBuf->mailcap_source = tmpf->ptr; - pushText(fileToDelete, tmpf->ptr); init_stream(&f, SCM_LOCAL, newStrStream(tmp)); loadHTMLstream(&f, newBuf, src, TRUE); @@ -7338,26 +7330,18 @@ doExternal(URLFile uf, char *path, char *type, Buffer **bufp, struct mailcap *mcap; int mc_stat; Buffer *buf = NULL; - char *header, *src = NULL; + char *header, *src = NULL, *ext = uf.ext; if (!(mcap = searchExtViewer(type))) return 0; - tmpf = tmpfname(TMPF_DFL, NULL); - if (mcap->nametemplate) { - Str tmp = - unquote_mailcap(mcap->nametemplate, NULL, tmpf->ptr, NULL, NULL); - if (Strncmp(tmpf, tmp, tmpf->length) == 0) { - tmpf = tmp; - goto _save; - } - } - if (uf.ext && *uf.ext) { - Strcat_charp(tmpf, uf.ext); + tmpf = unquote_mailcap(mcap->nametemplate, NULL, "", NULL, NULL); + if (tmpf->ptr[0] == '.') + ext = tmpf->ptr; } + tmpf = tmpfname(TMPF_DFL, (ext && *ext) ? ext : NULL); - _save: if (IStype(uf.stream) != IST_ENCODED) uf.stream = newEncodedStream(uf.stream, uf.encoding); header = checkHeader(defaultbuf, "Content-Type:"); @@ -7371,7 +7355,6 @@ doExternal(URLFile uf, char *path, char *type, Buffer **bufp, } #endif - pushText(fileToDelete, tmpf->ptr); #ifdef HAVE_SETPGRP if (!(mcap->flags & (MAILCAP_HTMLOUTPUT | MAILCAP_COPIOUSOUTPUT)) && !(mcap->flags & MAILCAP_NEEDSTERMINAL) && BackgroundExtViewer) { @@ -7543,7 +7526,6 @@ _doFileCopy(char *tmpf, char *defstr, int download) if (f) fclose(f); #endif - pushText(fileToDelete, lock); flush_tty(); pid = fork(); if (!pid) { @@ -7646,7 +7628,6 @@ doFileSave(URLFile uf, char *defstr) if (f) fclose(f); #endif - pushText(fileToDelete, lock); flush_tty(); pid = fork(); if (!pid) { @@ -7790,7 +7771,6 @@ uncompress_stream(URLFile *uf, char **src) if (uf->scheme != SCM_LOCAL) { tmpf = tmpfname(TMPF_DFL, ext)->ptr; - pushText(fileToDelete, tmpf); if (save2tmp(*uf, tmpf) < 0) { UFclose(uf); return; @@ -1,4 +1,4 @@ -/* $Id: fm.h,v 1.101 2003/01/10 16:08:22 ukai Exp $ */ +/* $Id: fm.h,v 1.102 2003/01/10 16:42:40 ukai Exp $ */ /* * w3m: WWW wo Miru utility * @@ -829,6 +829,7 @@ global char *cgi_bin init(NULL); global char *index_file init(NULL); global char *CurrentDir; +global int CurrentPid; /* global Buffer *Currentbuf; global Buffer *Firstbuf; @@ -1,4 +1,4 @@ -/* $Id: image.c,v 1.23 2002/12/11 15:08:47 ukai Exp $ */ +/* $Id: image.c,v 1.24 2003/01/10 16:42:46 ukai Exp $ */ #include "fm.h" #include <sys/types.h> @@ -518,8 +518,6 @@ getImage(Image * image, ParsedURL *current, int flag) cache->width = image->width; cache->height = image->height; putHash_sv(image_hash, key->ptr, (void *)cache); - pushText(fileToDelete, cache->file); - pushText(fileToDelete, cache->touch); } if (flag != IMG_FLAG_SKIP) { if (cache->loaded == IMG_FLAG_UNLOADED) { @@ -1,4 +1,4 @@ -/* $Id: local.c,v 1.16 2002/11/27 16:35:18 ukai Exp $ */ +/* $Id: local.c,v 1.17 2003/01/10 16:42:50 ukai Exp $ */ #include "fm.h" #include <string.h> #include <stdio.h> @@ -30,7 +30,7 @@ setLocalCookie() char hostname[256]; gethostname(hostname, 256); - Local_cookie = Sprintf("%d.%ld@%s", getpid(), lrand48(), hostname); + Local_cookie = Sprintf("%d.%ld@%s", CurrentPid, lrand48(), hostname); set_environ("LOCAL_COOKIE", Local_cookie->ptr); } @@ -400,7 +400,6 @@ localcgi_post(char *uri, char *qstr, FormList *request, char *referer) f1 = fopen(tmp1->ptr, "w"); if (f1 == NULL) return NULL; - pushText(fileToDelete, tmp1->ptr); if ((pid = localcgi_popen_r(&f))) { fclose(f1); return pid > 0 ? f : NULL; @@ -1,10 +1,11 @@ -/* $Id: main.c,v 1.188 2003/01/10 16:23:59 ukai Exp $ */ +/* $Id: main.c,v 1.189 2003/01/10 16:42:52 ukai Exp $ */ #define MAINPROGRAM #include "fm.h" #include <signal.h> #include <setjmp.h> #include <sys/stat.h> #include <sys/types.h> +#include <unistd.h> #include <fcntl.h> #if defined(HAVE_WAITPID) || defined(HAVE_WAIT3) #include <sys/wait.h> @@ -380,6 +381,7 @@ main(int argc, char **argv, char **envp) load_argc = 0; CurrentDir = currentdir(); + CurrentPid = (int)getpid(); BookmarkFile = NULL; rc_dir = expandName(RC_DIR); i = strlen(rc_dir); @@ -1868,7 +1870,6 @@ pipeBuf(void) } saveBuffer(Currentbuf, f); fclose(f); - pushText(fileToDelete, tmpf); buf = getpipe(myExtCommand(cmd, tmpf, TRUE)->ptr); if (buf == NULL) { disp_message("Execution failed", TRUE); @@ -3051,7 +3052,7 @@ query_from_followform(Str *query, FormItemList *fi, int multipart) } fi->parent->body = (*query)->ptr; fi->parent->boundary = - Sprintf("------------------------------%d%ld%ld%ld", getpid(), + Sprintf("------------------------------%d%ld%ld%ld", CurrentPid, fi->parent, fi->parent->body, fi->parent->boundary)->ptr; } *query = Strnew(); @@ -4395,7 +4396,6 @@ vwSrc(void) !strcasecmp(Currentbuf->type, "text/plain")) { FILE *f; Str tmpf = tmpfname(TMPF_SRC, NULL); - pushText(fileToDelete, tmpf->ptr); f = fopen(tmpf->ptr, "w"); if (f == NULL) return; |