[#5219] ruby for perl users — Noritsugu Nakamura <nnakamur@...>

35 messages 1997/11/09
[#5220] Re: ruby for perl users — tateishi@... (Tateishi Takaaki) 1997/11/09

立石です。

[#5224] Re: ruby for perl users — shugo@... (Shugo Maeda) 1997/11/09

前田です。

[#5243] read from subprocess — Kikutani Makoto <kikutani@...>

きくたにです。

17 messages 1997/11/10
[#5250] Re: read from subprocess — matz@... (Yukihiro Matsumoto) 1997/11/11

まつもと ゆきひろです

[#5300] Win32用の Rubyでの tkの使用 — Tomoaki Takebayashi <tota@...>

はじめまして、竹林といいます。

14 messages 1997/11/15
[#5302] Re: Win32用の Rubyでの tkの使用 — WATANABE Hirofumi <eban@...> 1997/11/15

わたなべです.

[#5303] Re: Win32 用の Rubyでの tkの使用 — Tomoaki Takebayashi <tota@...> 1997/11/15

[#5305] Re: Win32 用の Ruby での tk の使用 — aito@...5sun.yz.yamagata-u.ac.jp 1997/11/17

あ伊藤です.

[#5320] ruby 1.0-971118 released — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

20 messages 1997/11/18
[#5337] Re: ruby 1.0-971118 released — WATANABE Hirofumi <watanabe@...> 1997/11/19

わたなべです.

[#5340] Re: ruby 1.0-971118 released — matz@... (Yukihiro Matsumoto) 1997/11/19

まつもと ゆきひろです

[#5398] 配列への追加について — a-nisida@... (西田明良)

はじめまして、西田@初心者 と申します。m(..)m

16 messages 1997/11/22

[ruby-list:5346] Re: DBM.delete_if bug ?

From: 藤本尚邦 / FUJIMOTO Hisakuni <hisa@...>
Date: 1997-11-19 04:06:37 UTC
List: ruby-list #5346
  藤本です、こんにちは。

From: matz@netlab.co.jp (Yukihiro Matsumoto)
Subject: [ruby-list:5338] Re: DBM.delete_if bug ?
Date: Wed, 19 Nov 97 11:05:38 +0900

> In message "[ruby-list:5336] DBM.delete_if bug ?"
>     on 97/11/19, 藤本尚邦 / FUJIMOTO Hisakuni <hisa@imasy.or.jp> writes:
> |のですが、GetDBM() のあと dbm = dbmp->di_dbm が必要じゃないでしょうか?
> 必要です.どうもありがとうございます.早速修正しましょう.

  どうもありがとうございます。

> |  僕のところ(Linux, RedHat4.1)では ndbm.h がなくて DBM クラスが使え
> |ないみたいなので、名前がgdbm_で始まるgdbm.hの関数を使うように dbm.c を
> |書き換えました。それで動作確認しているときに delete_if を送ったところ
> |で止まってしまうので発見しました。
> 
> 変更を行ったものをgdbmモジュールとしてcontribして頂けません
> でしょうか?

  はい、ぜひそうしたいと思います。dbm.c自体を直接書き換えてしまってい
るだけなので、gdbmモジュールの形に直そうと思います。

  わからないところがあるので確認したいのですが、dbm.cの関数fdbm_store
の定義の中で、dbm_clearerr(dbm)を使っているところがあります。これに相
当する関数が gdbm.h にないようなので、以下のようにとりあえずコメントア
ウトしました。

    if (gdbm_store(dbm, key, val, GDBM_REPLACE)) {
	/* dbm_clearerr(dbm); */
	if (errno == EPERM) rb_sys_fail(Qnil);
	Fail("dbm_store failed");
    }

  僕のところにはdbm_clearerrのmanページがなくて、これでいいのかわから
ないのですがどうでしょうか? 
  gdbm_errno = GDBM_NOERR とすればいいかなとも思ったのですが、
dbm_clearerrが、(DBMインスタンスはそれぞれエラー状態を持っていて)引
数で指定されたDBMインスタンスのエラー状態をクリアするという意味だと想
像すると、gdbm_errno = GDBM_NOERR に置き換えるのはちょっとズレてるよう
な気もするし..

=============================================================
 藤本尚邦  FUJIMOTO Hisakuni                hisa@imasy.or.jp
=============================================================

In This Thread