[Groonga-commit] groonga/groonga [master] ensure fin temporary buffer.

Back to archive index

null+****@clear***** null+****@clear*****
2011年 1月 10日 (月) 16:49:50 JST


Kouhei Sutou	2011-01-10 07:49:50 +0000 (Mon, 10 Jan 2011)

  New Revision: d810b46d1026133b1dc8326b6309b21e7c5ae50c

  Log:
    ensure fin temporary buffer.

  Modified files:
    lib/output.c

  Modified: lib/output.c (+4 -2)
===================================================================
--- lib/output.c    2011-01-10 07:20:02 +0000 (bf92bb8)
+++ lib/output.c    2011-01-10 07:49:50 +0000 (3e03e2f)
@@ -893,7 +893,7 @@ grn_output_obj(grn_ctx *ctx, grn_obj *outbuf, grn_content_type output_type,
     if (format) {
       int i, j;
       int ncolumns = GRN_BULK_VSIZE(&format->columns)/sizeof(grn_obj *);
-      grn_obj id, **columns = (grn_obj **)GRN_BULK_HEAD(&format->columns);
+      grn_obj **columns = (grn_obj **)GRN_BULK_HEAD(&format->columns);
       grn_table_cursor *tc = grn_table_cursor_open(ctx, obj, NULL, 0, NULL, 0,
                                                    format->offset, format->limit,
                                                    GRN_CURSOR_ASCENDING);
@@ -930,8 +930,9 @@ grn_output_obj(grn_ctx *ctx, grn_obj *outbuf, grn_content_type output_type,
         }
         grn_output_array_close(ctx, outbuf, output_type);
       }
-      GRN_TEXT_INIT(&id, 0);
       if (tc) {
+        grn_obj id;
+        GRN_TEXT_INIT(&id, 0);
         for (i = 0; !grn_table_cursor_next_o(ctx, tc, &id); i++) {
           grn_output_array_open(ctx, outbuf, output_type, "HIT", ncolumns);
           for (j = 0; j < ncolumns; j++) {
@@ -939,6 +940,7 @@ grn_output_obj(grn_ctx *ctx, grn_obj *outbuf, grn_content_type output_type,
           }
           grn_output_array_close(ctx, outbuf, output_type);
         }
+        GRN_OBJ_FIN(ctx, &id);
         grn_table_cursor_close(ctx, tc);
       }
       grn_output_array_close(ctx, outbuf, output_type);




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