>>130
func1() は、戻り値を“忘れずに”free() しなきゃいけない。その代わり、
文字列サイズが何バイトだろうと受け取れる。
func2() は逆。戻り値は呼び出し元が責任持って確保しておかなきゃだけど
後処理はいらない。
状況によるだろうけど、まぁお好きなやり方で。