[Musashi-devel 68] Re: AGMのワークファイルについて

Back to archive index

Yukinobu Hamuro hamur****@adm*****
2004年 8月 27日 (金) 13:12:42 JST


光永君、羽室です。

すみません、説明をしてなかったですね。

mssSetOptionの後くらいに、次の二行を入れてください。
mssGV.usedTempFileFlg=1;
mssGV.tmpPath=mssStrdup(optWFP.str);

このようにしておくと、mssEnd関数が呼ばれた際に
mssGV.tmpPathで指定されたディレクトリの下の"xt##プロセス番号*"ファイルが全て消去されます。
うまくいかなければ再度連絡ください。


入出力についてですが、私が引き受けていたことですが、まだ反映できていません(すみません)。
ついでにやっていただければ助かります。
入出力ファイルにワークファイルパスを使うというのは変ですね。

通常、ユーザが-i,-oを指定すると、指定されたファイル名をそのまま利用すべきです。
-i /home/hamuro/aaa.gml
などのようにパスが指定されていれば、そのパスにあるデータを使い、
-i aaa.gml
のようにパスの指定がなければ、カレントディレクトリのデータを使うというようにすべきです。

agm.cであれば、入力ファイル名はoptINF.strに出力ファイル名はoptOPF.strにセットされます(mssSetOptionにて)。
また、現在のソースではoptINF,optOPFともにオプショナルになっています。
ユーザが指定しなければ標準入出力を利用するようにプログラムする必要があります。
そのコードは次のような感じです(出力についても同様)。

  if(optINF.set){ /* -i がコマンドライン上で指定された */
    filename=optINF.str;
  }else{          /* -i がコマンドライン上で指定されなかった */
    filename="/dev/stdin";
  }

ここでは、標準入力に/dev/stdinファイルを用いていますが、これはポータビリティを考えると良くないかもしれません。
XMLのDOMにおけるファイルオープンに、標準のFILE構造体 "stdin"が利用できるなら、そうしたほうがベターですね。
(上記のような記述の方は簡単なので、今回は上記の方法でよいと思います)

よろしくお願いします。


Yuki Mitsunaga さんは書きました:
>光永です
>
>わかりやすい解説ありがとうございました
>今後はそちらからDLして使わせてもらいます
>
>一応修正は完了したのですがワークファイルが削除されずに残ってしまいます
>原因としては何が考えられるでしょうか?
>現在はワークファイルは xt##24212-nwrd などの名前で出力されています
>
>もう一つ質問なのですが、現在は入力ファイルと出力ファイルは
>カレントディレクトリのものを利用してるのですが
>入出力ファイルの両方orどちらかはワークファイルパスで指定された先のものを使ったほうがいいでしょうか?
>
>よろしくお願いします
>
>Yukinobu Hamuro <hamur****@adm*****> wrote:
>
>> 光永君、羽室です。
>> 
>> ソースのダウンロードは、MUSASHIの全CVSをダウンロードすることをお勧めします。
>> というのも、ヘルプファイルの位置などを変更しておりますので。
>> 
>> 以下のページの下にありますDownload tarball をクリックすればOKです。
>> http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/musashi/MUSASHI/
>> 
>> もしそちらでソースの一部を変更されているようでしたら、そのソースをダウンロードしたソースに上書きしてもらえればOKです。
>> できましたら今後、このようなスタイルをとった方が確実だと思われます。
>> 
>> 本当ならば、そちらでCVSへのアップロードもやっていただければ完璧なのですが、、、少しややこしいので、
>> 変更ソースもしくはpmmlagmディレクトリのアーカイブを送っていただければOKです。
>> 
>> ちなみにtarballを展開したあとに、MUSASHIディレクトリの下で
>> ./configure
>> make
>> を実行してください。
>> その後は、dm/pmmlagmディレクトリ内でのみの作業になると思います。
>> 
>> よろしくお願いします。
>> 
>> Yuki Mitsunaga さんは書きました:
>> >光永です、返信ありがとうございました
>> >
>> >権限の問題がありましたね、Linux使い慣れてないので忘れていました
>> >/tmp に変更されているのを確認しました
>> >では今のままでワークファイルの名前だけ変更しておきます
>> >
>> >一応確認なんですが
>> >http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/musashi/MUSASHI/dm/pmmlagm/
>> >こちらからソースファイルダウンロードしているんですが、ここであっているでしょうか?
>> >
>> >Yukinobu Hamuro <hamur****@adm*****> wrote:
>> >
>> >> 光永君、羽室です。
>> >> 
>> >> 現在の仕様では、ワークファイルはカレントディレクトリに作成されるようになっていますよね?
>> >> ということは、現在のワークディレクトリにライト権限があればよいのですが、なければプログラムは落ちることになります。
>> >> よって、ワークファイルパスは必須になると思います。
>> >> デフォルトで/tmpになるようにこちらで変更したと思います。
>> >> 
>> >> Yuki Mitsunaga さんは書きました:
>> >> >光永です
>> >> >
>> >> >今コードの変更を行っているのですが
>> >> >オプションで指定するようになっていたワークファイルのパスは
>> >> >ワークファイルを削除するならなくしてもよいのではないかと思うのですが
>> >> >いかがでしょうか?
>> >> >
>> >> >
>> >> >
>> >> 
>> >> ----
>> >> Yukinobu Hamuro  hamur****@adm*****
>> >
>> >
>> 
>> ----
>> Yukinobu Hamuro  hamur****@adm*****

----
Yukinobu Hamuro  hamur****@adm*****



Musashi-devel メーリングリストの案内
Back to archive index