[Groonga-commit] groonga/groonga [master] Replace _grn_hash_create() with grn_hash_init().

Back to archive index

null+****@clear***** null+****@clear*****
2012年 3月 30日 (金) 10:09:48 JST


Susumu Yata	2012-03-30 10:09:48 +0900 (Fri, 30 Mar 2012)

  New Revision: fd415e8d29baa9716d560b1faecca90a11e2d87b

  Log:
    Replace _grn_hash_create() with grn_hash_init().

  Modified files:
    lib/hash.c

  Modified: lib/hash.c (+11 -15)
===================================================================
--- lib/hash.c    2012-03-29 19:53:37 +0900 (c34984c)
+++ lib/hash.c    2012-03-30 10:09:48 +0900 (520b6bd)
@@ -1131,17 +1131,17 @@ tiny_hash_init(grn_hash *ah, grn_ctx *ctx, const char *path, uint32_t key_size,
   return GRN_SUCCESS;
 }
 
-inline static grn_hash *
-_grn_hash_create(grn_ctx *ctx, grn_hash *hash, const char *path,
-                 uint32_t key_size, uint32_t value_size, uint32_t flags)
+static grn_rc
+grn_hash_init(grn_ctx *ctx, grn_hash *hash, const char *path,
+              uint32_t key_size, uint32_t value_size, uint32_t flags)
 {
-  grn_encoding encoding = ctx->encoding;
-  if (!((flags & GRN_HASH_TINY) ?
-        tiny_hash_init(hash, ctx, path, key_size, value_size, flags, encoding) :
-        io_hash_init(hash, ctx, path, key_size, value_size, flags, encoding, 0))) {
-    return hash;
+  if (flags & GRN_HASH_TINY) {
+    return tiny_hash_init(hash, ctx, path, key_size, value_size,
+                          flags, ctx->encoding);
+  } else {
+    return io_hash_init(hash, ctx, path, key_size, value_size,
+                        flags, ctx->encoding, 0);
   }
-  return NULL;
 }
 
 grn_hash *
@@ -1154,7 +1154,7 @@ grn_hash_create(grn_ctx *ctx, const char *path, uint32_t key_size, uint32_t valu
     return NULL;
   }
   GRN_DB_OBJ_SET_TYPE(hash, GRN_TABLE_HASH_KEY);
-  if (!_grn_hash_create(ctx, hash, path, key_size, value_size, flags)) {
+  if (grn_hash_init(ctx, hash, path, key_size, value_size, flags)) {
     GRN_FREE(hash);
     return NULL;
   }
@@ -1272,12 +1272,8 @@ grn_hash_truncate(grn_ctx *ctx, grn_hash *hash)
     if ((rc = grn_io_close(ctx, hash->io))) { goto exit; }
     hash->io = NULL;
     if (path && (rc = grn_io_remove(ctx, path))) { goto exit; }
-  } else {
-    rc = GRN_SUCCESS;
-  }
-  if (!_grn_hash_create(ctx, hash, path, key_size, value_size, flags)) {
-    rc = GRN_UNKNOWN_ERROR;
   }
+  rc = grn_hash_init(ctx, hash, path, key_size, value_size, flags);
 exit:
   if (path) { GRN_FREE(path); }
   return rc;




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