A 29-year-old man is fighting for life in hospital and a 23-year-old man has been charged with grievous bodily harm after allegedly being involved in an altercation at McDonald’s drive-through south of Brisbane.