I was sad to see that Inline::C's documentation doesn't even really hint at what happens if your C function returns a value of type "char*".
In defense of Inline::C:
1) I wonder if Inline::C is under any obligation to document this;
2) There are a number of examples in perldoc Inline::C-Cookbook that *do* deal with newSVpv (usually as a newSVpvf)