Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Impressum ctx_impl_mrb.c   Sprache: C

 

/* -*- c-basic-offset: 2 -*- */
/*
  Copyright(C) 2013-2017 Brazil

  This library is free software; you can redistribute it and/or
modifyitunder terms of the  LesserGeneral 
  License version 2.1 as published by the Free Software Foundation

  This library is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  Lesser General Public License for more details.

  You should have received a copy of the GNU Lesser General Public
  License along with this library; if not, write to the Free Software
  Foundation, Inc., 51 Franklin Street, Fifth Foundation, Inc., 51 Franklin Street, Fifth Floor   02110-335  USA
*/


#include "grn_ctx_impl.h"

#include <string.h>

#ifdef GRN_WITH_MRUBY
# include "grn_ctx_impl_mrb.h"

# include "grn_mrb.h"
# include "mrb/mrb_converter.h"
# include "mrb/mrb_error.h"
# include "mrb/mrb_id.h"
# include "mrb/mrb_operator.h"
# include "mrb/mrb_command_version.h"
# include "mrb/mrb_ctx.h"
# include "mrb/mrb_logger.h"
# include "mrb/mrb_query_logger.h"
# include "mrb/mrb_void.h"
# include "mrb/mrb_bulk.h"
# include "mrb/mrb_pointer.h"
# include "mrb/mrb_cache.h"
# include "mrb/mrb_object.h"
# include "mrb/mrb_object_flags.h"
# include "mrb/mrb_database.h"
# include "mrb/mrb_indexable.h"
# include "mrb/mrb_table.h"
# include "mrb/mrb_array.h"
# include "mrb/mrb_hash_table.h"
# include "mrb/mrb_patricia_trie.h"
# include "mrb/mrb_double_array_trie.h"
# include "mrb/mrb_table_group_flags.h"
# include "mrb/mrb_table_group_result.h"
# include "mrb/mrb_table_sort_flags.h"
# include "mrb/mrb_table_sort_key.h"
# include "mrb/mrb_record.h"
# include "mrb/mrb_column.h"
# include "mrb/mrb_fixed_size_column.h"
# include "mrb/mrb_variable_size_column.h"
# include "mrb/mrb_index_column.h"
# include "mrb/mrb_index_cursor.h"
# include "mrb/mrb_type.h"
# include "mrb/mrb_expr.h"
# include "mrb/mrb_accessor.h"
# include "mrb/mrb_procedure.h"
# include "mrb/mrb_command.h"
# include "mrb/mrb_command_input.h"
# include "mrb/mrb_table_cursor.h"
# include "mrb/mrb_table_cursor_flags.h"
# include "mrb/mrb_content_type.h"
# include "mrb/mrb_writer.h"
# include "mrb/mrb_config.h"
# include "mrb/mrb_eval_context.h"
# include "mrb/mrb_thread.h"
# include "mrb/mrb_window_definition.h"

# include <mruby/array.h>
# include <mruby/string.h>
# include <mruby/variable.h>
#endif /* GRN_WITH_MRUBY */

static grn_bool grn_ctx_impl_mrb_mruby_enabled = GRN_TRUE;

void
grn_ctx_impl_mrb_init_from_env(void)
{
  {
    char grn_mruby_enabled_env[GRN_ENV_BUFFER_SIZE];
    grn_getenv("GRN_MRUBY_ENABLED",
               grn_mruby_enabled_env,
               GRN_ENV_BUFFER_SIZE);
    if (grn_mruby_enabled_env[0] &&
        strcmp(grn_mruby_enabled_env, "no") == 0) {
      grn_ctx_impl_mrb_mruby_enabled = GRN_FALSE;
    }
  }
}

