Actually, I find the double pointer version easier to understand, and incidentally it is also the way always wrote this in C. And I pitied the pascal programmers who had to use the original version.
'Simplify so a fool can understand your code, and you will have fools editing it.'