[Groonga-commit] groonga/groonga at da849db [master] Fix a bug function can't be found in function call with complex argument

Back to archive index

Kouhei Sutou null+****@clear*****
Wed Jul 1 17:49:36 JST 2015


Kouhei Sutou	2015-07-01 17:49:36 +0900 (Wed, 01 Jul 2015)

  New Revision: da849dbf299ca82180027ea94b9448c696175874
  https://github.com/groonga/groonga/commit/da849dbf299ca82180027ea94b9448c696175874

  Message:
    Fix a bug function can't be found in function call with complex argument
    
    An example complex argument is 'Table["key"].column'.
    
        function(_key, Table["key"].column)
    
    can't be found "function" as function object. It detects "_key" as
    function but it's not function object. So the function call report an
    error.

  Modified files:
    lib/expr.c

  Modified: lib/expr.c (+3 -2)
===================================================================
--- lib/expr.c    2015-07-01 16:43:55 +0900 (9481d19)
+++ lib/expr.c    2015-07-01 17:49:36 +0900 (9ce1fa0)
@@ -783,8 +783,9 @@ grn_expr_append_obj(grn_ctx *ctx, grn_obj *expr, grn_obj *obj, grn_operator op,
           for (i = 0; i < nargs; i++) {
             int rest_n_codes = 1;
             while (rest_n_codes > 0) {
-              if (!code->value) {
-                rest_n_codes += code->nargs;
+              rest_n_codes += code->nargs;
+              if (code->value) {
+                rest_n_codes--;
               }
               rest_n_codes--;
               code--;
-------------- next part --------------
HTML����������������������������...
Download 



More information about the Groonga-commit mailing list
Back to archive index