[w3m-dev 03431] save file by background process

* file.c (loadGeneralFile): use _doFileCopy()
	(_doFileCopy): renamed from doFileCopy()
			lock
			fork & save
	(doFileSave): lock
			fork & save
* fm.h (DownloadList): added
	(FirstDL): added
	(LastDL): added
* form.c (struct internal_action): add download
* funcname.tab (DOWNLOAD_LIST): added
* html.h (URLFile): add url
* main.c (dump_extra): add add_download_list
	(main): add_download_list, ldDL()
	(_quitfm): added
	(quitfm): rewrite with _quitfm()
	(qquitfm): ditto
	(w3m_exit): stopDownload()
	(addDownloadList): added
	(checkDownloadList): added
	(convert_size3): added
	(DownloadListBuffer): added
	(download_action): added
	(stopDownload): added
	(ldDL): added
* proto.h (ldDL): added
	(convert_size): added
	(convert_size2): added
	(doFileCopy): deleted
	(_doFileCopy): added
	(addDownloadList): added
	(stopDownload): added
	(checkDownloadList): added
	(download_action): added
* url.c (openURL): save url in uf
From: Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
This commit is contained in:
Fumitoshi UKAI
2002-11-15 15:19:43 +00:00
parent ccd60ac7b7
commit 62fc785e24
9 changed files with 392 additions and 31 deletions

13
proto.h
View File

@@ -1,4 +1,4 @@
/* $Id: proto.h,v 1.54 2002/11/10 11:59:15 ukai Exp $ */
/* $Id: proto.h,v 1.55 2002/11/15 15:19:46 ukai Exp $ */
/*
* This file was automatically generated by version 1.7 of cextract.
* Manual editing not recommended.
@@ -128,6 +128,7 @@ extern void tabURL(void);
extern void tabrURL(void);
extern void tabR(void);
extern void tabL(void);
extern void ldDL(void);
extern int currentLn(Buffer *buf);
extern void tmpClearBuffer(Buffer *buf);
@@ -185,6 +186,8 @@ extern void HTMLlineproc0(char *istr, struct html_feed_environ *h_env,
int internal);
#define HTMLlineproc1(x,y) HTMLlineproc0(x,y,TRUE)
extern Buffer *loadHTMLBuffer(URLFile *f, Buffer *newBuf);
extern char *convert_size(clen_t size, int usefloat);
extern char *convert_size2(clen_t size1, clen_t size2, int usefloat);
extern void showProgress(clen_t *linelen, clen_t *trbyte);
extern void init_henv(struct html_feed_environ *, struct readbuffer *,
struct environment *, int, TextLineList *, int, int);
@@ -209,7 +212,8 @@ extern Line *getNextPage(Buffer *buf, int plen);
extern int save2tmp(URLFile uf, char *tmpf);
extern int doExternal(URLFile uf, char *path, char *type, Buffer **bufp,
Buffer *defaultbuf);
extern void doFileCopy(char *tmpf, char *defstr);
extern void _doFileCopy(char *tmpf, char *defstr, int download);
#define doFileCopy(tmpf, defstr) _doFileCopy(tmpf, defstr, FALSE);
extern void doFileMove(char *tmpf, char *defstr);
extern void doFileSave(URLFile uf, char *defstr);
extern int checkCopyFile(char *path1, char *path2);
@@ -221,6 +225,11 @@ extern void readHeader(URLFile *uf, Buffer *newBuf, int thru, ParsedURL *pu);
extern char *checkHeader(Buffer *buf, char *field);
extern TabBuffer *newTab(void);
extern TabBuffer *deleteTab(TabBuffer *tab);
extern void addDownloadList(pid_t pid, char *url, char *save, char *lock,
clen_t size);
extern void stopDownload(void);
extern int checkDownloadList(void);
extern void download_action(struct parsed_tagarg *arg);
extern Buffer *newBuffer(int width);
extern Buffer *nullBuffer(void);
extern void clearBuffer(Buffer *buf);