[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
dump_head_source patch
坂本> -dump_head + -dump_source については、w3m には -m オプションがあるので
坂本> ヘッダ付きでソースを保存するメリットは十分あると思いますから、w3m.el に
坂本> よらず入れておいた方がいいと思います。
という坂本さんの提案を受けて、-dump_head_source オプションを新設するた
めのパッチを作成しました。w3m-0.2.1 を対象とするパッチです。
Index: file.c
===================================================================
RCS file: /home/tsuchiya/cvsroot/w3m/file.c,v
retrieving revision 1.1.1.3
retrieving revision 1.1.1.3.4.1
diff -u -r1.1.1.3 -r1.1.1.3.4.1
--- file.c 2001/03/23 04:38:29 1.1.1.3
+++ file.c 2001/03/28 02:34:12 1.1.1.3.4.1
@@ -877,7 +877,7 @@
unsigned char status = HTST_NORMAL;
URLOption url_option;
Str tmp;
- extern int w3m_dump, w3m_dump_source;
+ extern int w3m_dump, w3m_dump_source, w3m_dump_head_source;
tpath = path;
prevtrap = NULL;
@@ -1179,7 +1179,7 @@
}
if (f.compression != CMP_NOCOMPRESS) {
- if (!w3m_dump_source &&
+ if ((w3m_dump_head_source || !w3m_dump_source) &&
(w3m_dump || is_text_type(t) || searchExtViewer(t))) {
gunzip_stream(&f);
uncompressed_file_type(pu.file, &f.ext);
Index: main.c
===================================================================
RCS file: /home/tsuchiya/cvsroot/w3m/main.c,v
retrieving revision 1.1.1.3
retrieving revision 1.1.1.3.4.1
diff -u -r1.1.1.3 -r1.1.1.3.4.1
--- main.c 2001/03/23 04:38:30 1.1.1.3
+++ main.c 2001/03/28 02:34:12 1.1.1.3.4.1
@@ -59,8 +59,10 @@
int w3m_dump = 0;
int w3m_dump_source = 0;
int w3m_dump_head = 0;
+int w3m_dump_head_source = 0;
static void dump_source(Buffer *);
static void dump_head(Buffer *);
+static void dump_head_source(Buffer *);
int prec_num = 0;
int prev_key = -1;
int on_target = 1;
@@ -377,8 +379,9 @@
}
else if (!strcmp("-dump_source", argv[i])) {
w3m_dump = TRUE;
- w3m_dump_source = TRUE;
w3m_dump_head = FALSE;
+ w3m_dump_source = TRUE;
+ w3m_dump_head_source = FALSE;
w3m_halfdump = FALSE;
if (COLS == 0)
COLS = 80;
@@ -387,10 +390,20 @@
w3m_dump = TRUE;
w3m_dump_head = TRUE;
w3m_dump_source = FALSE;
+ w3m_dump_head_source = FALSE;
w3m_halfdump = FALSE;
if (COLS == 0)
COLS = 80;
}
+ else if (!strcmp("-dump_head_source", argv[i])) {
+ w3m_dump = TRUE;
+ w3m_dump_head = FALSE;
+ w3m_dump_source = TRUE;
+ w3m_dump_head_source = TRUE;
+ w3m_halfdump = FALSE;
+ if (COLS == 0)
+ COLS = 80;
+ }
else if (!strcmp("-halfdump", argv[i])) {
w3m_halfdump = TRUE;
w3m_dump = FALSE;
@@ -634,7 +647,9 @@
}
if (w3m_dump) {
Currentbuf = Firstbuf = newbuf;
- if (w3m_dump_source)
+ if (w3m_dump_head_source)
+ dump_head_source(Currentbuf);
+ else if (w3m_dump_source)
dump_source(Currentbuf);
else if (w3m_dump_head)
dump_head(Currentbuf);
@@ -776,6 +791,23 @@
printf("%s", ti->ptr);
}
puts("");
+}
+
+static void
+dump_head_source(Buffer * buf)
+{
+ TextListItem *ti;
+ Str url = parsedURL2Str(&(buf->currentURL));
+
+ if (buf->document_header == NULL)
+ return;
+ for (ti = buf->document_header->first; ti; ti = ti->next) {
+ printf("%s\n", ti->ptr);
+ }
+ printf("w3m-current-url: %s\n", url->ptr);
+ puts("");
+
+ dump_source(buf);
}
void
--
土屋 雅稔 ( TSUCHIYA Masatoshi )
http://www-nagao.kuee.kyoto-u.ac.jp/member/tsuchiya/