namazu-dev(ring)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: integrating NMZ.i and NMZ.w
Rei FURUKAWA <furukawa@xxxxxxxxxxxx> wrote:
>ダーッと書いていたら、基本機能はそれらしく動くようになりました。
src/gcnmz.in 新しいファイルに置き換えて commit しておきまし
た。古川さんもcommitter になって、 src/gcnmz.in をメインテナ
ンスしてもらえます?
>まだ真剣にテストしていないので、大穴が開いている可能性もありますが…
動作確認はまだしていませんが、
sub readw{
my $fh = shift;
my $ret = '';
my $c;
while (read($fh, $c, 1)){
$ret .= $c;
last unless 0x80 & ord $c;
}
unpack('w', $ret);
}
この関数、いいですね。mknmzで使わせてもらいます。私が書いた
sub get_unpackw ($) {
my ($fh) = @_;
my $val = 0;
while (1) {
my $tmp = getc($fh);
util::cdie("fatal error occurred in get_unpackw\n")
unless defined $tmp;
$tmp = ord($tmp);
if ($tmp < 128) {
$val += $tmp;
return $val;
} else {
$tmp &= 0x7f;
$val += $tmp;
$val <<= 7;
}
}
}
よりずっといいです。:-)
-- Satoru Takabayashi