コード例 #1
0
static void eval_add(opstack ** stack, const void *userdata)
{                               /* (int, int) -> int */
    int a = opop_i(stack);
    int b = opop_i(stack);
    opush_i(stack, a + b);
    unused_arg(userdata);
}
コード例 #2
0
static void eval_eq(opstack ** stack, const void *userdata)
{                               /* (int, int) -> int */
    int a = opop_i(stack);
    int b = opop_i(stack);
    int rval = (a == b) ? 1 : 0;
    opush_i(stack, rval);
    unused_arg(userdata);
}
コード例 #3
0
ファイル: translation.c プロジェクト: UweKopf/server
static void eval_lt(opstack ** stack, const void *userdata)
{                               /* (int, int) -> int */
  int a = opop_i(stack);
  int b = opop_i(stack);
  int rval = (b < a) ? 1 : 0;
  opush_i(stack, rval);
  unused(userdata);
}
コード例 #4
0
static void eval_strlen(opstack ** stack, const void *userdata)
{                               /* string -> int */
    const char *c = (const char *)opop_v(stack);
    opush_i(stack, c ? (int)strlen(c) : 0);
    unused_arg(userdata);
}
コード例 #5
0
static void eval_isnull(opstack ** stack, const void *userdata)
{                               /* (int, int) -> int */
    void *a = opop_v(stack);
    opush_i(stack, (a == NULL) ? 1 : 0);
    unused_arg(userdata);
}