SourceForge Forum
norep****@sourc*****
2014年 7月 7日 (月) 19:15:07 JST
このメールはSourceForge.JPのフォーラムからの自動転送です。 注意: このメールに返信しても単に無視されます。 フォーラムメッセージへの返信は以下のURLにアクセスしてください: https://sourceforge.jp/projects/eos/forums/31695/35448/73766/ 投稿者: Takuo Yasunaga (tacyas) [メッセージ #73021 への返信] > 【確認内容】 > mrcInit内にて無条件で__mrcAllocateを呼んでいます。mrc->Imageを 解放せずに読んだ場合は元データが残ってしまうのでしょ うか。 そうですね。この場合は、残ってしまいます。 元々、Initの意味がそこにあったので、無条件になっていま す。 解放したい場合には、mrcImageFreeで解放してから確認する必 要があります。 C++と異なり、constructorが無いために、初期化ができません。 変数が0であることが保証もされないので、難しいことに なっています。 以上です。 > 【対応案】 > mrcInit使用上の注意として、事前にImageが空の確認・解放を する旨をドキュメントに記載する。また、この関数を呼ん でいる主要なAPI(mrcImageReadなど)についても注意事項に記載す る。 > > ファイル名: /src/Objects/DataManip/mrcImage/src/mrcImageInit.c > 関数名: mrcInit > (48行目付近) > mrcInit(mrcImage* mrc, char* filename) > { > DEBUGPRINT("in mrcInit\n"); > /* Unless filename == NULL, File Header Read */ > if(NULL!=filename) { > mrcHeaderRead(mrc, filename, "in mrcInit", 0); > } else { > mrcDefaultHeaderValueSetOnlyFixedValue(mrc); > mrc->numTailer = 0; > } > /* Label Number Check */ > if(mrc->HeaderLabelN>MRC_MAX_LABEL_N) { > mrc->HeaderLabelN = 0L; > } > mrcHiddenDataSet(mrc, 0); > > __mrcAllocate(mrc, filename); > > mrc->status = 0; > return 0; > } > ______________________________________________________________________ Eos-Image Analysis Environment プロジェクトはフォーラムへの投稿をプロジェクトメンバーに メール送信するように設定されています。 設定の詳細に関しては、プロジェクト管理者に確認してください。