いやいや、
void func( char *output, int max_buffer)
ってのは

char *output に結果を返すんだよ。
そんなのもわからんのか。

max_bufferはオーバーフローを防ぐための物だ。
何を言ってんだ一体