The thread unsafe ones are all the ones that return a pointer to an internal buffer.
The corresponding thread safe versions have the same name with a suffix of _r (for "re-entrant").
For instance, ctime() and ctime_r().
Bionic Buffalo lists these thread safe / unsafe functions: <http://www.tatanka.com/doc/technote/tn0105.pdf>
HTH, --Eljay