mrcImageShapePCA
【問題内容】 オプション -Cがデフォルトのときに"Not allocated"とエラーメッセージが表示される。 【使用OS】Mac X10.8.5 【動作条件】(発生したときの設定) オプション: -iのみ使用 【考察】 デフォルトのときは1が設定される仕様かと思いますが、malloc関数の戻り値がNULLでないときにエラー扱いにしているようです。 この条件は逆ではないかと思います。 【ソースコード(一部)】 ファイル名: /src/Tools/mrcImage/mrcImageShapePCA/src/mrcImageShapePCA.c 関数名: (40行目付近) if(0<linfo.nLevel) { linfo.Level = info.Contour; } else { ココ-> if(NULL!=(linfo.Level=(float*)malloc(sizeof(float)*1))) { fprintf(stderr, "Not allocated \n"); exit(EXIT_FAILURE); } linfo.Level[0] = 1; } 【対策案】 条件を逆にすれば良いかと思います。また、この場合の-Cのデータ数は1ですのでlinfo.nLevelを1にする必要があると考えます。 (40行目付近) } else { if(NULL==(linfo.Level=(float*)malloc(sizeof(float)*1))) { fprintf(stderr, "Not allocated \n"); exit(EXIT_FAILURE); } linfo.Level[0] = 1; linfo.nLevel = 1; }
修正しました。 デフォールト値は、この場合0になるべきですが、OptionControlFileから、Variableの場合、値を持ち込むことができない設定になっています。 この点は注意が必要です。チケットを発行しておきます。
Details