[Groonga-commit] groonga/groonga at ec352e3 [master] mrb: export system Ruby scripts directory

Back to archive index

Kouhei Sutou null+****@clear*****
Tue Dec 23 00:19:53 JST 2014


Kouhei Sutou	2014-12-23 00:19:53 +0900 (Tue, 23 Dec 2014)

  New Revision: ec352e38f536562fd8eaae0cd514a5f9b3770574
  https://github.com/groonga/groonga/commit/ec352e38f536562fd8eaae0cd514a5f9b3770574

  Message:
    mrb: export system Ruby scripts directory

  Modified files:
    lib/grn_mrb.h
    lib/mrb.c

  Modified: lib/grn_mrb.h (+2 -1)
===================================================================
--- lib/grn_mrb.h    2014-12-22 23:59:10 +0900 (b12fd6b)
+++ lib/grn_mrb.h    2014-12-23 00:19:53 +0900 (7fae820)
@@ -1,6 +1,6 @@
 /* -*- c-basic-offset: 2 -*- */
 /*
-  Copyright(C) 2013 Brazil
+  Copyright(C) 2013-2014 Brazil
 
   This library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Lesser General Public
@@ -34,6 +34,7 @@ extern "C" {
 GRN_API mrb_value grn_mrb_eval(grn_ctx *ctx, const char *script, int script_length);
 GRN_API mrb_value grn_mrb_load(grn_ctx *ctx, const char *path);
 GRN_API grn_rc grn_mrb_to_grn(grn_ctx *ctx, mrb_value mrb_object, grn_obj *grn_object);
+GRN_API const char *grn_mrb_get_system_ruby_scripts_dir(grn_ctx *ctx);
 #endif
 
 #ifdef __cplusplus

  Modified: lib/mrb.c (+16 -6)
===================================================================
--- lib/mrb.c    2014-12-22 23:59:10 +0900 (abd5854)
+++ lib/mrb.c    2014-12-23 00:19:53 +0900 (c781564)
@@ -34,7 +34,7 @@
 static char *win32_ruby_scripts_dir = NULL;
 static char win32_ruby_scripts_dir_buffer[PATH_MAX];
 static const char *
-grn_mrb_get_system_ruby_scripts_dir(void)
+grn_mrb_get_default_system_ruby_scripts_dir(void)
 {
   if (!win32_ruby_scripts_dir) {
     const char *base_dir;
@@ -53,12 +53,25 @@ grn_mrb_get_system_ruby_scripts_dir(void)
 
 # else /* WIN32 */
 static const char *
-grn_mrb_get_system_ruby_scripts_dir(void)
+grn_mrb_get_default_system_ruby_scripts_dir(void)
 {
   return GRN_RUBY_SCRIPTS_DIR;
 }
 # endif /* WIN32 */
 
+const char *
+grn_mrb_get_system_ruby_scripts_dir(grn_ctx *ctx)
+{
+  const char *ruby_scripts_dir;
+
+  ruby_scripts_dir = getenv("GRN_RUBY_SCRIPTS_DIR");
+  if (!ruby_scripts_dir) {
+    ruby_scripts_dir = grn_mrb_get_default_system_ruby_scripts_dir();
+  }
+
+  return ruby_scripts_dir;
+}
+
 static grn_bool
 grn_mrb_expand_script_path(grn_ctx *ctx, const char *path, char *expanded_path)
 {
@@ -72,10 +85,7 @@ grn_mrb_expand_script_path(grn_ctx *ctx, const char *path, char *expanded_path)
     strcpy(expanded_path, ctx->impl->mrb.base_directory);
     strcat(expanded_path, "/");
   } else {
-    ruby_scripts_dir = getenv("GRN_RUBY_SCRIPTS_DIR");
-    if (!ruby_scripts_dir) {
-      ruby_scripts_dir = grn_mrb_get_system_ruby_scripts_dir();
-    }
+    ruby_scripts_dir = grn_mrb_get_system_ruby_scripts_dir(ctx);
     strcpy(expanded_path, ruby_scripts_dir);
 
     dir_last_char = ruby_scripts_dir[strlen(expanded_path) - 1];
-------------- next part --------------
HTML����������������������������...
Download 



More information about the Groonga-commit mailing list
Back to archive index