buf is the pointer that points at the first element of the array of characters, as I'm teached to think.
Anyway, it turns out the problem is different: it has something to do with CODAN code analyser. If you want to read more about this, I could give you a link in private (I'm still not allowed to post links).
The problem was solved by switching the level of warning of 'Invalid arguments' from 'Error' to 'Warning'. It's not good, but it works.
You might have noticed that question mark in the signature above. That means the indexer could not resolve the type of the second argument. According to the fstream header (select getline and then press F3 to get the definition) it should be streamsize. However, when I want to see the definition of streamsize the indexer presents me 2 alternatives. The one from the C++ std headers and another one from a STLport header (I have installed STLport in my project). In the STLport header the typedef for streamsize (ptrdiff_t) fails.
I guess you might have a similar problem (two concurring definitions of streamsize).
I don't think a double definition of streamsize can explain an indexer behavior. I ran into the same problem few times already. Using a local instance of Eclipse Indigo on Mac as IDE for Linux RT development make me disappointed with the present CODAN quality. I managed to add remote headers to a project and the indexer took them well from a Linux server. CODAN way making its code analysis also well till the issue of the topic. A very simple example of a code with demonstrates the problem. with b - no error, with orbitTimestamp - wrong argument. Castig is added to enforce somehow CODAN to treat the argument as needed.