mallocで作成された動的メモリオブジェクトのサイズを大きくする関数を書いています。関数は、引数として、増加するメモリブロック、ブロックの現在のサイズ、およびブロックが増加する量へのポインタを取得する必要があります。
このようなもの:
int getMoreSpace(void **pnt, int size, int add) {
xxxxxx *tmp; /* a pointer to the same as pnt */
if (tmp = realloc(pnt, (size+add)*sizeof(xxxxxx))) { /* get size of what pnt points to */
*pnt=tmp;
return 1;
else return 0;
}
問題は、pntが何を指していても関数を機能させたいということです。どうすればそれを達成できますか?