gcc complained about return value