Namazu-devel-ja(旧)


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

Re: DocCat PDF support and filter/pdf.pl



<87n1ant33i.wl@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>の記事において
fumiya@xxxxxxxxxxxさんは書きました。

>>     system("$wordconvpath -o e $cfile > $tmpfile");
>> 
>> だと $cfile にシェルの特殊文字が入っていると具合が悪いから
>> なのかなと想像しましたが違いますかね。この場合の system() は
>> /bin/sh (Windows は?) を起動して -c で起動すると記憶しているので、
>> シェルを介さない方法 (copy()) で安全な名前のファイルにコピーして
>> いるのかと?!

  そういえば以前 util::systemcmd というのを用意したので、system は全て
置き換えようとうと思っていたの忘れてました... escape はそこで一通りす
ませば良いかなと。
  今の systemcmd は Win32 環境での s!/!\\!g のみしか実装していません。

>> シェルを介さずにコマンドの起動してその出力を取り込めるような
>> 関数を作りますが、いかがでしょうか。シェルが絡むと嫌なことが多々
>> あるので、そんな関数は以前から作ろうと思ってましたし。

  それは良いかもしれません... しかし perl のコードをざっとみてみると、
どうも自前 popen を持っているようなので(util.c の my_popen)、これを使っ
ているのかなという気がします。これをみる限りは shell は介さないような
気もします。

  ... と思ったら、fj.comp.lang.perl <20010320013057inaba@xxxxxxxxxxxx>
にて関連する話題がでてます。これをみるとやっぱり shell を呼ぶような気
も...
-- 
野首 貴嗣
E-mail: knok@xxxxxxxxxxxxx