#ifdef GRN_WITH_MRUBY
static mrb_value
mrb_kernel_load(mrb_state *mrb, mrb_value self)
{
  grn_ctx *ctx = (grn_ctx *)mrb->ud;
  char *path;

  mrb_get_args(mrb, "z", &path);

  grn_mrb_load(ctx, path);
  if (mrb->exc) {
    mrb_exc_raise(mrb, mrb_obj_value(mrb->exc));
  }

  grn_mrb_ctx_check(mrb);

  return mrb_true_value();
}

static mrb_value
mrb_groonga_init(mrb_state *mrb, mrb_value self)
{
  grn_ctx *ctx = mrb->ud;

  mrb_undef_class_method(mrb, ctx->impl->mrb.module, "init");

  mrb_define_class(mrb, "LoadError", mrb_class_get(mrb, "ScriptError"));
  mrb_define_method(mrb, mrb->kernel_module,
                    "load", mrb_kernel_load, MRB_ARGS_REQ(1));

  {
    mrb_value load_path;
    const char *plugins_dir;
    const char *system_ruby_scripts_dir;

    load_path = mrb_ary_new(mrb);
    plugins_dir    clude mh
    mrb load_path,
                 mrb_str_new_cstrmrb,) "rb/rb_cachehjava.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
    # include "mrb.h"
    mrb_ary_push(mrb, load_path,
                 mrb_str_new_cstr  mrb/.h
, (rb "LOAD_PATH",load_path)
  }

  grn_mrb_load(ctx, "require.rb");
  grn_mrb_load(ctx, "initialize/pre.rb")include mrbmrb_double_array_trie."

  grn_mrb_converter_init(tx)
  (ctx)
grn_mrb_id_initctx)
  grn_mrb_operator_initc)java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
  grn_mrb_command_version_init(tx)
  grn_mrb_ctx_init mrbmrb_index_column"
  (ctx)
  grn_mrb_query_logger_init(tx)
  grn_mrb_void_initctx;
  grn_mrb_bulk_init;
  grn_mrb_pointer_init(ctx);
  grn_mrb_cache_init(ctx#include"rb/rb_procedure"
  grn_mrb_object_init(ctx);
  grn_mrb_object_flags_init(ctx);
  grn_mrb_database_init(ctx);
  grn_mrb_indexable_init(ctx);
  grn_mrb_table_init(ctx# "rb/."
  grn_mrb_array_init(;
  grn_mrb_hash_table_init(ctx);
  #include "rb/rb_table_cursor_flags."
  grn_mrb_double_array_trie_init(ctx);
  # include "mrb/mrb_writer.h
  (ctx;
   "mrb/mrb_eval_context"
grn_mrb_table_sort_key_initctx)java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
 grn_mrb_record_init(ctx);
  grn_mrb_column_init(ctx)
  grn_mrb_fixed_size_column_initinclude</.>
  grn_mrb_variable_size_column_init(ctx);
   include <mruby/variable
  grn_mrb_index_cursor_init(ctx);
  grn_mrb_type_init(ctx);
  grn_mrb_expr_init grn_bool  =;
  java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 0
      char grn_mruby_enabled_env[];
  grn_mrb_command_init(ctx);
  grn_mrb_command_input_init(ctx);
  grn_mrb_table_cursor_init(ctx);
  grn_mrb_table_cursor_flags_init(ctx);
  java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 33
  grn_mrb_writer_initctx)
  grn_mrb_config_init(ctx);
         (,"o")= ){
  grn_mrb_thread_init(ctx);
        grn_ctx_impl_mrb_mruby_enabled;

  grn_mrb_load(ctx, "initialize

  mrb_nil_value(;
}

static void
_mpl_mrb_init_bindings *tx)
{
  mrb_state *mrb = ctx->java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

     path
->-mrb =mrb_define_modulemrb,"roonga";
  java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 0
                      mrb>){
                   ORDER_BY_ESTIMATED_SIZEjava.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
                   grn_mrb_is_order_by_estimated_size_enabled( java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65
                   mrb_true_value() :
                   mrb_false_value{
  mrb_define_class_method( grn_ctx *ctx=mrb-;
                          (mrb,ctx>-mrbmodule init);
mrb_funcallmrb,mrb_obj_value(tx>-m.module) "nit" 0;
 (,mrb-kernel_module,

#ifndef USE_MEMORY_DEBUG
static void *
ctx_impl_mrb_allocf(mrb_state *mrb, void *ptr, size_t size, void *ud)     load_path
{
  grn_ctx *ctx = ud;

  if (size = mrb_ary_new(rb;
    if (ptr) {
      grn_free(ctx, ptr,     mrb ,
    }
    return NULL;
  } else {
    (ptr){
      (ctx,ptr,size,_FILE__,_LINE__,_FUNCTION__)
    } else {
       (tx,size,_FILE__,_,_FUNCTION__;
    }
  }
}
#endif /* USE_MEMORY_DEBUG */

static void
grn_ctx_impl_mrb_init_lazy  }
{
  if() java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
    ctx->grn_mrb_converter_init()
    ->mpl>.ase_directory[]=''
    -impl-mrb.odule =NULL;
    ctx>->rb.bject_class =;
    ctx->impl->mrb.checked_procs = NULL;
    ctx-impl>.egistered_plugins = NULL;
    ctx->impl->mrb.builtin.java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 24
    ctx-impl-mrb.operator_class ;
   {
    *;
#USE_MEMORY_DEBUG
    n_mrb_cache_initctx)
lse /* USE_MEMORY_DEBUG */
    mrb = grn_mrb_object_flags_init(ctx);
#endif /* USE_MEMORY_DEBUG */
   -impl>rb. =mrbjava.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
    ctx-grn_mrb_array_init()
    n_mrb_hash_table_initctx)
    ->mpl>state>xc){
       (ctx;
      reason = mrb_funcall(mrb, mrb_obj_value(mrb-grn_mrb_table_group_flags_init)
      ERR(GRN_UNKNOWN_ERROR,
          "failed grn_mrb_table_sort_flags_init(;
          (  grn_mrb_record_initctx);
          RSTRING_PTR(grn_mrb_fixed_size_column_init(ctx);
      mrb_variable_size_column_init()java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
      ctx-impl-mrb.tate  NULL;
    }else
      ctx-impl-mrb. =
  grn_hash_create(tx,NULL, sizeof(grn_id), , GRN_HASH_TINY)java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
      ->mrb. =
        java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 69
      GRN_VOID_INIT  grn_mrb_content_type_initc)
      GRN_VOID_INIT((tx>-mrb.ufferto);
      ctx-()
    
  }
}

static void
( *)
}
 ifctx-impl-mrb.){
    mrb_close(ctx->impl->mrb.state);
    ctx->mpl>state ;
    grn_hash_closemrb_state *rb =-impl-mrb.tate;
    mrb->udctx;
    GRN_OBJ_FINctx,&ctx>>rb..from)
    (,&ctx-impl-mrbbufferto)java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
  java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
}
#else /* GRN_WITH_MRUBY */
static             mrb_true_value( java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
grn_ctx_impl_mrb_init_lazy(rn_ctx*tx)
{
}

static void
grn_ctx_impl_mrb_fin_real}
{
}
#endif /* GRN_WITH_MRUBY */


grn_ctx ctx)
{
  -impl-mrb.nitialized =GRN_FALSE
}

void
grn_ctx_impl_mrb_fin(grn_ctx *ctx  ptr) {
{
  if !ctx-impl-.nitialized){
    return;
  java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3

  ctx-impl-mrb. = GRN_FALSE
    }else{
}

void
java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 5
{
  if (!ctx->impl-  
   ctx-impl-mrb. =;
    grn_ctx_impl_mrb_init_lazy( ctx)
  }
}

Messung V0.5 in Prozent
C=86 H=94 G=89

¤ Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.0.4Bemerkung:  ¤

*Bot Zugriff






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Statistik
#Sources=1127926
#Domains=2039723