>うまく動かない名無しの配列(って何?)が想像できないのだけど...
char *pch = malloc( size ) された動的配列(名無しの配列)に対しては上手く動かない。