纐纈さま, みなさま: 神代です. こちらでも ruby 1.9.2 で同じ問題が起こりました. 私の環境では, それに加えて netcdfraw.c: In function 'err_status2class': netcdfraw.c:352: warning: type of 'status' defaults to 'int' netcdfraw.c: In function 'nctype2natype': netcdfraw.c:431: warning: return discards qualifiers from pointer target type netcdfraw.c:433: warning: return discards qualifiers from pointer target type netcdfraw.c:435: warning: return discards qualifiers from pointer target type netcdfraw.c:437: warning: return discards qualifiers from pointer target type netcdfraw.c:439: warning: return discards qualifiers from pointer target type netcdfraw.c:441: warning: return discards qualifiers from pointer target type netcdfraw.c: In function 'NetCDF_open': netcdfraw.c:1027: warning: 'rb_check_safe_str' is deprecated (declared at /usr/l ocal/ruby-1.9.2/include/ruby-1.9.1/ruby/ruby.h:447) netcdfraw.c: In function 'NetCDF_create': netcdfraw.c:1050: warning: 'rb_check_safe_str' is deprecated (declared at /usr/l ocal/ruby-1.9.2/include/ruby-1.9.1/ruby/ruby.h:447) netcdfraw.c: In function 'NetCDF_att_rename': netcdfraw.c:1280: warning: 'rb_check_safe_str' is deprecated (declared at /usr/l ocal/ruby-1.9.2/include/ruby-1.9.1/ruby/ruby.h:447) の警告も出ました. 纐纈さんの変更プラスこれらの対策を, CVS にコミットしておきます. なお, STR2CSTR 削除対策は, STR2CSTR を定義するのではなく, 本文中の STR2CSTR を書き換えるやり方にしました. 変更は添付のパッチのようになります. At Wed, 22 Sep 2010 08:57:07 +0900, KOUKETSU Shinya wrote: > > 纐纈です. > > >> 他にも余計なことをしていますが、全く検証していません。 > > > > よければ解説をお願いします.取り込もうと思うと確認の時間が > > かかる(腰が重いので)と予想されますので. > > すみません. ずるしました. > > 多少, 記憶がおぼろげですが... > > ruby-1.9.2にしてから(かどうか分かりませんが...), > NetCDF_att_rename(VALUE Att,VALUE new_att_name) > (L. 1270あたり)を呼び出すと, > 「メモリが割り付けていないポインタを開放しようとした」 > 旨のエラーが出るようになりました. > ここは, 良く分かっていないのですが, 関数定義内で作った > ポインタを指すようにしているあたりかなと思い, > Netcdf_att->name=c_new_att_name; > の変わりにstrcpyを使用するように変更しました. > > あとはどうでも良いことですが... > 関数: nc_[get|put]_[var|var1|vars|attr]_[text|uchar] > の最後の引数は, char* (unsigned char *)ですが, 各所で, > unsigned char* (char*)が渡されていて, どうでもいいで > すが, 一応, 明示的にキャストしたような気がします. > (環境によりますが, warningが出ていたので, 単に気持ち > 良さのために) > -- 神代 剛 (こうしろ つよし) <koshiro@xxxxxxxxxxxxxx> 気象庁気象研究所気候研究部第四研究室 客員研究員
Attachment:
ruby-netcdf-ruby1_9_2.patch
Description: Binary data