I think that would work.
I would choose to do something like this:
void DS3234::_read_raw (void)
{
uint8_t x = 7;
digitalWrite (_ss_pin, LOW);
_spi_transfer(0); // time registers: addr 0-6
while (x--) {
*(_buffer + x) = _spi_transfer(0);
}
digitalWrite(_ss_pin, HIGH);
}