[Namazu-devel-ja 1648] Re: Emphasis tagが閉じない問題

NOKUBI Takatsugu knok @ daionet.gr.jp
2007年 10月 10日 (水) 14:49:43 JST


At Tue, 09 Oct 2007 17:17:37 +0900,
NOKUBI Takatsugu wrote:
>   src/output.cのemprintでemphasis_start_tagとend_tagの出現回数がきちん
> とあうように修正するのが正しい対処でしょうか。

  末尾にあるようなパッチを書いてみました。異論がなければこれでcommitし
ようと思います。
-- 
野首 貴嗣
E-mail: knok @ daionet.gr.jp
	knok @ namazu.org / knok @ debian.org

Index: src/output.c
===================================================================
RCS file: /storage/cvsroot/namazu/src/output.c,v
retrieving revision 1.80.4.17
diff -u -r1.80.4.17 output.c
--- src/output.c        20 Mar 2004 15:02:51 -0000      1.80.4.17
+++ src/output.c        10 Oct 2007 05:48:16 -0000
@@ -117,11 +117,14 @@
 emprint(char *s, int entity_encode)
 {
     int i;
+    int nestedtags = 0;
     for (i = 0; i < BUFSIZE * 16 && *s; s++) {
        if (*s == EM_START_MARK) {
+           nestedtags++:
            fputs(emphasis_start_tag, stdout);
            continue;
        } else if (*s == EM_END_MARK) {
+           nestedtags--:
            fputs(emphasis_end_tag, stdout);
            continue;
        }
@@ -142,6 +145,9 @@
            fputc(*s, stdout);
        }
     }
+    for (; nestedtags < 0; nestedtags--) {
+       fputs(emphasis_end_tag, stdout);
+    }
 }

 /*



Namazu-devel-ja メーリングリストの案内