In the unmarshalling of dataset containing TIMEDATE64 array, the current function only returns the unmarshalled data for the last element in the array. Irrespective of the input array size, the tau_unmarshall() always returns buffer size of only 8 bits (i.e. unmarshalled last TIMEDATE64 element).
After analysis of the unmarshallDs function in taumarshall.c:810-812 , found that the code needs a change as per the attached diff.
Siddhi, proposal looks OK to me.