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);