[Groonga-commit] groonga/groonga [master] Update grn_tiny_array_bit_*() to return a pointer.

Back to archive index

null+****@clear***** null+****@clear*****
2012年 3月 29日 (木) 15:32:03 JST


Susumu Yata	2012-03-29 15:32:03 +0900 (Thu, 29 Mar 2012)

  New Revision: 8eeb0781a4e3d6bd64ecf351cc5a0708699ec80d

  Log:
    Update grn_tiny_array_bit_*() to return a pointer.
    
    These functions, except grn_tiny_array_bit_at(), return NULL on failure.

  Modified files:
    lib/hash.c

  Modified: lib/hash.c (+8 -6)
===================================================================
--- lib/hash.c    2012-03-29 15:14:24 +0900 (428e0ae)
+++ lib/hash.c    2012-03-29 15:32:03 +0900 (22df28b)
@@ -82,10 +82,9 @@ grn_tiny_array_next(grn_tiny_array *array)
 }
 
 /*
- * FIXME: The following grn_tiny_array_bit_*() may fail if memory allocation
- * fails in grn_tiny_array_at_inline().
+ * grn_tiny_array_bit_at() returns the default value (0) when
+ * grn_tiny_array_at_inline() returns NULL. So, it seems to work well.
  */
-
 inline static grn_bool
 grn_tiny_array_bit_at(grn_tiny_array *array, grn_id offset)
 {
@@ -94,7 +93,7 @@ grn_tiny_array_bit_at(grn_tiny_array *array, grn_id offset)
   return ptr ? ((*ptr >> (offset & 7)) & 1) : 0;
 }
 
-inline static void
+inline static void *
 grn_tiny_array_bit_on(grn_tiny_array *array, grn_id offset)
 {
   uint8_t * const ptr =
@@ -102,9 +101,10 @@ grn_tiny_array_bit_on(grn_tiny_array *array, grn_id offset)
   if (ptr) {
     *ptr |= 1 << (offset & 7);
   }
+  return ptr;
 }
 
-inline static void
+inline static void *
 grn_tiny_array_bit_off(grn_tiny_array *array, grn_id offset)
 {
   uint8_t * const ptr =
@@ -112,9 +112,10 @@ grn_tiny_array_bit_off(grn_tiny_array *array, grn_id offset)
   if (ptr) {
     *ptr &= ~(1 << (offset & 7));
   }
+  return ptr;
 }
 
-inline static void
+inline static void *
 grn_tiny_array_bit_flip(grn_tiny_array *array, grn_id offset)
 {
   uint8_t * const ptr =
@@ -122,6 +123,7 @@ grn_tiny_array_bit_flip(grn_tiny_array *array, grn_id offset)
   if (ptr) {
     *ptr ^= 1 << (offset & 7);
   }
+  return ptr;
 }
 
 void




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