📄 core.c
字号:
/* -------- TYPES TABLE (END) -------- */#define SWIG_init Init_core#define SWIG_name "Svn::Ext::Core"static VALUE mCore;static void SWIG_AsVal(VALUE obj, int *val){ *val = (int) NUM2INT(obj);}static VALUE _global_svn_swig_rb_pool = Qnil;#include "svn_time.h"#include "svn_pools.h"#ifdef __cplusplusextern "C" {#endif#ifdef HAVE_SYS_TIME_H# include <sys/time.h>struct timeval rb_time_timeval(VALUE);#endif#ifdef __cplusplus}#endif#ifdef __cplusplusextern "C" {#endif#include "rubyio.h"#ifdef __cplusplus}#endif#include <apr.h>#include <apr_general.h>#include "svn_md5.h"#include "svn_diff.h"#ifdef SWIGPYTHON#include "swigutil_py.h"#endif#ifdef SWIGPERL#include "swigutil_pl.h"#endif#ifdef SWIGRUBY#include <apu.h>#include <apr_xlate.h>#include "swigutil_rb.h"#endif#include "svn_error_codes.h"#define SWIG_MemoryError 1#define SWIG_IOError 2#define SWIG_RuntimeError 3#define SWIG_IndexError 4#define SWIG_TypeError 5#define SWIG_DivisionByZero 6#define SWIG_OverflowError 7#define SWIG_SyntaxError 8#define SWIG_ValueError 9#define SWIG_SystemError 10#define SWIG_UnknownError 99SWIGINTERN void SWIG_exception_(int code, const char *msg) { switch (code) { case SWIG_MemoryError: rb_raise(rb_eNoMemError, msg); break; case SWIG_IOError: rb_raise(rb_eIOError, msg); break; case SWIG_RuntimeError: rb_raise(rb_eRuntimeError, msg); break; case SWIG_IndexError: rb_raise(rb_eIndexError, msg); break; case SWIG_TypeError: rb_raise(rb_eTypeError, msg); break; case SWIG_DivisionByZero: rb_raise(rb_eZeroDivError, msg); break; case SWIG_OverflowError: rb_raise(rb_eRangeError, msg); break; case SWIG_SyntaxError: rb_raise(rb_eSyntaxError, msg); break; case SWIG_ValueError: rb_raise(rb_eArgError, msg); break; case SWIG_SystemError: rb_raise(rb_eFatal, msg); break; case SWIG_UnknownError: rb_raise(rb_eRuntimeError, msg); break; default: break; }}#define SWIG_exception(a, b) SWIG_exception_((a), (b))#ifdef SWIGPYTHON#include "swigutil_py.h"#endif#ifdef SWIGPERL#include "swigutil_pl.h"#endif#ifdef SWIGRUBY#include <apu.h>#include <apr_xlate.h>#include "swigutil_rb.h"#endif#include "svn_time.h"static VALUE output_helper(VALUE target, VALUE o) { if (NIL_P(target)) { target = o; } else { if (TYPE(target) != T_ARRAY) { VALUE o2 = target; target = rb_ary_new(); rb_ary_push(target, o2); } rb_ary_push(target, o); } return target;}#include "svn_types.h"#include "svn_pools.h"#include "svn_version.h"#include "svn_props.h"#include "svn_opt.h"typedef struct { int optch; const char *desc; } svn_opt_subcommand_desc2_t_desc_overrides;#include "svn_auth.h"#include "svn_config.h"#include "svn_utf.h"#include "svn_nls.h"#include "svn_path.h"#include "svn_io.h"static void apr_pool_wrapper_destroy(apr_pool_wrapper_t *self);static void apr_pool_wrapper_destroy_children(apr_pool_wrapper_t *self);static void apr_pool_wrapper_remove_from_parent(apr_pool_wrapper_t *self);static struct apr_pool_wrapper_t *new_apr_pool_wrapper_t(apr_pool_wrapper_t *parent){ apr_pool_wrapper_t *self; apr_pool_t *parent_pool; self = ALLOC(apr_pool_wrapper_t); if (parent) { parent_pool = parent->pool; (*((apr_pool_wrapper_t * *)apr_array_push(parent->children))) = self; } else { parent_pool = NULL; } self->pool = svn_pool_create_ex(parent_pool, NULL); self->destroyed = 0; self->parent = parent; self->children = apr_array_make(self->pool, 0, sizeof(apr_pool_wrapper_t *)); return self; }static voidapr_pool_wrapper_destroy(apr_pool_wrapper_t *self){ if (!self->destroyed) { self->destroyed = TRUE; apr_pool_wrapper_destroy_children(self); apr_pool_wrapper_remove_from_parent(self); apr_pool_destroy(self->pool); }}static voidapr_pool_wrapper_destroy_children(apr_pool_wrapper_t *self){ apr_pool_wrapper_t **child; while ((child = apr_array_pop(self->children))) { if (*child) { apr_pool_wrapper_destroy(*child); } }}static voidapr_pool_wrapper_remove_from_parent(apr_pool_wrapper_t *self){ if (self->parent) { apr_pool_wrapper_t *child; int i, len; len = self->parent->children->nelts; for (i = 0; i < len; i++) { child = APR_ARRAY_IDX(self->parent->children, i, apr_pool_wrapper_t *); if (child == self) { APR_ARRAY_IDX(self->parent->children, i, apr_pool_wrapper_t *) = NULL; self->parent = NULL; break; } } }}#include "svn_diff.h"static svn_error_t *svn_diff_fns_invoke_datasource_open( svn_diff_fns_t *_obj, void *diff_baton, svn_diff_datasource_e datasource) { return _obj->datasource_open(diff_baton, datasource);}static svn_error_t *svn_diff_fns_invoke_datasource_close( svn_diff_fns_t *_obj, void *diff_baton, svn_diff_datasource_e datasource) { return _obj->datasource_close(diff_baton, datasource);}static svn_error_t *svn_diff_fns_invoke_datasource_get_next_token( svn_diff_fns_t *_obj, apr_uint32_t *hash, void **token, void *diff_baton, svn_diff_datasource_e datasource) { return _obj->datasource_get_next_token(hash, token, diff_baton, datasource);}static svn_error_t *svn_diff_fns_invoke_token_compare( svn_diff_fns_t *_obj, void *diff_baton, void *ltoken, void *rtoken, int *compare) { return _obj->token_compare(diff_baton, ltoken, rtoken, compare);}static svn_error_t *svn_diff_output_fns_invoke_output_common( svn_diff_output_fns_t *_obj, void *output_baton, apr_off_t original_start, apr_off_t original_length, apr_off_t modified_start, apr_off_t modified_length, apr_off_t latest_start, apr_off_t latest_length) { return _obj->output_common(output_baton, original_start, original_length, modified_start, modified_length, latest_start, latest_length);}static svn_error_t *svn_diff_output_fns_invoke_output_diff_modified( svn_diff_output_fns_t *_obj, void *output_baton, apr_off_t original_start, apr_off_t original_length, apr_off_t modified_start, apr_off_t modified_length, apr_off_t latest_start, apr_off_t latest_length) { return _obj->output_diff_modified(output_baton, original_start, original_length, modified_start, modified_length, latest_start, latest_length);}static svn_error_t *svn_diff_output_fns_invoke_output_diff_latest( svn_diff_output_fns_t *_obj, void *output_baton, apr_off_t original_start, apr_off_t original_length, apr_off_t modified_start, apr_off_t modified_length, apr_off_t latest_start, apr_off_t latest_length) { return _obj->output_diff_latest(output_baton, original_start, original_length, modified_start, modified_length, latest_start, latest_length);}static svn_error_t *svn_diff_output_fns_invoke_output_diff_common( svn_diff_output_fns_t *_obj, void *output_baton, apr_off_t original_start, apr_off_t original_length, apr_off_t modified_start, apr_off_t modified_length, apr_off_t latest_start, apr_off_t latest_length) { return _obj->output_diff_common(output_baton, original_start, original_length, modified_start, modified_length, latest_start, latest_length);}static svn_error_t *svn_diff_output_fns_invoke_output_conflict( svn_diff_output_fns_t *_obj, void *output_baton, apr_off_t original_start, apr_off_t original_length, apr_off_t modified_start, apr_off_t modified_length, apr_off_t latest_start, apr_off_t latest_length, svn_diff_t *resolved_diff) { return _obj->output_conflict(output_baton, original_start, original_length, modified_start, modified_length, latest_start, latest_length, resolved_diff);}static VALUEsvn_default_charset(void){ return INT2NUM((int)APR_DEFAULT_CHARSET);} static VALUEsvn_locale_charset(void){ return INT2NUM((int)APR_LOCALE_CHARSET);}/* prompt providers return baton for protecting GC */static VALUEsvn_swig_rb_auth_get_simple_prompt_provider( svn_auth_provider_object_t **provider, svn_auth_simple_prompt_func_t prompt_func, void *prompt_baton, int retry_limit, apr_pool_t *pool){ svn_auth_get_simple_prompt_provider(provider, prompt_func, prompt_baton, retry_limit, pool); return rb_ary_new3(1, (VALUE)prompt_baton);}static VALUEsvn_swig_rb_auth_get_ssl_client_cert_prompt_provider( svn_auth_provider_object_t **provider, svn_auth_ssl_client_cert_prompt_func_t prompt_func, void *prompt_baton, int retry_limit, apr_pool_t *pool){ svn_auth_get_ssl_client_cert_prompt_provider(provider, prompt_func, prompt_baton, retry_limit, pool); return rb_ary_new3(1, (VALUE)prompt_baton);}static VALUEsvn_swig_rb_auth_get_ssl_client_cert_pw_prompt_provider( svn_auth_provider_object_t **provider, svn_auth_ssl_client_cert_pw_prompt_func_t prompt_func, void *prompt_baton, int retry_limit, apr_pool_t *pool){ svn_auth_get_ssl_client_cert_pw_prompt_provider(provider, prompt_func, prompt_baton, retry_limit, pool); return rb_ary_new3(1, (VALUE)prompt_baton);}static VALUEsvn_swig_rb_auth_get_ssl_server_trust_prompt_provider( svn_auth_provider_object_t **provider, svn_auth_ssl_server_trust_prompt_func_t prompt_func, void *prompt_baton, apr_pool_t *pool){ svn_auth_get_ssl_server_trust_prompt_provider(provider, prompt_func, prompt_baton, pool); return rb_ary_new3(1, (VALUE)prompt_baton);}static VALUEsvn_swig_rb_auth_get_username_prompt_provider( svn_auth_provider_object_t **provider, svn_auth_username_prompt_func_t prompt_func, void *prompt_baton, int retry_limit, apr_pool_t *pool){ svn_auth_get_username_prompt_provider(provider, prompt_func, prompt_baton, retry_limit, pool); return rb_ary_new3(1, (VALUE)prompt_baton);}static VALUE_wrap_svn_time_to_cstring(int argc, VALUE *argv, VALUE self) { apr_time_t arg1 ; apr_pool_t *arg2 = (apr_pool_t *) 0 ; char *result; VALUE _global_svn_swig_rb_pool ; apr_pool_t *_global_pool ; VALUE vresult = Qnil; { svn_swig_rb_get_pool(argc, argv, self, &_global_svn_swig_rb_pool, &arg2); _global_pool = arg2; svn_swig_rb_push_pool(_global_svn_swig_rb_pool); } if ((argc < 1) || (argc > 2)) rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); arg1 = (apr_time_t) NUM2LL(argv[0]); if (argc > 1) { } { result = (char *)svn_time_to_cstring(arg1,arg2); } { if (result) { vresult = rb_str_new2(result); } else { vresult = Qnil; } } { svn_swig_rb_set_pool(vresult, _global_svn_swig_rb_pool); svn_swig_rb_pop_pool(_global_svn_swig_rb_pool); } return vresult;}static VALUE_wrap_svn_time_from_cstring(int argc, VALUE *argv, VALUE self) { apr_time_t *arg1 = (apr_time_t *) 0 ; char *arg2 = (char *) 0 ; apr_pool_t *arg3 = (apr_pool_t *) 0 ; svn_error_t *result; VALUE _global_svn_swig_rb_pool ; apr_pool_t *_global_pool ; apr_time_t temp1 ; VALUE vresult = Qnil; { svn_swig_rb_get_pool(argc, argv, self, &_global_svn_swig_rb_pool, &arg3); _global_pool = arg3; svn_swig_rb_push_pool(_global_svn_swig_rb_pool); } arg1 = &temp1; if ((argc < 1) || (argc > 2)) rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); arg2 = StringValuePtr(argv[0]);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -