[Groonga-commit] groonga/groonga [master] support boolean value!

Back to archive index

null+****@clear***** null+****@clear*****
2010年 8月 2日 (月) 21:46:10 JST


Daijiro MORI	2010-08-02 12:46:10 +0000 (Mon, 02 Aug 2010)

  New Revision: 73d2e41788c5da7dcafa543ea73078069ed4b1ba

  Log:
    support boolean value!

  Modified files:
    lib/expr.c

  Modified: lib/expr.c (+15 -1)
===================================================================
--- lib/expr.c    2010-08-02 12:22:29 +0000 (2649c1b)
+++ lib/expr.c    2010-08-02 12:46:10 +0000 (b40f8a8)
@@ -4879,8 +4879,13 @@ done :
     }
     break;
   case 'f' :
-    if (len == 6 && !memcmp(q->cur, "false", 6)) {
+    if (len == 5 && !memcmp(q->cur, "false", 5)) {
+      grn_obj buf;
       PARSE(GRN_EXPR_TOKEN_BOOLEAN);
+      GRN_BOOL_INIT(&buf, 0);
+      GRN_BOOL_SET(ctx, &buf, 0);
+      grn_expr_append_const(ctx, q->e, &buf, GRN_OP_PUSH, 1);
+      GRN_OBJ_FIN(ctx, &buf);
       goto exit;
     }
     break;
@@ -4892,13 +4897,22 @@ done :
     break;
   case 'n' :
     if (len == 4 && !memcmp(q->cur, "null", 4)) {
+      grn_obj buf;
       PARSE(GRN_EXPR_TOKEN_NULL);
+      GRN_VOID_INIT(&buf);
+      grn_expr_append_const(ctx, q->e, &buf, GRN_OP_PUSH, 1);
+      GRN_OBJ_FIN(ctx, &buf);
       goto exit;
     }
     break;
   case 't' :
     if (len == 4 && !memcmp(q->cur, "true", 4)) {
+      grn_obj buf;
       PARSE(GRN_EXPR_TOKEN_BOOLEAN);
+      GRN_BOOL_INIT(&buf, 0);
+      GRN_BOOL_SET(ctx, &buf, 1);
+      grn_expr_append_const(ctx, q->e, &buf, GRN_OP_PUSH, 1);
+      GRN_OBJ_FIN(ctx, &buf);
       goto exit;
     }
     break;




Groonga-commit メーリングリストの案内
Back to archive index