[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[dennou-ruby:003226] Re: ruby 1.9.2でのruby-netcdf対応



纐纈さま, みなさま:

神代です.

こちらでも 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