📄 debug.c
字号:
if (!tc->clientdata) { SWIG_TypeClientData(tc, clientdata); } } cast = cast->next; }}SWIGRUNTIME voidSWIG_TypeNewClientData(swig_type_info *ti, void *clientdata) { SWIG_TypeClientData(ti, clientdata); ti->owndata = 1;} /* Search for a swig_type_info structure only by mangled name Search is a O(log #types) We start searching at module start, and finish searching when start == end. Note: if start == end at the beginning of the function, we go all the way around the circular list.*/SWIGRUNTIME swig_type_info *SWIG_MangledTypeQueryModule(swig_module_info *start, swig_module_info *end, const char *name) { swig_module_info *iter = start; do { if (iter->size) { register size_t l = 0; register size_t r = iter->size - 1; do { /* since l+r >= 0, we can (>> 1) instead (/ 2) */ register size_t i = (l + r) >> 1; const char *iname = iter->types[i]->name; if (iname) { register int compare = strcmp(name, iname); if (compare == 0) { return iter->types[i]; } else if (compare < 0) { if (i) { r = i - 1; } else { break; } } else if (compare > 0) { l = i + 1; } } else { break; /* should never happen */ } } while (l <= r); } iter = iter->next; } while (iter != end); return 0;}/* Search for a swig_type_info structure for either a mangled name or a human readable name. It first searches the mangled names of the types, which is a O(log #types) If a type is not found it then searches the human readable names, which is O(#types). We start searching at module start, and finish searching when start == end. Note: if start == end at the beginning of the function, we go all the way around the circular list.*/SWIGRUNTIME swig_type_info *SWIG_TypeQueryModule(swig_module_info *start, swig_module_info *end, const char *name) { /* STEP 1: Search the name field using binary search */ swig_type_info *ret = SWIG_MangledTypeQueryModule(start, end, name); if (ret) { return ret; } else { /* STEP 2: If the type hasn't been found, do a complete search of the str field (the human readable name) */ swig_module_info *iter = start; do { register size_t i = 0; for (; i < iter->size; ++i) { if (iter->types[i]->str && (SWIG_TypeEquiv(iter->types[i]->str, name))) return iter->types[i]; } iter = iter->next; } while (iter != end); } /* neither found a match */ return 0;}/* Pack binary data into a string*/SWIGRUNTIME char *SWIG_PackData(char *c, void *ptr, size_t sz) { static const char hex[17] = "0123456789abcdef"; register const unsigned char *u = (unsigned char *) ptr; register const unsigned char *eu = u + sz; for (; u != eu; ++u) { register unsigned char uu = *u; *(c++) = hex[(uu & 0xf0) >> 4]; *(c++) = hex[uu & 0xf]; } return c;}/* Unpack binary data from a string*/SWIGRUNTIME const char *SWIG_UnpackData(const char *c, void *ptr, size_t sz) { register unsigned char *u = (unsigned char *) ptr; register const unsigned char *eu = u + sz; for (; u != eu; ++u) { register char d = *(c++); register unsigned char uu; if ((d >= '0') && (d <= '9')) uu = ((d - '0') << 4); else if ((d >= 'a') && (d <= 'f')) uu = ((d - ('a'-10)) << 4); else return (char *) 0; d = *(c++); if ((d >= '0') && (d <= '9')) uu |= (d - '0'); else if ((d >= 'a') && (d <= 'f')) uu |= (d - ('a'-10)); else return (char *) 0; *u = uu; } return c;}/* Pack 'void *' into a string buffer.*/SWIGRUNTIME char *SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz) { char *r = buff; if ((2*sizeof(void *) + 2) > bsz) return 0; *(r++) = '_'; r = SWIG_PackData(r,&ptr,sizeof(void *)); if (strlen(name) + 1 > (bsz - (r - buff))) return 0; strcpy(r,name); return buff;}SWIGRUNTIME const char *SWIG_UnpackVoidPtr(const char *c, void **ptr, const char *name) { if (*c != '_') { if (strcmp(c,"NULL") == 0) { *ptr = (void *) 0; return name; } else { return 0; } } return SWIG_UnpackData(++c,ptr,sizeof(void *));}SWIGRUNTIME char *SWIG_PackDataName(char *buff, void *ptr, size_t sz, const char *name, size_t bsz) { char *r = buff; size_t lname = (name ? strlen(name) : 0); if ((2*sz + 2 + lname) > bsz) return 0; *(r++) = '_'; r = SWIG_PackData(r,ptr,sz); if (lname) { strncpy(r,name,lname+1); } else { *r = 0; } return buff;}SWIGRUNTIME const char *SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) { if (*c != '_') { if (strcmp(c,"NULL") == 0) { memset(ptr,0,sz); return name; } else { return 0; } } return SWIG_UnpackData(++c,ptr,sz);}#ifdef __cplusplus}#endif/* Errors in SWIG */#define SWIG_UnknownError -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_AttributeError -11#define SWIG_MemoryError -12 #define SWIG_NullReferenceError -13#ifdef __cplusplus/* Needed on some windows machines---since MS plays funny games with the header files under C++ */#include <math.h>#include <stdlib.h>extern "C" {#endif#include "EXTERN.h"#include "perl.h"#include "XSUB.h"/* Add in functionality missing in older versions of Perl. Much of this is based on Devel-PPPort on cpan. *//* Add PERL_REVISION, PERL_VERSION, PERL_SUBVERSION if missing */#ifndef PERL_REVISION# if !defined(__PATCHLEVEL_H_INCLUDED__) && !(defined(PATCHLEVEL) && defined(SUBVERSION))# define PERL_PATCHLEVEL_H_IMPLICIT# include <patchlevel.h># endif# if !(defined(PERL_VERSION) || (defined(SUBVERSION) && defined(PATCHLEVEL)))# include <could_not_find_Perl_patchlevel.h># endif# ifndef PERL_REVISION# define PERL_REVISION (5)# define PERL_VERSION PATCHLEVEL# define PERL_SUBVERSION SUBVERSION# endif#endif#if defined(WIN32) && defined(PERL_OBJECT) && !defined(PerlIO_exportFILE)#define PerlIO_exportFILE(fh,fl) (FILE*)(fh)#endif#ifndef SvIOK_UV# define SvIOK_UV(sv) (SvIOK(sv) && (SvUVX(sv) == SvIVX(sv)))#endif#ifndef SvUOK# define SvUOK(sv) SvIOK_UV(sv)#endif#if ((PERL_VERSION < 4) || ((PERL_VERSION == 4) && (PERL_SUBVERSION <= 5)))# define PL_sv_undef sv_undef# define PL_na na# define PL_errgv errgv# define PL_sv_no sv_no# define PL_sv_yes sv_yes# define PL_markstack_ptr markstack_ptr#endif#ifndef IVSIZE# ifdef LONGSIZE# define IVSIZE LONGSIZE# else# define IVSIZE 4 /* A bold guess, but the best we can make. */# endif#endif#ifndef INT2PTR# if (IVSIZE == PTRSIZE) && (UVSIZE == PTRSIZE)# define PTRV UV# define INT2PTR(any,d) (any)(d)# else# if PTRSIZE == LONGSIZE# define PTRV unsigned long# else# define PTRV unsigned# endif# define INT2PTR(any,d) (any)(PTRV)(d)# endif# define NUM2PTR(any,d) (any)(PTRV)(d)# define PTR2IV(p) INT2PTR(IV,p)# define PTR2UV(p) INT2PTR(UV,p)# define PTR2NV(p) NUM2PTR(NV,p)# if PTRSIZE == LONGSIZE# define PTR2ul(p) (unsigned long)(p)# else# define PTR2ul(p) INT2PTR(unsigned long,p)# endif#endif /* !INT2PTR */#ifndef get_sv# define get_sv perl_get_sv#endif#ifndef ERRSV# define ERRSV get_sv("@",FALSE)#endif#ifndef pTHX_#define pTHX_#endif #include <string.h>#ifdef __cplusplus}#endif/* ----------------------------------------------------------------------------- * error manipulation * ----------------------------------------------------------------------------- */SWIGINTERN const char*SWIG_Perl_ErrorType(int code) { const char* type = 0; switch(code) { case SWIG_MemoryError: type = "MemoryError"; break; case SWIG_IOError: type = "IOError"; break; case SWIG_RuntimeError: type = "RuntimeError"; break; case SWIG_IndexError: type = "IndexError"; break; case SWIG_TypeError: type = "TypeError"; break; case SWIG_DivisionByZero: type = "ZeroDivisionError"; break; case SWIG_OverflowError: type = "OverflowError"; break; case SWIG_SyntaxError: type = "SyntaxError"; break; case SWIG_ValueError: type = "ValueError"; break; case SWIG_SystemError: type = "SystemError"; break; case SWIG_AttributeError: type = "AttributeError"; break; default: type = "RuntimeError"; } return type;}/* ----------------------------------------------------------------------------- * perlrun.swg * * This file contains the runtime support for Perl modules * and includes code for managing global variables and pointer * type checking. * ----------------------------------------------------------------------------- */#ifdef PERL_OBJECT#define SWIG_PERL_OBJECT_DECL CPerlObj *SWIGUNUSEDPARM(pPerl),#define SWIG_PERL_OBJECT_CALL pPerl,#else#define SWIG_PERL_OBJECT_DECL#define SWIG_PERL_OBJECT_CALL#endif/* Common SWIG API *//* for raw pointers */#define SWIG_ConvertPtr(obj, pp, type, flags) SWIG_Perl_ConvertPtr(SWIG_PERL_OBJECT_CALL obj, pp, type, flags)#define SWIG_NewPointerObj(p, type, flags) SWIG_Perl_NewPointerObj(SWIG_PERL_OBJECT_CALL p, type, flags)/* for raw packed data */#define SWIG_ConvertPacked(obj, p, s, type) SWIG_Perl_ConvertPacked(SWIG_PERL_OBJECT_CALL obj, p, s, type)#define SWIG_NewPackedObj(p, s, type) SWIG_Perl_NewPackedObj(SWIG_PERL_OBJECT_CALL p, s, type)/* for class or struct pointers */#define SWIG_ConvertInstance(obj, pptr, type, flags) SWIG_ConvertPtr(obj, pptr, type, flags)#define SWIG_NewInstanceObj(ptr, type, flags) SWIG_NewPointerObj(ptr, type, flags)/* for C or C++ function pointers */#define SWIG_ConvertFunctionPtr(obj, pptr, type) SWIG_ConvertPtr(obj, pptr, type, 0)#define SWIG_NewFunctionPtrObj(ptr, type) SWIG_NewPointerObj(ptr, type, 0)/* for C++ member pointers, ie, member methods */#define SWIG_ConvertMember(obj, ptr, sz, ty) SWIG_ConvertPacked(obj, ptr, sz, ty)#define SWIG_NewMemberObj(ptr, sz, type) SWIG_NewPackedObj(ptr, sz, type)/* Runtime API */#define SWIG_GetModule(clientdata) SWIG_Perl_GetModule()#define SWIG_SetModule(clientdata, pointer) SWIG_Perl_SetModule(pointer)/* Error manipulation */#define SWIG_ErrorType(code) SWIG_Perl_ErrorType(code) #define SWIG_Error(code, msg) sv_setpvf(GvSV(PL_errgv),"%s %s\n", SWIG_ErrorType(code), msg)#define SWIG_fail goto fail /* Perl-specific SWIG API */#define SWIG_MakePtr(sv, ptr, type, flags) SWIG_Perl_MakePtr(SWIG_PERL_OBJECT_CALL sv, ptr, type, flags)#define SWIG_MakePackedObj(sv, p, s, type) SWIG_Perl_MakePackedObj(SWIG_PERL_OBJECT_CALL sv, p, s, type)#define SWIG_SetError(str) SWIG_Error(SWIG_RuntimeError, str)#define SWIG_PERL_DECL_ARGS_1(arg1) (SWIG_PERL_OBJECT_DECL arg1)#define SWIG_PERL_CALL_ARGS_1(arg1) (SWIG_PERL_OBJECT_CALL arg1)#define SWIG_PERL_DECL_ARGS_2(arg1, arg2) (SWIG_PERL_OBJECT_DECL arg1, arg2)#define SWIG_PERL_CALL_ARGS_2(arg1, arg2) (SWIG_PERL_OBJECT_CALL arg1, arg2)/* ----------------------------------------------------------------------------- * pointers/data manipulation * ----------------------------------------------------------------------------- *//* For backward compatibility only */#define SWIG_POINTER_EXCEPTION 0#ifdef __cplusplusextern "C" {#endif#define SWIG_OWNER SWIG_POINTER_OWN#define SWIG_SHADOW SWIG_OWNER << 1#define SWIG_MAYBE_PERL_OBJECT SWIG_PERL_OBJECT_DECL/* SWIG Perl macros *//* Macro to call an XS function */#ifdef PERL_OBJECT # define SWIG_CALLXS(_name) _name(cv,pPerl) #else # ifndef MULTIPLICITY # define SWIG_CALLXS(_name) _name(cv) # else # define SWIG_CALLXS(_name) _name(PERL_GET_THX, cv) # endif #endif /* Note: SwigMagicFuncHack is a typedef used to get the C++ compiler to just shut up already */#ifdef PERL_OBJECT#define MAGIC_PPERL CPerlObj *pPerl = (CPerlObj *) this;typedef int (CPerlObj::*SwigMagicFunc)(SV *, MAGIC *);#ifdef __cplusplusextern "C" {#endiftypedef int (CPerlObj::*SwigMagicFuncHack)(SV *, MAGIC *);#ifdef __cplusplus}#endif#define SWIG_MAGIC(a,b) (SV *a, MAGIC *b)#define SWIGCLASS_STATIC#else#define MAGIC_PPERL#define SWIGCLASS_STATIC static SWIGUNUSED#ifndef MULTIPLICITY#define SWIG_MAGIC(a,b) (SV *a, MAGIC *b)typedef int (*SwigMagicFunc)(SV *, MAGIC *);#ifdef __cplusplusextern "C" {#endiftypedef int (*SwigMagicFuncHack)(SV *, MAGIC *);#ifdef __cplusplus}#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -