Does anyone know in what situations it is generally advised to use one or the other.
I have the feeling that if you stay within C, it really doesn't matter a whole lot, but if you are mixing C with various other languages it is probably better to have the callee allocate any needed memory.
If you don't feel like explaining, I don't mind reading a good article, I just couldn't find anything.