事象の水平線

個人的ブックマーク代わりなメモ書きブログ。 地球は丸いよ。↓このへん。

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

PageTop
epgrec UNAに移行して、tsselectも新規にインストールしたら、いきなり動かない。
どうもFloating point exceptionとか何とか言われる。

で、グーグル先生に聞いたら、某ニチャンのスレで答え発見。
進行状況表示で0割してるらしい。

なるほど、
tsselect.cの312行目と503行目の
n = (int)(10000*offset/total);
が0割になる時があるのかな。

てな訳で、
n = total != 0 ? (int)(10000*offset/total) : (int)(10000*offset);
というお粗末な事をしてコンパイルして終了。動くようになった。
標準出力だけのようなので、全体をif( total != 0 )で囲んでもよかったけど、直接ターミナルで動かした時、何の表示もなく数分固まるのもいやなので、むちゃくちゃだけどこうしておいた。

んー今までなかったのになぜだろう。いいのかな?まぁぃいゃ。cなんてぜんぜんわからんし~~。ドロップとエラーのカウントをしてログ吐いてるだけだし。

と、思ったら今度は
failed on open(/file/name) [src]
がでる。

で、どうやら32bitOSにしたせいらしい。こんな弊害が出るとは・・・・

で、tsselect.cの頭に以下を入れてコンパイル、で、OK
#define _LARGEFILE_SOURCE
#define _FILE_OFFSET_BITS 64


参考『プログラミング/C,C++/2GBより大きなファイルの扱い
スポンサーサイト

PageTop

コメント

 ※
 ※
管理者にだけ表示を許可する
  ※ 必須項目です

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。