[Mew-dist 14519] Re: b70

INOUE Tomohiro tinoue at example.com
2000年 10月 13日 (金) 03:46:44 JST


こんばんは、井上です。

scan するとき同じフィールドが複数あると、後に出てきたフィールドしか
見てくれないようなので、mewls.c と mew-scan.el を変更してみました。

ただ、mewls.c の方は逐一ヘッダを表示するようにしてしまったので、
ヘッダの表示順がオプションで渡した順と変わってしまいます。
もっとちゃんとした方法で修正した方がいいのだと思います。

---
井上 知洋


-------------- next part --------------
--- mew-scan.el.orig	Fri Oct 13 03:00:59 2000
+++ mew-scan.el	Fri Oct 13 03:07:09 2000
@@ -456,7 +456,7 @@
 		;; xxx this may be able to tune up.
 		(mew-header-decode-region key med (point))
 		(setq str (buffer-substring med (1- (point))))
-		(aset vec n str)))))
+		(aset vec n (concat (aref vec n) str))))))
       (goto-char (point-max)))
     vec))
 
-------------- next part --------------
--- mewls.c.orig	Thu Oct 12 19:54:36 2000
+++ mewls.c	Fri Oct 13 03:20:09 2000
@@ -59,7 +59,7 @@
 #define INBOX    "+inbox" /* xxx */
 
 #define MAX_HEADER          8192
-#define MAX_FIELD_LEN          3
+#define MAX_FIELD_LEN          5
 #define MAX_FOLDER            16
 #define NUMBER_OF_FILE       128
 #define MAX_ARGC	      16
@@ -284,6 +284,10 @@
 	int i;
 	char *p, *limp, *end;
 
+	if (fld != NULL)
+		printf("Folder: %s\n", fld);
+	printf("Filename: %s\n", fname);
+
 	memset(Scan_ctx_beg, 0, Scan_ctx_ptr_size);
 	memset(Scan_ctx_end, 0, Scan_ctx_ptr_size);
 
@@ -305,6 +309,11 @@
 					goto final;
 				} else
 					Scan_ctx_end[i] = p;
+				if (Scan_ctx_beg[i] != NULL) {
+				  p = Scan_ctx_beg[i];
+				  while (p < Scan_ctx_end[i])
+				    putchar(*p++);
+				}
 				break;
 			}
 			i++;
@@ -319,6 +328,7 @@
 	}
 
  final:
+/*
 	if (fld != NULL)
 		printf("Folder: %s\n", fld);
 	printf("Filename: %s\n", fname);
@@ -328,6 +338,7 @@
 			while (p < Scan_ctx_end[i])
 				putchar(*p++);
 		}
+*/		
 	printf("\n");
 }
 


Mew-dist メーリングリストの案内