[Groonga-commit] groonga/groonga [master] add missing GRN_APIs.

Back to archive index

null+****@clear***** null+****@clear*****
2012年 2月 27日 (月) 18:08:59 JST


Susumu Yata	2012-02-27 18:08:59 +0900 (Mon, 27 Feb 2012)

  New Revision: 3ab6bbcaf888386ee71b8ce371a50255e007636e

  Log:
    add missing GRN_APIs.

  Modified files:
    lib/db.c
    lib/db.h
    lib/geo.c
    lib/geo.h
    lib/hash.c
    lib/hash.h
    lib/ii.c
    lib/ii.h
    lib/io.c
    lib/io.h
    lib/pat.c
    lib/pat.h
    lib/store.c
    lib/store.h
    lib/str.c
    lib/str.h

  Modified: lib/db.c (+3 -3)
===================================================================
--- lib/db.c    2012-02-27 16:28:30 +0900 (f186ca5)
+++ lib/db.c    2012-02-27 18:08:59 +0900 (5930c80)
@@ -248,7 +248,7 @@ grn_db_curr_id(grn_ctx *ctx, grn_obj *db)
 }
 
 /* s must be validated by caller */
-grn_rc
+GRN_API grn_rc
 grn_db_close(grn_ctx *ctx, grn_obj *db)
 {
   grn_id id;
@@ -896,7 +896,7 @@ grn_table_create(grn_ctx *ctx, const char *name, unsigned int name_size,
   GRN_API_RETURN(res);
 }
 
-grn_obj *
+GRN_API grn_obj *
 grn_table_open(grn_ctx *ctx, const char *name, unsigned int name_size, const char *path)
 {
   grn_obj *db;
@@ -1245,7 +1245,7 @@ grn_view_transcript(grn_ctx *ctx, const char *path,
   return res;
 }
 
-grn_id
+GRN_API grn_id
 grn_view_add(grn_ctx *ctx, grn_obj *view, grn_obj *table)
 {
   if (!view || view->header.type != GRN_TABLE_VIEW) {

  Modified: lib/db.h (+5 -4)
===================================================================
--- lib/db.h    2012-02-27 16:28:30 +0900 (9d47ca7)
+++ lib/db.h    2012-02-27 18:08:59 +0900 (fd4c4bf)
@@ -78,7 +78,7 @@ typedef struct {
   grn_id range;
 } grn_obj_spec;
 
-grn_rc grn_db_close(grn_ctx *ctx, grn_obj *db);
+GRN_API grn_rc grn_db_close(grn_ctx *ctx, grn_obj *db);
 
 grn_obj *grn_db_keys(grn_obj *s);
 
@@ -111,7 +111,7 @@ void grn_table_add_subrec(grn_obj *table, grn_rset_recinfo *ri, int score,
 
 grn_obj *grn_obj_graft(grn_ctx *ctx, grn_obj *obj);
 
-grn_id grn_view_add(grn_ctx *ctx, grn_obj *view, grn_obj *table);
+GRN_API grn_id grn_view_add(grn_ctx *ctx, grn_obj *view, grn_obj *table);
 
 grn_rc grn_column_name_(grn_ctx *ctx, grn_obj *obj, grn_obj *buf);
 
@@ -322,8 +322,9 @@ GRN_API grn_rc grn_obj_cast(grn_ctx *ctx, grn_obj *src, grn_obj *dest, int addp)
  * ctxが使用するdbの中でnameに対応付けて既存のtableを開く。
  * dbに登録されている名前付きの永続テーブルを開く場合はgrn_ctx_get()を使用するのが望ましい。
  **/
-grn_obj *grn_table_open(grn_ctx *ctx,
-                        const char *name, unsigned int name_size, const char *path);
+GRN_API grn_obj *grn_table_open(grn_ctx *ctx,
+                                const char *name, unsigned int name_size,
+                                const char *path);
 
 /**
  * grn_column_open:

  Modified: lib/geo.c (+5 -5)
===================================================================
--- lib/geo.c    2012-02-27 16:28:30 +0900 (564e16a)
+++ lib/geo.c    2012-02-27 18:08:59 +0900 (c7bc00c)
@@ -1714,7 +1714,7 @@ exit :
   return n;
 }
 
-grn_bool
+GRN_API grn_bool
 grn_geo_in_circle(grn_ctx *ctx, grn_obj *point, grn_obj *center,
                   grn_obj *radius_or_point,
                   grn_geo_approximate_type approximate_type)
@@ -1792,7 +1792,7 @@ grn_geo_in_rectangle_raw(grn_ctx *ctx, grn_geo_point *point,
             (point->latitude <= top_left->latitude));
 }
 
-grn_bool
+GRN_API grn_bool
 grn_geo_in_rectangle(grn_ctx *ctx, grn_obj *point,
                      grn_obj *top_left, grn_obj *bottom_right)
 {
@@ -1917,7 +1917,7 @@ grn_geo_distance(grn_ctx *ctx, grn_obj *point1, grn_obj *point2,
   return d;
 }
 
-double
+GRN_API double
 grn_geo_distance_rectangle(grn_ctx *ctx, grn_obj *point1, grn_obj *point2)
 {
   double d = 0;
@@ -1966,7 +1966,7 @@ exit :
   return d;
 }
 
-double
+GRN_API double
 grn_geo_distance_sphere(grn_ctx *ctx, grn_obj *point1, grn_obj *point2)
 {
   double d = 0;
@@ -1993,7 +1993,7 @@ exit :
   return d;
 }
 
-double
+GRN_API double
 grn_geo_distance_ellipsoid(grn_ctx *ctx, grn_obj *point1, grn_obj *point2)
 {
   double d = 0;

  Modified: lib/geo.h (+9 -6)
===================================================================
--- lib/geo.h    2012-02-27 16:28:30 +0900 (a29bdc5)
+++ lib/geo.h    2012-02-27 18:08:59 +0900 (5a0ef36)
@@ -138,19 +138,22 @@ grn_rc grn_selector_geo_in_circle(grn_ctx *ctx, grn_obj *obj, grn_obj **args,
 grn_rc grn_selector_geo_in_rectangle(grn_ctx *ctx, grn_obj *obj, grn_obj **args,
                                      int nargs, grn_obj *res, grn_operator op);
 
-grn_bool grn_geo_in_circle(grn_ctx *ctx, grn_obj *point, grn_obj *center,
+GRN_API grn_bool grn_geo_in_circle(grn_ctx *ctx, grn_obj *point, grn_obj *center,
                            grn_obj *radius_or_point,
                            grn_geo_approximate_type approximate_type);
-grn_bool grn_geo_in_rectangle(grn_ctx *ctx, grn_obj *point,
-                              grn_obj *top_left, grn_obj *bottom_right);
+GRN_API grn_bool grn_geo_in_rectangle(grn_ctx *ctx, grn_obj *point,
+                                      grn_obj *top_left, grn_obj *bottom_right);
 grn_bool grn_geo_in_rectangle_raw(grn_ctx *ctx, grn_geo_point *point,
                                   grn_geo_point *top_left,
                                   grn_geo_point *bottom_right);
 double grn_geo_distance(grn_ctx *ctx, grn_obj *point1, grn_obj *point2,
                         grn_geo_approximate_type type);
-double grn_geo_distance_rectangle(grn_ctx *ctx, grn_obj *point1, grn_obj *point2);
-double grn_geo_distance_sphere(grn_ctx *ctx, grn_obj *point1, grn_obj *point2);
-double grn_geo_distance_ellipsoid(grn_ctx *ctx, grn_obj *point1, grn_obj *point2);
+GRN_API double grn_geo_distance_rectangle(grn_ctx *ctx, grn_obj *point1,
+                                          grn_obj *point2);
+GRN_API double grn_geo_distance_sphere(grn_ctx *ctx, grn_obj *point1,
+                                       grn_obj *point2);
+GRN_API double grn_geo_distance_ellipsoid(grn_ctx *ctx, grn_obj *point1,
+                                          grn_obj *point2);
 double grn_geo_distance_rectangle_raw(grn_ctx *ctx,
                                       grn_geo_point *point1,
                                       grn_geo_point *point2);

  Modified: lib/hash.c (+2 -2)
===================================================================
--- lib/hash.c    2012-02-27 16:28:30 +0900 (e30f1f0)
+++ lib/hash.c    2012-02-27 18:08:59 +0900 (d39bf84)
@@ -1044,7 +1044,7 @@ grn_hash_remove(grn_ctx *ctx, const char *path)
   return grn_io_remove(ctx, path);
 }
 
-grn_rc
+GRN_API grn_rc
 grn_hash_truncate(grn_ctx *ctx, grn_hash *hash)
 {
   grn_rc rc;
@@ -2073,7 +2073,7 @@ entry2id(grn_ctx *ctx, grn_hash *hash, entry *e)
   return id;
 }
 
-int
+GRN_API int
 grn_hash_sort(grn_ctx *ctx, grn_hash *hash,
               int limit, grn_array *result, grn_table_sort_optarg *optarg)
 {

  Modified: lib/hash.h (+3 -3)
===================================================================
--- lib/hash.h    2012-02-27 16:28:30 +0900 (efe364f)
+++ lib/hash.h    2012-02-27 18:08:59 +0900 (abbd7ea)
@@ -165,7 +165,7 @@ struct _grn_array_cursor {
 
 #define GRN_ARRAY_SIZE(array) (*((array)->n_entries))
 
-grn_rc grn_array_truncate(grn_ctx *ctx, grn_array *array);
+GRN_API grn_rc grn_array_truncate(grn_ctx *ctx, grn_array *array);
 grn_rc grn_array_copy_sort_key(grn_ctx *ctx, grn_array *array,
                                grn_table_sort_key *keys, int n_keys);
 
@@ -268,8 +268,8 @@ struct _grn_table_sort_optarg {
   int offset;
 };
 
-int grn_hash_sort(grn_ctx *ctx, grn_hash *hash, int limit,
-                  grn_array *result, grn_table_sort_optarg *optarg);
+GRN_API int grn_hash_sort(grn_ctx *ctx, grn_hash *hash, int limit,
+                          grn_array *result, grn_table_sort_optarg *optarg);
 
 grn_rc grn_hash_lock(grn_ctx *ctx, grn_hash *hash, int timeout);
 grn_rc grn_hash_unlock(grn_ctx *ctx, grn_hash *hash);

  Modified: lib/ii.c (+5 -5)
===================================================================
--- lib/ii.c    2012-02-27 16:28:30 +0900 (e41bc97)
+++ lib/ii.c    2012-02-27 18:08:59 +0900 (bb344c0)
@@ -3446,7 +3446,7 @@ _grn_ii_create(grn_ctx *ctx, grn_ii *ii, const char *path, grn_obj *lexicon, uin
   return ii;
 }
 
-grn_ii *
+GRN_API grn_ii *
 grn_ii_create(grn_ctx *ctx, const char *path, grn_obj *lexicon, uint32_t flags)
 {
   grn_ii *ii = NULL;
@@ -3461,7 +3461,7 @@ grn_ii_create(grn_ctx *ctx, const char *path, grn_obj *lexicon, uint32_t flags)
   return ii;
 }
 
-grn_rc
+GRN_API grn_rc
 grn_ii_remove(grn_ctx *ctx, const char *path)
 {
   grn_rc rc;
@@ -3514,7 +3514,7 @@ exit:
   return rc;
 }
 
-grn_ii *
+GRN_API grn_ii *
 grn_ii_open(grn_ctx *ctx, const char *path, grn_obj *lexicon)
 {
   grn_io *seg, *chunk;
@@ -3561,7 +3561,7 @@ grn_ii_open(grn_ctx *ctx, const char *path, grn_obj *lexicon)
   return ii;
 }
 
-grn_rc
+GRN_API grn_rc
 grn_ii_close(grn_ctx *ctx, grn_ii *ii)
 {
   grn_rc rc;
@@ -4951,7 +4951,7 @@ grn_uvector2updspecs(grn_ctx *ctx, grn_ii *ii, grn_id rid, unsigned int section,
   return GRN_SUCCESS;
 }
 
-grn_rc
+GRN_API grn_rc
 grn_ii_column_update(grn_ctx *ctx, grn_ii *ii, grn_id rid, unsigned int section,
                      grn_obj *oldvalue, grn_obj *newvalue, grn_obj *posting)
 {

  Modified: lib/ii.h (+8 -6)
===================================================================
--- lib/ii.h    2012-02-27 16:28:30 +0900 (4866860)
+++ lib/ii.h    2012-02-27 18:08:59 +0900 (bc2165b)
@@ -98,10 +98,11 @@ struct _grn_ii_updspec {
 
 typedef struct _grn_ii_updspec grn_ii_updspec;
 
-grn_ii *grn_ii_create(grn_ctx *ctx, const char *path, grn_obj *lexicon, uint32_t flags);
-grn_ii *grn_ii_open(grn_ctx *ctx, const char *path, grn_obj *lexicon);
-grn_rc grn_ii_close(grn_ctx *ctx, grn_ii *ii);
-grn_rc grn_ii_remove(grn_ctx *ctx, const char *path);
+GRN_API grn_ii *grn_ii_create(grn_ctx *ctx, const char *path, grn_obj *lexicon,
+                              uint32_t flags);
+GRN_API grn_ii *grn_ii_open(grn_ctx *ctx, const char *path, grn_obj *lexicon);
+GRN_API grn_rc grn_ii_close(grn_ctx *ctx, grn_ii *ii);
+GRN_API grn_rc grn_ii_remove(grn_ctx *ctx, const char *path);
 grn_rc grn_ii_info(grn_ctx *ctx, grn_ii *ii, uint64_t *seg_size, uint64_t *chunk_size);
 grn_rc grn_ii_update_one(grn_ctx *ctx, grn_ii *ii, uint32_t key, grn_ii_updspec *u,
                          grn_hash *h);
@@ -166,8 +167,9 @@ struct _grn_select_optarg {
   int max_size;
 };
 
-grn_rc grn_ii_column_update(grn_ctx *ctx, grn_ii *ii, grn_id id, unsigned int section,
-                            grn_obj *oldvalue, grn_obj *newvalue, grn_obj *posting);
+GRN_API grn_rc grn_ii_column_update(grn_ctx *ctx, grn_ii *ii, grn_id id,
+                                    unsigned int section, grn_obj *oldvalue,
+                                    grn_obj *newvalue, grn_obj *posting);
 grn_rc grn_ii_term_extract(grn_ctx *ctx, grn_ii *ii, const char *string,
                             unsigned int string_len, grn_hash *s,
                             grn_operator op, grn_select_optarg *optarg);

  Modified: lib/io.c (+5 -5)
===================================================================
--- lib/io.c    2012-02-27 16:28:30 +0900 (dcb0026)
+++ lib/io.c    2012-02-27 18:08:59 +0900 (817fd17)
@@ -171,7 +171,7 @@ grn_io_unregister(grn_io *io)
   }
 }
 
-grn_io *
+GRN_API grn_io *
 grn_io_create(grn_ctx *ctx, const char *path, uint32_t header_size, uint32_t segment_size,
               uint32_t max_segment, grn_io_mode mode, uint32_t flags)
 {
@@ -480,7 +480,7 @@ grn_io_open(grn_ctx *ctx, const char *path, grn_io_mode mode)
   return NULL;
 }
 
-grn_rc
+GRN_API grn_rc
 grn_io_close(grn_ctx *ctx, grn_io *io)
 {
   int i;
@@ -535,7 +535,7 @@ grn_io_path(grn_io *io)
   return io->path;
 }
 
-void *
+GRN_API void *
 grn_io_header(grn_io *io)
 {
   return io->user_header;
@@ -1447,7 +1447,7 @@ grn_io_anon_unmap(grn_ctx *ctx, grn_io_mapinfo *mi, size_t length)
   GRN_MUNMAP(ctx, &mi->fmo, mi->map, length);
 }
 
-grn_rc
+GRN_API grn_rc
 grn_io_lock(grn_ctx *ctx, grn_io *io, int timeout)
 {
   static int _ncalls = 0, _ncolls = 0;
@@ -1487,7 +1487,7 @@ grn_io_lock(grn_ctx *ctx, grn_io *io, int timeout)
   return ctx->rc;
 }
 
-void
+GRN_API void
 grn_io_unlock(grn_io *io)
 {
   if (io) {

  Modified: lib/io.h (+8 -6)
===================================================================
--- lib/io.h    2012-02-27 16:28:30 +0900 (b65173f)
+++ lib/io.h    2012-02-27 18:08:59 +0900 (38bc749)
@@ -117,14 +117,16 @@ struct _grn_io {
   uint32_t *lock;
 };
 
-grn_io *grn_io_create(grn_ctx *ctx, const char *path, uint32_t header_size, uint32_t segment_size,
-                      uint32_t max_segment, grn_io_mode mode, unsigned int flags);
+GRN_API grn_io *grn_io_create(grn_ctx *ctx, const char *path,
+                              uint32_t header_size, uint32_t segment_size,
+                              uint32_t max_segment, grn_io_mode mode,
+                              unsigned int flags);
 grn_io *grn_io_open(grn_ctx *ctx, const char *path, grn_io_mode mode);
-grn_rc grn_io_close(grn_ctx *ctx, grn_io *io);
+GRN_API grn_rc grn_io_close(grn_ctx *ctx, grn_io *io);
 grn_rc grn_io_remove(grn_ctx *ctx, const char *path);
 grn_rc grn_io_size(grn_ctx *ctx, grn_io *io, uint64_t *size);
 grn_rc grn_io_rename(grn_ctx *ctx, const char *old_name, const char *new_name);
-void *grn_io_header(grn_io *io);
+GRN_API void *grn_io_header(grn_io *io);
 
 void *grn_io_win_map(grn_io *io, grn_ctx *ctx, grn_io_win *iw, uint32_t segment,
                      uint32_t offset, uint32_t size, grn_io_rw_mode mode);
@@ -304,8 +306,8 @@ void *grn_io_array_at(grn_ctx *ctx, grn_io *io, uint32_t array, off_t offset, in
 void grn_io_segment_alloc(grn_ctx *ctx, grn_io *io, grn_io_array_info *ai,
                           uint32_t lseg, int *flags, void **p);
 
-grn_rc grn_io_lock(grn_ctx *ctx, grn_io *io, int timeout);
-void grn_io_unlock(grn_io *io);
+GRN_API grn_rc grn_io_lock(grn_ctx *ctx, grn_io *io, int timeout);
+GRN_API void grn_io_unlock(grn_io *io);
 void grn_io_clear_lock(grn_io *io);
 uint32_t grn_io_is_locked(grn_io *io);
 

  Modified: lib/pat.c (+2 -2)
===================================================================
--- lib/pat.c    2012-02-27 16:28:30 +0900 (525eba0)
+++ lib/pat.c    2012-02-27 18:08:59 +0900 (17d043a)
@@ -552,7 +552,7 @@ grn_pat_remove(grn_ctx *ctx, const char *path)
   return grn_io_remove(ctx, path);
 }
 
-grn_rc
+GRN_API grn_rc
 grn_pat_truncate(grn_ctx *ctx, grn_pat *pat)
 {
   grn_rc rc;
@@ -1505,7 +1505,7 @@ grn_pat_next(grn_ctx *ctx, grn_pat *pat, grn_id id)
   return GRN_ID_NIL;
 }
 
-grn_id
+GRN_API grn_id
 grn_pat_at(grn_ctx *ctx, grn_pat *pat, grn_id id)
 {
   uint32_t key_size;

  Modified: lib/pat.h (+2 -2)
===================================================================
--- lib/pat.h    2012-02-27 16:28:30 +0900 (30e484a)
+++ lib/pat.h    2012-02-27 18:08:59 +0900 (3673c61)
@@ -92,11 +92,11 @@ struct _grn_pat_cursor {
 grn_id grn_pat_curr_id(grn_ctx *ctx, grn_pat *pat);
 
 /* private */
-grn_rc grn_pat_truncate(grn_ctx *ctx, grn_pat *pat);
+GRN_API grn_rc grn_pat_truncate(grn_ctx *ctx, grn_pat *pat);
 const char *_grn_pat_key(grn_ctx *ctx, grn_pat *pat, grn_id id, uint32_t *key_size);
 grn_id grn_pat_next(grn_ctx *ctx, grn_pat *pat, grn_id id);
 const char *grn_pat_get_value_(grn_ctx *ctx, grn_pat *pat, grn_id id, uint32_t *size);
-grn_id grn_pat_at(grn_ctx *ctx, grn_pat *pat, grn_id id);
+GRN_API grn_id grn_pat_at(grn_ctx *ctx, grn_pat *pat, grn_id id);
 void grn_pat_check(grn_ctx *ctx, grn_pat *pat);
 void grn_pat_inspect_nodes(grn_ctx *ctx, grn_pat *pat, grn_obj *buf);
 void grn_pat_cursor_inspect(grn_ctx *ctx, grn_pat_cursor *c, grn_obj *buf);

  Modified: lib/store.c (+6 -6)
===================================================================
--- lib/store.c    2012-02-27 16:28:30 +0900 (80c77b8)
+++ lib/store.c    2012-02-27 18:08:59 +0900 (d0fe36e)
@@ -331,7 +331,7 @@ _grn_ja_create(grn_ctx *ctx, grn_ja *ja, const char *path,
   return ja;
 }
 
-grn_ja *
+GRN_API grn_ja *
 grn_ja_create(grn_ctx *ctx, const char *path, unsigned int max_element_size, uint32_t flags)
 {
   grn_ja *ja = NULL;
@@ -378,7 +378,7 @@ grn_ja_info(grn_ctx *ctx, grn_ja *ja, unsigned int *max_element_size)
   return GRN_SUCCESS;
 }
 
-grn_rc
+GRN_API grn_rc
 grn_ja_close(grn_ctx *ctx, grn_ja *ja)
 {
   grn_rc rc;
@@ -459,7 +459,7 @@ grn_ja_ref_raw(grn_ctx *ctx, grn_ja *ja, grn_id id, grn_io_win *iw, uint32_t *va
   return iw->addr;
 }
 
-grn_rc
+GRN_API grn_rc
 grn_ja_unref(grn_ctx *ctx, grn_io_win *iw)
 {
   if (!iw->addr) { return GRN_INVALID_ARGUMENT; }
@@ -937,7 +937,7 @@ grn_ja_put_raw(grn_ctx *ctx, grn_ja *ja, grn_id id,
   return ctx->rc;
 }
 
-grn_rc
+GRN_API grn_rc
 grn_ja_putv(grn_ctx *ctx, grn_ja *ja, grn_id id, grn_obj *vector, int flags)
 {
   grn_obj header, footer;
@@ -977,7 +977,7 @@ exit :
   return rc;
 }
 
-uint32_t
+GRN_API uint32_t
 grn_ja_size(grn_ctx *ctx, grn_ja *ja, grn_id id)
 {
   grn_ja_einfo *einfo = NULL, *ei;
@@ -1126,7 +1126,7 @@ grn_ja_ref_lzo(grn_ctx *ctx, grn_ja *ja, grn_id id, grn_io_win *iw, uint32_t *va
 }
 #endif /* NO_LZO */
 
-void *
+GRN_API void *
 grn_ja_ref(grn_ctx *ctx, grn_ja *ja, grn_id id, grn_io_win *iw, uint32_t *value_len)
 {
 #ifndef NO_ZLIB

  Modified: lib/store.h (+8 -5)
===================================================================
--- lib/store.h    2012-02-27 16:28:30 +0900 (3f7c07c)
+++ lib/store.h    2012-02-27 18:08:59 +0900 (71da31e)
@@ -88,23 +88,26 @@ struct _grn_ja {
   struct grn_ja_header *header;
 };
 
-grn_ja *grn_ja_create(grn_ctx *ctx, const char *path,
+GRN_API grn_ja *grn_ja_create(grn_ctx *ctx, const char *path,
                       uint32_t max_element_size, uint32_t flags);
 grn_ja *grn_ja_open(grn_ctx *ctx, const char *path);
 grn_rc grn_ja_info(grn_ctx *ctx, grn_ja *ja, unsigned int *max_element_size);
-grn_rc grn_ja_close(grn_ctx *ctx, grn_ja *ja);
+GRN_API grn_rc grn_ja_close(grn_ctx *ctx, grn_ja *ja);
 grn_rc grn_ja_remove(grn_ctx *ctx, const char *path);
 grn_rc grn_ja_put(grn_ctx *ctx, grn_ja *ja, grn_id id,
                   void *value, uint32_t value_len, int flags, uint64_t *cas);
 int grn_ja_at(grn_ctx *ctx, grn_ja *ja, grn_id id, void *valbuf, int buf_size);
 
-void *grn_ja_ref(grn_ctx *ctx, grn_ja *ja, grn_id id, grn_io_win *iw, uint32_t *value_len);
+GRN_API void *grn_ja_ref(grn_ctx *ctx, grn_ja *ja, grn_id id, grn_io_win *iw,
+                         uint32_t *value_len);
 grn_obj *grn_ja_get_value(grn_ctx *ctx, grn_ja *ja, grn_id id, grn_obj *value);
 
-grn_rc grn_ja_unref(grn_ctx *ctx, grn_io_win *iw);
+GRN_API grn_rc grn_ja_unref(grn_ctx *ctx, grn_io_win *iw);
 int grn_ja_defrag(grn_ctx *ctx, grn_ja *ja, int threshold);
 
-grn_rc grn_ja_putv(grn_ctx *ctx, grn_ja *ja, grn_id id, grn_obj *vector, int flags);
+GRN_API grn_rc grn_ja_putv(grn_ctx *ctx, grn_ja *ja, grn_id id,
+                           grn_obj *vector, int flags);
+GRN_API uint32_t grn_ja_size(grn_ctx *ctx, grn_ja *ja, grn_id id);
 
 void grn_ja_check(grn_ctx *ctx, grn_ja *ja);
 

  Modified: lib/str.c (+2 -2)
===================================================================
--- lib/str.c    2012-02-27 16:28:30 +0900 (f6f518c)
+++ lib/str.c    2012-02-27 18:08:59 +0900 (9ec0d67)
@@ -1523,7 +1523,7 @@ exit :
   return v;
 }
 
-void
+GRN_API void
 grn_itoh(unsigned int i, char *p, unsigned int len)
 {
   static const char *hex = "0123456789ABCDEF";
@@ -3203,7 +3203,7 @@ grn_text_cgidec(grn_ctx *ctx, grn_obj *buf, const char *p, const char *e, char d
   return p;
 }
 
-void
+GRN_API void
 grn_str_url_path_normalize(grn_ctx *ctx, const char *path, size_t path_len,
                            char *buf, size_t buf_len)
 {

  Modified: lib/str.h (+4 -3)
===================================================================
--- lib/str.h    2012-02-27 16:28:30 +0900 (6bf0ce0)
+++ lib/str.h    2012-02-27 18:08:59 +0900 (efbfff5)
@@ -66,7 +66,7 @@ GRN_API grn_rc grn_aton(grn_ctx *ctx, const char *p, const char *end, const char
 GRN_API const char *grn_enctostr(grn_encoding enc);
 grn_encoding grn_strtoenc(const char *str);
 
-void grn_itoh(unsigned int i, char *p, unsigned int len);
+GRN_API void grn_itoh(unsigned int i, char *p, unsigned int len);
 int grn_str_tok(const char *str, size_t str_len, char delim, const char **tokbuf, int buf_size, const char **rest);
 GRN_API int grn_str_getopt(int argc, char * const argv[], const grn_str_getopt_opt *opts, int *flags);
 
@@ -112,8 +112,9 @@ GRN_API const char *grn_text_unesc_tok(grn_ctx *ctx, grn_obj *buf,
                                        const char *p, const char *e,
                                        char *tok_type);
 
-void grn_str_url_path_normalize(grn_ctx *ctx, const char *path, size_t path_len,
-                                char *buf, size_t buf_len);
+GRN_API void grn_str_url_path_normalize(grn_ctx *ctx,
+                                        const char *path, size_t path_len,
+                                        char *buf, size_t buf_len);
 
 GRN_API grn_rc grn_text_otoxml(grn_ctx *ctx, grn_obj *bulk, grn_obj *obj,
                                 grn_obj_format *format);




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