/* Emit code to go through if 'e' is true, jump otherwise.  */
void luaK_goiftrue(FuncState *fs, expdesc *e)
/* Emit code to go through if 'e' is true, jump otherwise.  */
void luaK_goiftrue(FuncState *fs, expdesc *e)
{
    case VJMP: {
      negatecondition(fs, e);
      pc = e->u.info;
      break;
    }
    case VK: case VKFLT: case VKINT: case VKSTR: case VTRUE: {
      pc = NO_JUMP;
      break;
    }
    default: {
      pc = jumponcond(fs, e, 0);
      break;
    }
  }
  luaK_concat(fs, &e->f, pc);
  luaK_patchtohere(fs, e->t);
  e->t = NO_JUMP;
}