for ( i = 0; i MAXDIMS; i ) pointr_array[i] = actual_space[i];
status = gsdInqSize( ..., pointr_array, ... );
The reason why this call works but passing actual_space does not work, is that gsdInqSize uses the given value as a char . So in this routine given goes forward in memory by the size of a char or the number of bytes needed to store a pointer. actual_space would need a step in memory by 16 bytes, i.e. the distance from one string to the next. The main routine knows about this, because it declared actual_space _and_ pointr_array.
The Global Section Datafile (GSD) access library