[Namazu-users-ja 868] xlhtmlの無限ループについて

中島 健次 nakashima-k @ nttd-fr.com
2006年 10月 2日 (月) 19:30:48 JST


中島と申します。

Namazu 2.0.17リリース前の忙しい時期とは思いますが、よろしくお願いします。

「あるExcelファイルをmknmzでインデックス化しようとすると、xlhtmlの処理が
無限ループしてmknmzが終わらない」という事象が発生して困っていました。
以下の過去情報を参考に、xlhtmlのxlhtml.cに修正を加えたところ、無限ループ
しなくなり、一応インデックス化されて解決しました。

■参考にした過去情報■
「[Namazu-users-ja 703] フィルタ xlhtml」
http://www.namazu.org/pipermail/namazu-users-ja/2006-March/000703.html
「[Namazu-devel-ja 1046] Re: [Namazu-users-ja 739] Re: mailnews.pl with--decode-base64」
http://www.namazu.org/pipermail/namazu-devel-ja/2006-April/001045.html

■無限ループの事象■
xlhtml.cの1705行目付近のループ
「for(k=fc; k<=lc; k++)」
で、「lc」の値が「65535」になってしまい、無限ループする

■加えた修正■
xlhtml.cの1703行目付近のループ
「for(j=fr; j<=lr; j++)」
の終わりに「if (j == lr) break;」を追加

xlhtml.cの1705行目付近のループ
「for(k=fc; k<=lc; k++)」
の終わりに「if (k == lc) break;」を追加


自分では事象と、上記の修正で直ったという状況しか分からないでいるので、も
し今後の改善などにお役に立てばと思い、事象が発生するExcelファイルを添付
します。

上記よろしくお願いします。

RedHatLinux AS
uname -r 2.4.9-e.24enterprise
nkf -v 2.0.7
lv -v 4.51
mecab -v mecab of 0.93
mknmz -C
読み込んだ設定ファイル: /usr/local/etc/namazu/mknmzrc
システム: linux
Namazu: 2.0.16
Perl: 5.006001
File-MMagic: 1.25
NKF: module_nkf
KAKASI: module_kakasi -ieuc -oeuc -w
茶筌: no
和布蕪: module_mecab -Owakati -b 8192
わかち書き: module_mecab -Owakati -b 8192
メッセージの言語: ja_JP.eucJP
言語: ja_JP.eucJP
文字コード: euc
CONFDIR: /usr/local/etc/namazu
LIBDIR: /usr/local/share/namazu/pl
FILTERDIR: /usr/local/share/namazu/filter
TEMPLATEDIR: /usr/local/share/namazu/template
対応メディアタイプ:   (37)
未対応メディアタイプ: (7) 必要ツールが $path にないものには (-) を表示
  application/excel: excel.pl
  application/gnumeric: gnumeric.pl
  application/ichitaro5: taro56.pl
  application/ichitaro6: taro56.pl
- application/ichitaro7: taro7_10.pl
  application/macbinary: macbinary.pl
  application/msword: msword.pl
  application/pdf: pdf.pl
- application/postscript: postscript.pl
  application/powerpoint: powerpoint.pl
  application/rtf: rtf.pl
  application/vnd.kde.kivio: koffice.pl
  application/vnd.kde.kpresenter: koffice.pl
  application/vnd.kde.kspread: koffice.pl
  application/vnd.kde.kword: koffice.pl
  application/vnd.oasis.opendocument.graphics: ooo.pl
  application/vnd.oasis.opendocument.presentation: ooo.pl
  application/vnd.oasis.opendocument.spreadsheet: ooo.pl
  application/vnd.oasis.opendocument.text: ooo.pl
  application/vnd.sun.xml.calc: ooo.pl
  application/vnd.sun.xml.draw: ooo.pl
  application/vnd.sun.xml.impress: ooo.pl
  application/vnd.sun.xml.writer: ooo.pl
  application/x-apache-cache: apachecache.pl
  application/x-bzip2: bzip2.pl
  application/x-compress: compress.pl
- application/x-deb: deb.pl
- application/x-dvi: dvi.pl
  application/x-gzip: gzip.pl
- application/x-js-taro: taro7_10.pl
  application/x-rpm: rpm.pl
- application/x-tex: tex.pl
  application/x-zip: zip.pl
- audio/mpeg: mp3.pl
  message/news: mailnews.pl
  message/rfc822: mailnews.pl
  text/hnf: hnf.pl
  text/html: html.pl
  text/html; x-type=mhonarc: mhonarc.pl
  text/html; x-type=pipermail: pipermail.pl
  text/plain
  text/plain; x-type=rfc: rfc.pl
  text/x-hdml: hdml.pl
  text/x-roff: man.pl

-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: 2-3sheet.xls
型:         application/octet-stream
サイズ:     23040 バイト
説明:       無し
URL:        http://www.namazu.org/pipermail/namazu-users-ja/attachments/20061002/55262b67/2-3sheet.obj


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