質問です
引数で渡した文字列の中から一部分を抜き出し、
そのアドレスを返す以下の様な関数を作ろうとしているのですが、
constでない変数をconstをつけて返すのは許されるのでしょうか?
駄目な場合戻り値で返すアドレスの中を書き換えられたく無い場合はどうすれば良いのでしょうか

const char* funcA( const char* input_data)
{
 static char data_area[32];
 memset( data_area, 0x00, sizeof(data_area) );
 strncpy( data_area, input_data+15, 30);
 data_area[31] = '\0';
 return (const char*)data_area;
}