Use explicitly sized types
Switch to argp