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