Namazu-devel-ja(旧)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: & in href



<20011225160350.A66A.TIETEW@xxxxxxxxxx>の記事において
tietew@xxxxxxxxxxさんは書きました。

>> 結果ですが,まだ不完全です。
>> 
>> (1)
>> NMZ.field.uri に "&" が書かれているとそのまま出てしまいます。
>> < > " も同様。
>> 
>> (2)
>> .namazurc で,
>> Replace /.../.../  http://foo/bar?baz=zot&hoge=
>> とか指定してあると,"&" がそのまま出てしまいます。
>> < > " も同様。
>> 
>> bugs-ja#55 へのフォローでここの問題も指摘したハズなんですが。

  ちょっとコードを読み違えていました。以下のパッチでどうでしょうか。
-- 
野首 貴嗣
E-mail: knok@xxxxxxxxxxxxx
	knok@xxxxxxxxxx / knok@xxxxxxxxxx

? tests/mknmz-17
Index: ChangeLog
===================================================================
RCS file: /storage/cvsroot/namazu/ChangeLog,v
retrieving revision 1.837.4.148
diff -c -r1.837.4.148 ChangeLog
*** ChangeLog	2001/12/25 06:10:49	1.837.4.148
--- ChangeLog	2001/12/25 08:24:20
***************
*** 1,5 ****
--- 1,8 ----
  2001-12-25  NOKUBI Takatsugu  <knok@xxxxxxxxxxxxx>
  
+ 	* src/result.c (replace_field): Changed to encode into entity on
+ 	all fields.
+ 
  	* configure.in (AM_INIT_AUTOMAKE): Bumped version number to
  	2.0.10rc2.
  
Index: src/result.c
===================================================================
RCS file: /storage/cvsroot/namazu/src/result.c,v
retrieving revision 1.59.8.8
diff -c -r1.59.8.8 result.c
*** src/result.c	2001/12/21 07:58:25	1.59.8.8
--- src/result.c	2001/12/25 08:24:20
***************
*** 156,171 ****
  
      /* 
       * Do not emphasize keywords in URI.
-      * And do not encode entity in URI.
       */
!     if (strcasecmp(field, "uri") != 0) {
! 	if (is_htmlmode()) {
  	    emphasize(buf);
- 	} else {
- 	    encode_entity(buf);
- 	}
      }
- 
  
      /* Insert commas if the buf is a numeric string. */
      if (nmz_isnumstr(buf)) {
--- 156,167 ----
  
      /* 
       * Do not emphasize keywords in URI.
       */
!     if (is_htmlmode()) {
! 	encode_entity(buf);
! 	if (strcasecmp(field, "uri") != 0)
  	    emphasize(buf);
      }
  
      /* Insert commas if the buf is a numeric string. */
      if (nmz_isnumstr(buf)) {