[Groonga-commit] groonga/groonga [master] Fix returning a wrong error code.

Back to archive index

null+****@clear***** null+****@clear*****
2012年 7月 5日 (木) 14:04:51 JST


Daijiro MORI	2012-07-05 14:04:51 +0900 (Thu, 05 Jul 2012)

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

  Log:
    Fix returning a wrong error code.

  Modified files:
    lib/store.c

  Modified: lib/store.c (+9 -11)
===================================================================
--- lib/store.c    2012-07-05 13:19:10 +0900 (c96693d)
+++ lib/store.c    2012-07-05 14:04:51 +0900 (7eb8752)
@@ -818,7 +818,7 @@ grn_ja_put_raw(grn_ctx *ctx, grn_ja *ja, grn_id id,
               memcpy(b + pos, value, value_len);
               *((uint32_t *)(b + el)) = pos + value_len;
             }
-            return ctx->rc;
+            return GRN_SUCCESS;
           } else {
             if ((rc = grn_ja_alloc(ctx, ja, id,
                                    value_len + old_len + sizeof(uint32_t),
@@ -868,7 +868,7 @@ grn_ja_put_raw(grn_ctx *ctx, grn_ja *ja, grn_id id,
               memcpy(b + pos - value_len, value, value_len);
               *((uint32_t *)(b + el)) = pos - value_len;
             }
-            return ctx->rc;
+            return GRN_SUCCESS;
           } else {
             if ((rc = grn_ja_alloc(ctx, ja, id,
                                    value_len + old_len + sizeof(uint32_t),
@@ -937,17 +937,15 @@ grn_ja_put_raw(grn_ctx *ctx, grn_ja *ja, grn_id id,
     break;
   default :
     ERR(GRN_INVALID_ARGUMENT, "grn_ja_put_raw called with illegal flags value");
-    return ctx->rc;
+    return GRN_INVALID_ARGUMENT;
   }
-  if (grn_ja_replace(ctx, ja, id, &einfo, cas)) {
-    grn_rc rc = ctx->rc;
-    ctx->rc = GRN_SUCCESS;
-    if (grn_io_lock(ctx, ja->io, 10000000)) { return ctx->rc; }
-    grn_ja_free(ctx, ja, &einfo);
-    grn_io_unlock(ja->io);
-    ctx->rc = rc;
+  if ((rc = grn_ja_replace(ctx, ja, id, &einfo, cas))) {
+    if (!grn_io_lock(ctx, ja->io, 10000000)) {
+      grn_ja_free(ctx, ja, &einfo);
+      grn_io_unlock(ja->io);
+    }
   }
-  return ctx->rc;
+  return rc;
 }
 
 grn_rc
-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
Download 



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