The bodies of the cases are all the same. Better to do
case '<':
case '=':
case '>':
case '?':
  param->cmd = PACK_CSI_COMMAND(param->cmd, *datap);
  etc