You don't need the extra check. main() being called with argc==0 is at best an obscure corner case (can it even happen?), and split_opt can deal with argc being negative.