[Groonga-commit] groonga/groonga [master] Add grn_proc_get_or_add_var()

Zurück zum Archiv-Index

Kouhei Sutou null+****@clear*****
Wed Nov 7 14:49:09 JST 2012


Kouhei Sutou	2012-11-07 14:49:09 +0900 (Wed, 07 Nov 2012)

  New Revision: 1f73c5e0a9424f3d533b683f9bb8ff10945fc0ab
  https://github.com/groonga/groonga/commit/1f73c5e0a9424f3d533b683f9bb8ff10945fc0ab

  Log:
    Add grn_proc_get_or_add_var()

  Modified files:
    lib/db.h
    lib/expr.c

  Modified: lib/db.h (+3 -0)
===================================================================
--- lib/db.h    2012-11-07 14:48:40 +0900 (bb04df3)
+++ lib/db.h    2012-11-07 14:49:09 +0900 (2848039)
@@ -191,6 +191,7 @@ struct _grn_proc {
 
 #define GRN_PROC_GET_VAR(name) (grn_proc_get_var(ctx, user_data, name, strlen(name)))
 #define GRN_PROC_GET_VAR_BY_OFFSET(offset) (grn_proc_get_var_by_offset(ctx, user_data, offset))
+#define GRN_PROC_GET_OR_ADD_VAR(name) (grn_proc_get_or_add_var(ctx, user_data, name, strlen(name)))
 #define GRN_PROC_ALLOC(domain, flags) (grn_proc_alloc(ctx, user_data, domain, flags))
 
 grn_obj *grn_proc_get_var(grn_ctx *ctx, grn_user_data *user_data,
@@ -198,6 +199,8 @@ grn_obj *grn_proc_get_var(grn_ctx *ctx, grn_user_data *user_data,
 
 GRN_API grn_obj *grn_proc_get_var_by_offset(grn_ctx *ctx, grn_user_data *user_data,
                                             unsigned int offset);
+  GRN_API grn_obj *grn_proc_get_or_add_var(grn_ctx *ctx, grn_user_data *user_data,
+                                         const char *name, unsigned int name_size);
 
 GRN_API grn_obj *grn_proc_alloc(grn_ctx *ctx, grn_user_data *user_data,
                                 grn_id domain, grn_obj_flags flags);

  Modified: lib/expr.c (+8 -0)
===================================================================
--- lib/expr.c    2012-11-07 14:48:40 +0900 (11463e2)
+++ lib/expr.c    2012-11-07 14:49:09 +0900 (a071ebd)
@@ -141,6 +141,14 @@ grn_proc_get_var_by_offset(grn_ctx *ctx, grn_user_data *user_data, unsigned int
 }
 
 grn_obj *
+grn_proc_get_or_add_var(grn_ctx *ctx, grn_user_data *user_data,
+                        const char *name, unsigned int name_size)
+{
+  grn_proc_ctx *pctx = (grn_proc_ctx *)user_data;
+  return pctx->proc ? grn_expr_get_or_add_var(ctx, (grn_obj *)pctx->proc, name, name_size) : NULL;
+}
+
+grn_obj *
 grn_proc_alloc(grn_ctx *ctx, grn_user_data *user_data, grn_id domain, grn_obj_flags flags)
 {
   grn_proc_ctx *pctx = (grn_proc_ctx *)user_data;
-------------- next part --------------
HTML����������������������������...
Download 



More information about the Groonga-commit mailing list
Zurück zum Archiv-Index