diff options
author | Joe Marcus Clarke <marcus@FreeBSD.org> | 2009-08-22 23:11:18 +0000 |
---|---|---|
committer | Joe Marcus Clarke <marcus@FreeBSD.org> | 2009-08-22 23:11:18 +0000 |
commit | f7893da6d0d06c756b12eead3b6e9e0bfa97acb9 (patch) | |
tree | d16b22b6ba2aa3d0f0213166f4fafd8cc9153a51 /converters/p5-Text-Bidi | |
parent | 122619cedeb1e517318f64078e9f076958edd817 (diff) | |
download | ports-f7893da6d0d06c756b12eead3b6e9e0bfa97acb9.tar.gz ports-f7893da6d0d06c756b12eead3b6e9e0bfa97acb9.zip |
Notes
Diffstat (limited to 'converters/p5-Text-Bidi')
-rw-r--r-- | converters/p5-Text-Bidi/files/patch-private.c | 3028 |
1 files changed, 3028 insertions, 0 deletions
diff --git a/converters/p5-Text-Bidi/files/patch-private.c b/converters/p5-Text-Bidi/files/patch-private.c new file mode 100644 index 000000000000..eef69a82930c --- /dev/null +++ b/converters/p5-Text-Bidi/files/patch-private.c @@ -0,0 +1,3028 @@ +--- private.c.orig 2009-08-22 19:09:43.000000000 -0400 ++++ private.c 2009-08-22 19:09:46.000000000 -0400 +@@ -1,6 +1,6 @@ + /* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). +- * Version 1.3.31 ++ * Version 1.3.39 + * + * This file is not intended to be easily readable and contains a number of + * coding conventions designed to improve portability and efficiency. Do not make +@@ -10,6 +10,7 @@ + + #define SWIGPERL + #define SWIG_CASTRANK_MODE ++ + /* ----------------------------------------------------------------------------- + * This section contains generic SWIG labels for method/variable + * declarations/attributes, and other compiler dependent labels. +@@ -17,14 +18,14 @@ + + /* template workaround for compilers that cannot correctly implement the C++ standard */ + #ifndef SWIGTEMPLATEDISAMBIGUATOR +-# if defined(__SUNPRO_CC) +-# if (__SUNPRO_CC <= 0x560) +-# define SWIGTEMPLATEDISAMBIGUATOR template +-# else +-# define SWIGTEMPLATEDISAMBIGUATOR +-# endif ++# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560) ++# define SWIGTEMPLATEDISAMBIGUATOR template ++# elif defined(__HP_aCC) ++/* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */ ++/* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */ ++# define SWIGTEMPLATEDISAMBIGUATOR template + # else +-# define SWIGTEMPLATEDISAMBIGUATOR ++# define SWIGTEMPLATEDISAMBIGUATOR + # endif + #endif + +@@ -52,6 +53,12 @@ + # endif + #endif + ++#ifndef SWIG_MSC_UNSUPPRESS_4505 ++# if defined(_MSC_VER) ++# pragma warning(disable : 4505) /* unreferenced local function has been removed */ ++# endif ++#endif ++ + #ifndef SWIGUNUSEDPARM + # ifdef __cplusplus + # define SWIGUNUSEDPARM(p) +@@ -107,16 +114,22 @@ + # define _CRT_SECURE_NO_DEPRECATE + #endif + ++/* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */ ++#if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE) ++# define _SCL_SECURE_NO_DEPRECATE ++#endif ++ ++ + /* ----------------------------------------------------------------------------- + * swigrun.swg + * +- * This file contains generic CAPI SWIG runtime support for pointer ++ * This file contains generic C API SWIG runtime support for pointer + * type checking. + * ----------------------------------------------------------------------------- */ + + /* This should only be incremented when either the layout of swig_type_info changes, + or for whatever reason, the runtime changes incompatibly */ +-#define SWIG_RUNTIME_VERSION "3" ++#define SWIG_RUNTIME_VERSION "4" + + /* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */ + #ifdef SWIG_TYPE_TABLE +@@ -129,11 +142,11 @@ + + /* + You can use the SWIGRUNTIME and SWIGRUNTIMEINLINE macros for +- creating a static or dynamic library from the swig runtime code. +- In 99.9% of the cases, swig just needs to declare them as 'static'. ++ creating a static or dynamic library from the SWIG runtime code. ++ In 99.9% of the cases, SWIG just needs to declare them as 'static'. + +- But only do this if is strictly necessary, ie, if you have problems +- with your compiler or so. ++ But only do this if strictly necessary, ie, if you have problems ++ with your compiler or suchlike. + */ + + #ifndef SWIGRUNTIME +@@ -151,6 +164,7 @@ + + /* Flags for pointer conversions */ + #define SWIG_POINTER_DISOWN 0x1 ++#define SWIG_CAST_NEW_MEMORY 0x2 + + /* Flags for new pointer objects */ + #define SWIG_POINTER_OWN 0x1 +@@ -159,14 +173,14 @@ + /* + Flags/methods for returning states. + +- The swig conversion methods, as ConvertPtr, return and integer ++ The SWIG conversion methods, as ConvertPtr, return and integer + that tells if the conversion was successful or not. And if not, + an error code can be returned (see swigerrors.swg for the codes). + + Use the following macros/flags to set or process the returning + states. + +- In old swig versions, you usually write code as: ++ In old versions of SWIG, code such as the following was usually written: + + if (SWIG_ConvertPtr(obj,vptr,ty.flags) != -1) { + // success code +@@ -174,7 +188,7 @@ + //fail code + } + +- Now you can be more explicit as: ++ Now you can be more explicit: + + int res = SWIG_ConvertPtr(obj,vptr,ty.flags); + if (SWIG_IsOK(res)) { +@@ -183,7 +197,7 @@ + // fail code + } + +- that seems to be the same, but now you can also do ++ which is the same really, but now you can also do + + Type *ptr; + int res = SWIG_ConvertPtr(obj,(void **)(&ptr),ty.flags); +@@ -201,7 +215,7 @@ + + I.e., now SWIG_ConvertPtr can return new objects and you can + identify the case and take care of the deallocation. Of course that +- requires also to SWIG_ConvertPtr to return new result values, as ++ also requires SWIG_ConvertPtr to return new result values, such as + + int SWIG_ConvertPtr(obj, ptr,...) { + if (<obj is ok>) { +@@ -219,7 +233,7 @@ + + Of course, returning the plain '0(success)/-1(fail)' still works, but you can be + more explicit by returning SWIG_BADOBJ, SWIG_ERROR or any of the +- swig errors code. ++ SWIG errors code. + + Finally, if the SWIG_CASTRANK_MODE is enabled, the result code + allows to return the 'cast rank', for example, if you have this +@@ -233,9 +247,8 @@ + fooi(1) // cast rank '0' + + just use the SWIG_AddCast()/SWIG_CheckState() ++*/ + +- +- */ + #define SWIG_OK (0) + #define SWIG_ERROR (-1) + #define SWIG_IsOK(r) (r >= 0) +@@ -260,7 +273,6 @@ + #define SWIG_DelTmpMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_TMPOBJMASK) : r) + #define SWIG_IsTmpObj(r) (SWIG_IsOK(r) && (r & SWIG_TMPOBJMASK)) + +- + /* Cast-Rank Mode */ + #if defined(SWIG_CASTRANK_MODE) + # ifndef SWIG_TypeRank +@@ -283,18 +295,16 @@ SWIGINTERNINLINE int SWIG_CheckState(int + #endif + + +- +- + #include <string.h> + + #ifdef __cplusplus + extern "C" { + #endif + +-typedef void *(*swig_converter_func)(void *); ++typedef void *(*swig_converter_func)(void *, int *); + typedef struct swig_type_info *(*swig_dycast_func)(void **); + +-/* Structure to store inforomation on one type */ ++/* Structure to store information on one type */ + typedef struct swig_type_info { + const char *name; /* mangled name of this type */ + const char *str; /* human readable name of this type */ +@@ -339,7 +349,7 @@ SWIG_TypeNameComp(const char *f1, const + while ((*f2 == ' ') && (f2 != l2)) ++f2; + if (*f1 != *f2) return (*f1 > *f2) ? 1 : -1; + } +- return (l1 - f1) - (l2 - f2); ++ return (int)((l1 - f1) - (l2 - f2)); + } + + /* +@@ -381,48 +391,66 @@ SWIG_TypeCompare(const char *nb, const c + } + + +-/* think of this as a c++ template<> or a scheme macro */ +-#define SWIG_TypeCheck_Template(comparison, ty) \ +- if (ty) { \ +- swig_cast_info *iter = ty->cast; \ +- while (iter) { \ +- if (comparison) { \ +- if (iter == ty->cast) return iter; \ +- /* Move iter to the top of the linked list */ \ +- iter->prev->next = iter->next; \ +- if (iter->next) \ +- iter->next->prev = iter->prev; \ +- iter->next = ty->cast; \ +- iter->prev = 0; \ +- if (ty->cast) ty->cast->prev = iter; \ +- ty->cast = iter; \ +- return iter; \ +- } \ +- iter = iter->next; \ +- } \ +- } \ +- return 0 +- + /* + Check the typename + */ + SWIGRUNTIME swig_cast_info * + SWIG_TypeCheck(const char *c, swig_type_info *ty) { +- SWIG_TypeCheck_Template(strcmp(iter->type->name, c) == 0, ty); ++ if (ty) { ++ swig_cast_info *iter = ty->cast; ++ while (iter) { ++ if (strcmp(iter->type->name, c) == 0) { ++ if (iter == ty->cast) ++ return iter; ++ /* Move iter to the top of the linked list */ ++ iter->prev->next = iter->next; ++ if (iter->next) ++ iter->next->prev = iter->prev; ++ iter->next = ty->cast; ++ iter->prev = 0; ++ if (ty->cast) ty->cast->prev = iter; ++ ty->cast = iter; ++ return iter; ++ } ++ iter = iter->next; ++ } ++ } ++ return 0; + } + +-/* Same as previous function, except strcmp is replaced with a pointer comparison */ ++/* ++ Identical to SWIG_TypeCheck, except strcmp is replaced with a pointer comparison ++*/ + SWIGRUNTIME swig_cast_info * +-SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *into) { +- SWIG_TypeCheck_Template(iter->type == from, into); ++SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *ty) { ++ if (ty) { ++ swig_cast_info *iter = ty->cast; ++ while (iter) { ++ if (iter->type == from) { ++ if (iter == ty->cast) ++ return iter; ++ /* Move iter to the top of the linked list */ ++ iter->prev->next = iter->next; ++ if (iter->next) ++ iter->next->prev = iter->prev; ++ iter->next = ty->cast; ++ iter->prev = 0; ++ if (ty->cast) ty->cast->prev = iter; ++ ty->cast = iter; ++ return iter; ++ } ++ iter = iter->next; ++ } ++ } ++ return 0; + } + + /* + Cast a pointer up an inheritance hierarchy + */ + SWIGRUNTIMEINLINE void * +-SWIG_TypeCast(swig_cast_info *ty, void *ptr) { +- return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr); ++SWIG_TypeCast(swig_cast_info *ty, void *ptr, int *newmemory) { ++ return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr, newmemory); + } + + /* +@@ -775,6 +803,10 @@ extern "C" { + # endif + #endif /* !INT2PTR */ + ++#ifndef SvPV_nolen ++# define SvPV_nolen(x) SvPV(x,PL_na) ++#endif ++ + #ifndef get_sv + # define get_sv perl_get_sv + #endif +@@ -923,6 +955,11 @@ extern "C" { + + /* SWIG Perl macros */ + ++/* Macro to declare an XS function */ ++#ifndef XSPROTO ++# define XSPROTO(name) void name(pTHX_ CV* cv) ++#endif ++ + /* Macro to call an XS function */ + #ifdef PERL_OBJECT + # define SWIG_CALLXS(_name) _name(cv,pPerl) +@@ -934,51 +971,50 @@ extern "C" { + # 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 __cplusplus + extern "C" { + #endif +-typedef int (CPerlObj::*SwigMagicFuncHack)(SV *, MAGIC *); ++typedef int (CPerlObj::*SwigMagicFunc)(SV *, MAGIC *); + #ifdef __cplusplus + } + #endif + + #define SWIG_MAGIC(a,b) (SV *a, MAGIC *b) + #define SWIGCLASS_STATIC +-#else ++ ++#else /* PERL_OBJECT */ ++ + #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 __cplusplus + extern "C" { + #endif +-typedef int (*SwigMagicFuncHack)(SV *, MAGIC *); ++typedef int (*SwigMagicFunc)(SV *, MAGIC *); + #ifdef __cplusplus + } + #endif + ++#else /* MULTIPLICITY */ + +-#else + #define SWIG_MAGIC(a,b) (struct interpreter *interp, SV *a, MAGIC *b) +-typedef int (*SwigMagicFunc)(struct interpreter *, SV *, MAGIC *); ++ + #ifdef __cplusplus + extern "C" { + #endif +-typedef int (*SwigMagicFuncHack)(struct interpreter *, SV *, MAGIC *); ++typedef int (*SwigMagicFunc)(struct interpreter *, SV *, MAGIC *); + #ifdef __cplusplus + } + #endif + +-#endif +-#endif ++#endif /* MULTIPLICITY */ ++#endif /* PERL_OBJECT */ + + /* Workaround for bug in perl 5.6.x croak and earlier */ + #if (PERL_VERSION < 8) +@@ -1045,13 +1081,32 @@ SWIG_Perl_TypeProxyName(const swig_type_ + } + } + ++/* Identical to SWIG_TypeCheck, except for strcmp comparison */ + SWIGRUNTIME swig_cast_info * + SWIG_TypeProxyCheck(const char *c, swig_type_info *ty) { +- SWIG_TypeCheck_Template(( (!iter->type->clientdata && (strcmp((char*)iter->type->name, c) == 0)) +- || (iter->type->clientdata && (strcmp((char*)iter->type->clientdata, c) == 0))), ty); ++ if (ty) { ++ swig_cast_info *iter = ty->cast; ++ while (iter) { ++ if ( (!iter->type->clientdata && (strcmp(iter->type->name, c) == 0)) || ++ (iter->type->clientdata && (strcmp((char*)iter->type->clientdata, c) == 0)) ) { ++ if (iter == ty->cast) ++ return iter; ++ /* Move iter to the top of the linked list */ ++ iter->prev->next = iter->next; ++ if (iter->next) ++ iter->next->prev = iter->prev; ++ iter->next = ty->cast; ++ iter->prev = 0; ++ if (ty->cast) ty->cast->prev = iter; ++ ty->cast = iter; ++ return iter; ++ } ++ iter = iter->next; ++ } ++ } ++ return 0; + } + +- + /* Function for getting a pointer value */ + + SWIGRUNTIME int +@@ -1105,7 +1160,11 @@ SWIG_Perl_ConvertPtr(SWIG_MAYBE_PERL_OBJ + if (!tc) { + return SWIG_ERROR; + } +- *ptr = SWIG_TypeCast(tc,voidptr); ++ { ++ int newmemory = 0; ++ *ptr = SWIG_TypeCast(tc,voidptr,&newmemory); ++ assert(!newmemory); /* newmemory handling not yet implemented */ ++ } + } else { + *ptr = voidptr; + } +@@ -1195,7 +1254,7 @@ SWIG_Perl_ConvertPacked(SWIG_MAYBE_PERL_ + const char *c = 0; + + if ((!obj) || (!SvOK(obj))) return SWIG_ERROR; +- c = SvPV(obj, PL_na); ++ c = SvPV_nolen(obj); + /* Pointer values must start with leading underscore */ + if (*c != '_') return SWIG_ERROR; + c++; +@@ -1212,7 +1271,7 @@ SWIG_Perl_ConvertPacked(SWIG_MAYBE_PERL_ + #define SWIG_croak(x) { SWIG_Error(SWIG_RuntimeError, x); SWIG_fail; } + + +-typedef XS(SwigPerlWrapper); ++typedef XSPROTO(SwigPerlWrapper); + typedef SwigPerlWrapper *SwigPerlWrapperPtr; + + /* Structure for command table */ +@@ -1265,8 +1324,8 @@ SWIGRUNTIME void _swig_create_magic(CPer + sv_magic(sv,sv,'U',(char *) name,strlen(name)); + mg = mg_find(sv,'U'); + mg->mg_virtual = (MGVTBL *) malloc(sizeof(MGVTBL)); +- mg->mg_virtual->svt_get = (SwigMagicFuncHack) get; +- mg->mg_virtual->svt_set = (SwigMagicFuncHack) set; ++ mg->mg_virtual->svt_get = (SwigMagicFunc) get; ++ mg->mg_virtual->svt_set = (SwigMagicFunc) set; + mg->mg_virtual->svt_len = 0; + mg->mg_virtual->svt_clear = 0; + mg->mg_virtual->svt_free = 0; +@@ -1280,7 +1339,7 @@ SWIG_Perl_GetModule(void) { + + /* first check if pointer already created */ + if (!type_pointer) { +- pointer = get_sv("swig_runtime_data::type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, FALSE); ++ pointer = get_sv("swig_runtime_data::type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, FALSE | GV_ADDMULTI); + if (pointer && SvOK(pointer)) { + type_pointer = INT2PTR(swig_type_info **, SvIV(pointer)); + } +@@ -1294,7 +1353,7 @@ SWIG_Perl_SetModule(swig_module_info *mo + SV *pointer; + + /* create a new pointer */ +- pointer = get_sv("swig_runtime_data::type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, TRUE); ++ pointer = get_sv("swig_runtime_data::type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, TRUE | GV_ADDMULTI); + sv_setiv(pointer, PTR2IV(module)); + } + +@@ -1395,6 +1454,12 @@ SWIG_Perl_SetModule(swig_module_info *mo + #ifdef open + #undef open + #endif ++#ifdef readdir ++ #undef readdir ++#endif ++#ifdef bind ++ #undef bind ++#endif + + + +@@ -1407,8 +1472,8 @@ SWIG_Perl_SetModule(swig_module_info *mo + /* -------- TYPES TABLE (BEGIN) -------- */ + + #define SWIGTYPE_p_FriBidiCharSet swig_types[0] +-#define SWIGTYPE_p_FriBidiRunType swig_types[1] +-#define SWIGTYPE_p__FriBidiList swig_types[2] ++#define SWIGTYPE_p_FriBidiCharType swig_types[1] ++#define SWIGTYPE_p_FriBidiParType swig_types[2] + #define SWIGTYPE_p_char swig_types[3] + #define SWIGTYPE_p_int swig_types[4] + #define SWIGTYPE_p_short swig_types[5] +@@ -1416,9 +1481,8 @@ SWIG_Perl_SetModule(swig_module_info *mo + #define SWIGTYPE_p_unsigned_char swig_types[7] + #define SWIGTYPE_p_unsigned_int swig_types[8] + #define SWIGTYPE_p_unsigned_short swig_types[9] +-#define SWIGTYPE_p_void swig_types[10] +-static swig_type_info *swig_types[12]; +-static swig_module_info swig_module = {swig_types, 11, 0, 0, 0, 0}; ++static swig_type_info *swig_types[11]; ++static swig_module_info swig_module = {swig_types, 10, 0, 0, 0, 0}; + #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name) + #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name) + +@@ -1429,7 +1493,7 @@ static swig_module_info swig_module = {s + #define SWIG_name "Text::Bidi::privatec::boot_Text__Bidi__private" + #define SWIG_prefix "Text::Bidi::privatec::" + +-#define SWIGVERSION 0x010331 ++#define SWIGVERSION 0x010339 + #define SWIG_VERSION SWIGVERSION + + +@@ -1455,7 +1519,7 @@ SWIGEXPORT void SWIG_init (CV *cv, CPerl + #define Newx(A,B,C) New(42,A,B,C) + #endif + #include <fribidi/fribidi.h> +-FRIBIDI_API void log2vis ( /* input */ ++void log2vis ( /* input */ + FriBidiChar *str, + FriBidiStrIndex len, + /* output */ +@@ -1480,7 +1544,7 @@ SWIG_AsVal_double SWIG_PERL_DECL_ARGS_2( + if (val) *val = (double) SvIV(obj); + return SWIG_AddCast(SWIG_OK); + } else { +- const char *nptr = SvPV(obj, PL_na); ++ const char *nptr = SvPV_nolen(obj); + if (nptr) { + char *endptr; + double v = strtod(nptr, &endptr); +@@ -1551,10 +1615,12 @@ SWIG_AsVal_unsigned_SS_long SWIG_PERL_DE + } + } else { + int dispatch = 0; +- const char *nptr = SvPV(obj, PL_na); ++ const char *nptr = SvPV_nolen(obj); + if (nptr) { + char *endptr; +- unsigned long v = strtoul(nptr, &endptr,0); ++ unsigned long v; ++ errno = 0; ++ v = strtoul(nptr, &endptr,0); + if (errno == ERANGE) { + errno = 0; + return SWIG_OverflowError; +@@ -1579,14 +1645,12 @@ SWIG_AsVal_unsigned_SS_long SWIG_PERL_DE + + + #include <limits.h> +-#ifndef LLONG_MIN +-# define LLONG_MIN LONG_LONG_MIN +-#endif +-#ifndef LLONG_MAX +-# define LLONG_MAX LONG_LONG_MAX +-#endif +-#ifndef ULLONG_MAX +-# define ULLONG_MAX ULONG_LONG_MAX ++#if !defined(SWIG_NO_LLONG_MAX) ++# if !defined(LLONG_MAX) && defined(__GNUC__) && defined (__LONG_LONG_MAX__) ++# define LLONG_MAX __LONG_LONG_MAX__ ++# define LLONG_MIN (-LLONG_MAX - 1LL) ++# define ULLONG_MAX (LLONG_MAX * 2ULL + 1ULL) ++# endif + #endif + + +@@ -1598,10 +1662,12 @@ SWIG_AsVal_long SWIG_PERL_DECL_ARGS_2(SV + return SWIG_OK; + } else { + int dispatch = 0; +- const char *nptr = SvPV(obj, PL_na); ++ const char *nptr = SvPV_nolen(obj); + if (nptr) { + char *endptr; +- long v = strtol(nptr, &endptr,0); ++ long v; ++ errno = 0; ++ v = strtol(nptr, &endptr,0); + if (errno == ERANGE) { + errno = 0; + return SWIG_OverflowError; +@@ -1641,20 +1707,65 @@ SWIG_AsVal_int SWIG_PERL_DECL_ARGS_2(SV + } + + ++SWIGINTERN swig_type_info* ++SWIG_pchar_descriptor(void) ++{ ++ static int init = 0; ++ static swig_type_info* info = 0; ++ if (!init) { ++ info = SWIG_TypeQuery("_p_char"); ++ init = 1; ++ } ++ return info; ++} ++ ++ ++SWIGINTERN int ++SWIG_AsCharPtrAndSize(SV *obj, char** cptr, size_t* psize, int *alloc) ++{ ++ if (SvMAGICAL(obj)) { ++ SV *tmp = sv_newmortal(); ++ SvSetSV(tmp, obj); ++ obj = tmp; ++ } ++ if (SvPOK(obj)) { ++ STRLEN len = 0; ++ char *cstr = SvPV(obj, len); ++ size_t size = len + 1; ++ if (cptr) { ++ if (alloc) { ++ if (*alloc == SWIG_NEWOBJ) { ++ *cptr = (char *)memcpy((char *)malloc((size)*sizeof(char)), cstr, sizeof(char)*(size)); ++ } else { ++ *cptr = cstr; ++ *alloc = SWIG_OLDOBJ; ++ } ++ } ++ } ++ if (psize) *psize = size; ++ return SWIG_OK; ++ } else { ++ swig_type_info* pchar_descriptor = SWIG_pchar_descriptor(); ++ if (pchar_descriptor) { ++ char* vptr = 0; ++ if (SWIG_ConvertPtr(obj, (void**)&vptr, pchar_descriptor, 0) == SWIG_OK) { ++ if (cptr) *cptr = vptr; ++ if (psize) *psize = vptr ? (strlen(vptr) + 1) : 0; ++ if (alloc) *alloc = SWIG_OLDOBJ; ++ return SWIG_OK; ++ } ++ } ++ } ++ return SWIG_TypeError; ++} ++ ++ + SWIGINTERNINLINE SV * + SWIG_FromCharPtrAndSize(const char* carray, size_t size) + { + SV *obj = sv_newmortal(); + if (carray) { +- if (size && (carray[size - 1] == 0)) { +- sv_setpv(obj, carray); +- } else { +- char *tmp = (char *)malloc((size + 1)*sizeof(char)); +- memcpy(tmp, carray, size); +- tmp[size] = 0; +- sv_setpv(obj, tmp); +- free((char*)tmp); +- } ++ sv_setpvn(obj, carray, size); + } else { + sv_setsv(obj, &PL_sv_undef); + } +@@ -1702,6 +1813,13 @@ SWIG_AsVal_unsigned_SS_int SWIG_PERL_DEC + + + SWIGINTERNINLINE SV * ++SWIG_From_signed_SS_char SWIG_PERL_DECL_ARGS_1(signed char value) ++{ ++ return SWIG_From_long SWIG_PERL_CALL_ARGS_1(value); ++} ++ ++ ++SWIGINTERNINLINE SV * + SWIG_From_unsigned_SS_long SWIG_PERL_DECL_ARGS_1(unsigned long value) + { + SV *obj = sv_newmortal(); +@@ -1710,59 +1828,38 @@ SWIG_From_unsigned_SS_long SWIG_PERL_DE + } + + +-SWIGINTERN swig_type_info* +-SWIG_pchar_descriptor(void) +-{ +- static int init = 0; +- static swig_type_info* info = 0; +- if (!init) { +- info = SWIG_TypeQuery("_p_char"); +- init = 1; +- } +- return info; ++SWIGINTERNINLINE SV * ++SWIG_From_unsigned_SS_char SWIG_PERL_DECL_ARGS_1(unsigned char value) ++{ ++ return SWIG_From_unsigned_SS_long SWIG_PERL_CALL_ARGS_1(value); + } + + + SWIGINTERN int +-SWIG_AsCharPtrAndSize(SV *obj, char** cptr, size_t* psize, int *alloc) ++SWIG_AsVal_unsigned_SS_char SWIG_PERL_DECL_ARGS_2(SV * obj, unsigned char *val) + { +- if (SvPOK(obj)) { +- STRLEN len = 0; +- char *cstr = SvPV(obj, len); +- size_t size = len + 1; +- if (cptr) { +- if (alloc) { +- if (*alloc == SWIG_NEWOBJ) { +- *cptr = (char *)memcpy((char *)malloc((size)*sizeof(char)), cstr, sizeof(char)*(size)); +- } else { +- *cptr = cstr; +- *alloc = SWIG_OLDOBJ; +- } +- } +- } +- if (psize) *psize = size; +- return SWIG_OK; +- } else { +- swig_type_info* pchar_descriptor = SWIG_pchar_descriptor(); +- if (pchar_descriptor) { +- char* vptr = 0; +- if (SWIG_ConvertPtr(obj, (void**)&vptr, pchar_descriptor, 0) == SWIG_OK) { +- if (cptr) *cptr = vptr; +- if (psize) *psize = vptr ? (strlen(vptr) + 1) : 0; +- if (alloc) *alloc = SWIG_OLDOBJ; +- return SWIG_OK; +- } ++ unsigned long v; ++ int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(obj, &v); ++ if (SWIG_IsOK(res)) { ++ if ((v > UCHAR_MAX)) { ++ return SWIG_OverflowError; ++ } else { ++ if (val) *val = (unsigned char)(v); + } +- } +- return SWIG_TypeError; ++ } ++ return res; + } + + + + ++#ifdef __cplusplus ++extern "C" { ++#endif ++ + #ifdef PERL_OBJECT +-#define MAGIC_CLASS _wrap_Text::Bidi::private_var:: +-class _wrap_Text::Bidi::private_var : public CPerlObj { ++#define MAGIC_CLASS _wrap_Text__Bidi__private_var:: ++class _wrap_Text__Bidi__private_var : public CPerlObj { + public: + #else + #define MAGIC_CLASS +@@ -1772,9 +1869,28 @@ SWIGCLASS_STATIC int swig_magic_readonly + croak("Value is read-only."); + return 0; + } +-SWIGCLASS_STATIC int _wrap_fribidi_prop_to_type_get(pTHX_ SV *sv, MAGIC *SWIGUNUSEDPARM(mg)) { ++SWIGCLASS_STATIC int _wrap_fribidi_unicode_version_set(pTHX_ SV* sv, MAGIC * SWIGUNUSEDPARM(mg)) { ++ MAGIC_PPERL ++ { ++ char *cptr = 0; size_t csize = 0; int alloc = SWIG_NEWOBJ; ++ int res = SWIG_AsCharPtrAndSize(sv, &cptr, &csize, &alloc); ++ if (!SWIG_IsOK(res)) { ++ SWIG_exception_fail(SWIG_ArgError(res), "in variable '""fribidi_unicode_version""' of type '""char const *""'"); ++ } ++ if (alloc == SWIG_NEWOBJ) { ++ fribidi_unicode_version = cptr; ++ } else { ++ fribidi_unicode_version = csize ? (char const *)(char *)memcpy((char *)malloc((csize)*sizeof(char)), cptr, sizeof(char)*(csize)) : 0; ++ } ++ } ++fail: ++ return 1; ++} ++ ++ ++SWIGCLASS_STATIC int _wrap_fribidi_unicode_version_get(pTHX_ SV *sv, MAGIC *SWIGUNUSEDPARM(mg)) { + MAGIC_PPERL +- sv_setiv(SvRV(sv),PTR2IV(fribidi_prop_to_type)); ++ sv_setsv(sv,SWIG_FromCharPtr(fribidi_unicode_version)) ; + return 1; + } + +@@ -1786,6 +1902,10 @@ SWIGCLASS_STATIC int _wrap_fribidi_prop_ + #endif + + #ifdef __cplusplus ++} ++#endif ++ ++#ifdef __cplusplus + extern "C" { + #endif + XS(_wrap_log2vis) { +@@ -1814,7 +1934,7 @@ XS(_wrap_log2vis) { + + temp4 = FRIBIDI_TYPE_ON; + arg4 = &temp4; +- _global_wantarray = /*@SWIG:WANTARRAY@*/(GIMME_V == G_ARRAY) ++ _global_wantarray = /*@SWIG:swig/fribidi.i,33,WANTARRAY@*/(GIMME_V == G_ARRAY) + /*@SWIG@*/; + + arg2 = 0; +@@ -1839,7 +1959,7 @@ XS(_wrap_log2vis) { + *_global_p_len = (FriBidiStrIndex)(size1/sizeof(FriBidiChar)); + arg1 = (FriBidiChar *)(buf1); + if (items > 1) { +- if (!(SWIG_IsOK((res4 = SWIG_ConvertPtr(ST(1),SWIG_as_voidptrptr(&arg4),SWIGTYPE_p_int,0))))) { ++ if (!(SWIG_IsOK((res4 = SWIG_ConvertPtr(ST(1),SWIG_as_voidptrptr(&arg4),SWIGTYPE_p_FriBidiCharType,0))))) { + unsigned long val; + int ecode = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val); + if (!SWIG_IsOK(ecode)) { +@@ -1862,10 +1982,10 @@ XS(_wrap_log2vis) { + } + _saved[0] = ST(1); + log2vis(arg1,arg2,arg3,arg4,arg5,arg6,arg7); +- ++ ST(argvi) = sv_newmortal(); + { +- /*@SWIG:MXPUSHP@*/ +- /*@SWIG:XPUSHS@*/ ++ /*@SWIG:swig/fribidi.i,53,MXPUSHP@*/ ++ /*@SWIG:swig/fribidi.i,40,XPUSHS@*/ + if (argvi >= items) + EXTEND(sp, 1); + ST(argvi) = sv_2mortal(newSVpvn((const char *)(arg3),(STRLEN)( (*_global_p_len) * sizeof(FriBidiChar)))); +@@ -1875,8 +1995,8 @@ XS(_wrap_log2vis) { + } + { + if (_global_wantarray) { +- /*@SWIG:MXPUSHU@*/ +- /*@SWIG:XPUSHS@*/ ++ /*@SWIG:swig/fribidi.i,48,MXPUSHU@*/ ++ /*@SWIG:swig/fribidi.i,40,XPUSHS@*/ + if (argvi >= items) + EXTEND(sp, 1); + ST(argvi) = sv_2mortal(newSVuv(*(arg4))); +@@ -1887,14 +2007,14 @@ XS(_wrap_log2vis) { + } + { + if ( _global_wantarray ) +- /*@SWIG:MXPUSHUA@*/ ++ /*@SWIG:swig/fribidi.i,63,MXPUSHUA@*/ + { + AV* tempav = newAV(); + int i; + for(i=0 ; i < (*_global_p_len) ; i++) + av_push(tempav, newSVuv(arg5[i])); +- /*@SWIG:MXPUSHR@*/ +- /*@SWIG:XPUSHS@*/ ++ /*@SWIG:swig/fribidi.i,58,MXPUSHR@*/ ++ /*@SWIG:swig/fribidi.i,40,XPUSHS@*/ + if (argvi >= items) + EXTEND(sp, 1); + ST(argvi) = sv_2mortal(newRV_noinc((SV *)tempav)); +@@ -1906,14 +2026,14 @@ XS(_wrap_log2vis) { + } + { + if ( _global_wantarray ) +- /*@SWIG:MXPUSHUA@*/ ++ /*@SWIG:swig/fribidi.i,63,MXPUSHUA@*/ + { + AV* tempav = newAV(); + int i; + for(i=0 ; i < (*_global_p_len) ; i++) + av_push(tempav, newSVuv(arg6[i])); +- /*@SWIG:MXPUSHR@*/ +- /*@SWIG:XPUSHS@*/ ++ /*@SWIG:swig/fribidi.i,58,MXPUSHR@*/ ++ /*@SWIG:swig/fribidi.i,40,XPUSHS@*/ + if (argvi >= items) + EXTEND(sp, 1); + ST(argvi) = sv_2mortal(newRV_noinc((SV *)tempav)); +@@ -1925,14 +2045,14 @@ XS(_wrap_log2vis) { + } + { + if ( _global_wantarray ) +- /*@SWIG:MXPUSHUA@*/ ++ /*@SWIG:swig/fribidi.i,63,MXPUSHUA@*/ + { + AV* tempav = newAV(); + int i; + for(i=0 ; i < (*_global_p_len) ; i++) + av_push(tempav, newSVuv(arg7[i])); +- /*@SWIG:MXPUSHR@*/ +- /*@SWIG:XPUSHS@*/ ++ /*@SWIG:swig/fribidi.i,58,MXPUSHR@*/ ++ /*@SWIG:swig/fribidi.i,40,XPUSHS@*/ + if (argvi >= items) + EXTEND(sp, 1); + ST(argvi) = sv_2mortal(newRV_noinc((SV *)tempav)); +@@ -1979,25 +2099,25 @@ XS(_wrap_log2vis) { + } + + +-XS(_wrap_fribidi_wcwidth) { ++XS(_wrap_fribidi_get_bidi_type) { + { + FriBidiChar arg1 ; +- int result; + unsigned int val1 ; + int ecode1 = 0 ; + int argvi = 0; ++ FriBidiCharType result; + dXSARGS; + + if ((items < 1) || (items > 1)) { +- SWIG_croak("Usage: fribidi_wcwidth(ch);"); ++ SWIG_croak("Usage: fribidi_get_bidi_type(ch);"); + } + ecode1 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(0), &val1); + if (!SWIG_IsOK(ecode1)) { +- SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "fribidi_wcwidth" "', argument " "1"" of type '" "FriBidiChar""'"); ++ SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "fribidi_get_bidi_type" "', argument " "1"" of type '" "FriBidiChar""'"); + } + arg1 = (FriBidiChar)(val1); +- result = (int)fribidi_wcwidth(arg1); +- ++ result = (FriBidiCharType)fribidi_get_bidi_type(arg1); ++ ST(argvi) = SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ; + + XSRETURN(argvi); + fail: +@@ -2007,14 +2127,16 @@ XS(_wrap_fribidi_wcwidth) { + } + + +-XS(_wrap_fribidi_wcswidth) { ++XS(_wrap_fribidi_get_bidi_types) { + { + FriBidiChar *arg1 = (FriBidiChar *) 0 ; + FriBidiStrIndex arg2 ; +- int result; ++ FriBidiCharType *arg3 = (FriBidiCharType *) 0 ; + char *buf1 = 0 ; + size_t size1 = 0 ; + FriBidiStrIndex *_global_p_len ; ++ void *argp3 = 0 ; ++ int res3 = 0 ; + int argvi = 0; + dXSARGS; + +@@ -2022,13 +2144,19 @@ XS(_wrap_fribidi_wcswidth) { + arg2 = 0; + _global_p_len = &arg2; + +- if ((items < 1) || (items > 1)) { +- SWIG_croak("Usage: fribidi_wcswidth(str);"); ++ if ((items < 2) || (items > 2)) { ++ SWIG_croak("Usage: fribidi_get_bidi_types(str,btypes);"); + } + buf1 = SvPV(ST(0), size1); + *_global_p_len = (FriBidiStrIndex)(size1/sizeof(FriBidiChar)); + arg1 = (FriBidiChar *)(buf1); +- result = (int)fribidi_wcswidth((unsigned int const *)arg1,arg2); ++ res3 = SWIG_ConvertPtr(ST(1), &argp3,SWIGTYPE_p_FriBidiCharType, 0 | 0 ); ++ if (!SWIG_IsOK(res3)) { ++ SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "fribidi_get_bidi_types" "', argument " "3"" of type '" "FriBidiCharType *""'"); ++ } ++ arg3 = (FriBidiCharType *)(argp3); ++ fribidi_get_bidi_types((unsigned int const *)arg1,arg2,arg3); ++ ST(argvi) = sv_newmortal(); + + + +@@ -2036,63 +2164,30 @@ XS(_wrap_fribidi_wcswidth) { + fail: + + +- SWIG_croak_null(); +- } +-} +- +- +-XS(_wrap_fribidi_wcswidth_cjk) { +- { +- FriBidiChar *arg1 = (FriBidiChar *) 0 ; +- FriBidiStrIndex arg2 ; +- int result; +- char *buf1 = 0 ; +- size_t size1 = 0 ; +- FriBidiStrIndex *_global_p_len ; +- int argvi = 0; +- dXSARGS; +- +- +- arg2 = 0; +- _global_p_len = &arg2; +- +- if ((items < 1) || (items > 1)) { +- SWIG_croak("Usage: fribidi_wcswidth_cjk(str);"); +- } +- buf1 = SvPV(ST(0), size1); +- *_global_p_len = (FriBidiStrIndex)(size1/sizeof(FriBidiChar)); +- arg1 = (FriBidiChar *)(buf1); +- result = (int)fribidi_wcswidth_cjk((unsigned int const *)arg1,arg2); +- +- +- +- XSRETURN(argvi); +- fail: +- + + SWIG_croak_null(); + } + } + + +-XS(_wrap_fribidi_type_name) { ++XS(_wrap_fribidi_get_bidi_type_name) { + { + FriBidiCharType arg1 ; +- char *result = 0 ; + int val1 ; + int ecode1 = 0 ; + int argvi = 0; ++ char *result = 0 ; + dXSARGS; + + if ((items < 1) || (items > 1)) { +- SWIG_croak("Usage: fribidi_type_name(c);"); ++ SWIG_croak("Usage: fribidi_get_bidi_type_name(t);"); + } + ecode1 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(0), &val1); + if (!SWIG_IsOK(ecode1)) { +- SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "fribidi_type_name" "', argument " "1"" of type '" "FriBidiCharType""'"); ++ SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "fribidi_get_bidi_type_name" "', argument " "1"" of type '" "FriBidiCharType""'"); + } + arg1 = (FriBidiCharType)(val1); +- result = (char *)fribidi_type_name(arg1); ++ result = (char *)fribidi_get_bidi_type_name(arg1); + ST(argvi) = SWIG_FromCharPtr((const char *)result); argvi++ ; + + XSRETURN(argvi); +@@ -2103,33 +2198,31 @@ XS(_wrap_fribidi_type_name) { + } + + +-XS(_wrap_FriBidiRunType_length_set) { ++XS(_wrap_fribidi_get_par_direction) { + { +- FriBidiRunType *arg1 = (FriBidiRunType *) 0 ; ++ FriBidiCharType *arg1 = (FriBidiCharType *) 0 ; + FriBidiStrIndex arg2 ; + void *argp1 = 0 ; + int res1 = 0 ; +- int val2 ; +- int ecode2 = 0 ; ++ FriBidiStrIndex *_global_p_len ; + int argvi = 0; ++ FriBidiParType result; + dXSARGS; + +- if ((items < 2) || (items > 2)) { +- SWIG_croak("Usage: FriBidiRunType_length_set(self,length);"); ++ ++ arg2 = 0; ++ _global_p_len = &arg2; ++ ++ if ((items < 1) || (items > 1)) { ++ SWIG_croak("Usage: fribidi_get_par_direction(bidi_types);"); + } +- res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_FriBidiRunType, 0 | 0 ); ++ res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_FriBidiCharType, 0 | 0 ); + if (!SWIG_IsOK(res1)) { +- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FriBidiRunType_length_set" "', argument " "1"" of type '" "FriBidiRunType *""'"); ++ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fribidi_get_par_direction" "', argument " "1"" of type '" "FriBidiCharType const *""'"); + } +- arg1 = (FriBidiRunType *)(argp1); +- ecode2 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(1), &val2); +- if (!SWIG_IsOK(ecode2)) { +- SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "FriBidiRunType_length_set" "', argument " "2"" of type '" "FriBidiStrIndex""'"); +- } +- arg2 = (FriBidiStrIndex)(val2); +- if (arg1) (arg1)->length = arg2; +- +- ++ arg1 = (FriBidiCharType *)(argp1); ++ result = (FriBidiParType)fribidi_get_par_direction((enum FriBidiCharType const *)arg1,arg2); ++ ST(argvi) = SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(result)); argvi++ ; + + + XSRETURN(argvi); +@@ -2141,89 +2234,189 @@ XS(_wrap_FriBidiRunType_length_set) { + } + + +-XS(_wrap_FriBidiRunType_length_get) { ++XS(_wrap_fribidi_get_par_embedding_levels) { + { +- FriBidiRunType *arg1 = (FriBidiRunType *) 0 ; +- FriBidiStrIndex result; ++ FriBidiCharType *arg1 = (FriBidiCharType *) 0 ; ++ FriBidiStrIndex arg2 ; ++ FriBidiParType *arg3 = (FriBidiParType *) 0 ; ++ FriBidiLevel *arg4 = (FriBidiLevel *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; ++ FriBidiStrIndex *_global_p_len ; ++ void *argp3 = 0 ; ++ int res3 = 0 ; ++ void *argp4 = 0 ; ++ int res4 = 0 ; + int argvi = 0; ++ FriBidiLevel result; + dXSARGS; + +- if ((items < 1) || (items > 1)) { +- SWIG_croak("Usage: FriBidiRunType_length_get(self);"); ++ ++ arg2 = 0; ++ _global_p_len = &arg2; ++ ++ if ((items < 3) || (items > 3)) { ++ SWIG_croak("Usage: fribidi_get_par_embedding_levels(bidi_types,pbase_dir,embedding_levels);"); + } +- res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_FriBidiRunType, 0 | 0 ); ++ res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_FriBidiCharType, 0 | 0 ); + if (!SWIG_IsOK(res1)) { +- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FriBidiRunType_length_get" "', argument " "1"" of type '" "FriBidiRunType *""'"); ++ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fribidi_get_par_embedding_levels" "', argument " "1"" of type '" "FriBidiCharType const *""'"); + } +- arg1 = (FriBidiRunType *)(argp1); +- result = (FriBidiStrIndex) ((arg1)->length); ++ arg1 = (FriBidiCharType *)(argp1); ++ res3 = SWIG_ConvertPtr(ST(1), &argp3,SWIGTYPE_p_FriBidiParType, 0 | 0 ); ++ if (!SWIG_IsOK(res3)) { ++ SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "fribidi_get_par_embedding_levels" "', argument " "3"" of type '" "FriBidiParType *""'"); ++ } ++ arg3 = (FriBidiParType *)(argp3); ++ res4 = SWIG_ConvertPtr(ST(2), &argp4,SWIGTYPE_p_signed_char, 0 | 0 ); ++ if (!SWIG_IsOK(res4)) { ++ SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "fribidi_get_par_embedding_levels" "', argument " "4"" of type '" "FriBidiLevel *""'"); ++ } ++ arg4 = (FriBidiLevel *)(argp4); ++ result = (FriBidiLevel)fribidi_get_par_embedding_levels((enum FriBidiCharType const *)arg1,arg2,arg3,arg4); ++ ST(argvi) = SWIG_From_signed_SS_char SWIG_PERL_CALL_ARGS_1((signed char)(result)); argvi++ ; ++ ++ + + + XSRETURN(argvi); + fail: + ++ ++ ++ + SWIG_croak_null(); + } + } + + +-XS(_wrap_FriBidiRunType_attribute_set) { ++XS(_wrap_fribidi_reorder_line) { + { +- FriBidiRunType *arg1 = (FriBidiRunType *) 0 ; +- void *arg2 = (void *) 0 ; +- void *argp1 = 0 ; +- int res1 = 0 ; +- int res2 ; +- int argvi = 0; +- dXSARGS; ++ FriBidiFlags arg1 ; ++ FriBidiCharType *arg2 = (FriBidiCharType *) 0 ; ++ FriBidiStrIndex arg3 ; ++ FriBidiStrIndex arg4 ; ++ FriBidiParType arg5 ; ++ FriBidiLevel *arg6 = (FriBidiLevel *) 0 ; ++ FriBidiChar *arg7 = (FriBidiChar *) 0 ; ++ FriBidiStrIndex *arg8 = (FriBidiStrIndex *) 0 ; ++ unsigned int val1 ; ++ int ecode1 = 0 ; ++ void *argp2 = 0 ; ++ int res2 = 0 ; ++ FriBidiStrIndex *_global_p_len ; ++ int val4 ; ++ int ecode4 = 0 ; ++ int val5 ; ++ int ecode5 = 0 ; ++ void *argp6 = 0 ; ++ int res6 = 0 ; ++ FriBidiChar **temp7 ; ++ void *argp8 = 0 ; ++ int res8 = 0 ; ++ int argvi = 0; ++ FriBidiLevel result; ++ dXSARGS; + +- if ((items < 2) || (items > 2)) { +- SWIG_croak("Usage: FriBidiRunType_attribute_set(self,attribute);"); +- } +- res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_FriBidiRunType, 0 | 0 ); +- if (!SWIG_IsOK(res1)) { +- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FriBidiRunType_attribute_set" "', argument " "1"" of type '" "FriBidiRunType *""'"); ++ ++ arg3 = 0; ++ _global_p_len = &arg3; ++ ++ ++ temp7 = &arg7; ++ ++ if ((items < 6) || (items > 6)) { ++ SWIG_croak("Usage: fribidi_reorder_line(flags,bidi_types,off,base_dir,embedding_levels,map);"); + } +- arg1 = (FriBidiRunType *)(argp1); +- res2 = SWIG_ConvertPtr(ST(1),SWIG_as_voidptrptr(&arg2), 0, SWIG_POINTER_DISOWN); ++ ecode1 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(0), &val1); ++ if (!SWIG_IsOK(ecode1)) { ++ SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "fribidi_reorder_line" "', argument " "1"" of type '" "FriBidiFlags""'"); ++ } ++ arg1 = (FriBidiFlags)(val1); ++ res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_FriBidiCharType, 0 | 0 ); + if (!SWIG_IsOK(res2)) { +- SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "FriBidiRunType_attribute_set" "', argument " "2"" of type '" "void *""'"); ++ SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fribidi_reorder_line" "', argument " "2"" of type '" "FriBidiCharType const *""'"); ++ } ++ arg2 = (FriBidiCharType *)(argp2); ++ ecode4 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(2), &val4); ++ if (!SWIG_IsOK(ecode4)) { ++ SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "fribidi_reorder_line" "', argument " "4"" of type '" "FriBidiStrIndex""'"); ++ } ++ arg4 = (FriBidiStrIndex)(val4); ++ ecode5 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(3), &val5); ++ if (!SWIG_IsOK(ecode5)) { ++ SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "fribidi_reorder_line" "', argument " "5"" of type '" "FriBidiParType""'"); ++ } ++ arg5 = (FriBidiParType)(val5); ++ res6 = SWIG_ConvertPtr(ST(4), &argp6,SWIGTYPE_p_signed_char, 0 | 0 ); ++ if (!SWIG_IsOK(res6)) { ++ SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "fribidi_reorder_line" "', argument " "6"" of type '" "FriBidiLevel *""'"); ++ } ++ arg6 = (FriBidiLevel *)(argp6); ++ res8 = SWIG_ConvertPtr(ST(5), &argp8,SWIGTYPE_p_int, 0 | 0 ); ++ if (!SWIG_IsOK(res8)) { ++ SWIG_exception_fail(SWIG_ArgError(res8), "in method '" "fribidi_reorder_line" "', argument " "8"" of type '" "FriBidiStrIndex *""'"); ++ } ++ arg8 = (FriBidiStrIndex *)(argp8); ++ Newx(*temp7, ((*_global_p_len) + 1), FriBidiChar); ++ result = (FriBidiLevel)fribidi_reorder_line(arg1,(enum FriBidiCharType const *)arg2,arg3,arg4,arg5,arg6,arg7,arg8); ++ ST(argvi) = SWIG_From_signed_SS_char SWIG_PERL_CALL_ARGS_1((signed char)(result)); argvi++ ; ++ { ++ /*@SWIG:swig/fribidi.i,53,MXPUSHP@*/ ++ /*@SWIG:swig/fribidi.i,40,XPUSHS@*/ ++ if (argvi >= items) ++ EXTEND(sp, 1); ++ ST(argvi) = sv_2mortal(newSVpvn((const char *)(arg7),(STRLEN)( (*_global_p_len) * sizeof(FriBidiChar)))); ++ argvi++ ++ /*@SWIG@*/ ++ /*@SWIG@*/; + } +- if (arg1) (arg1)->attribute = arg2; + + + + ++ ++ ++ ++ if (arg7) Safefree(arg7); ++ ++ + XSRETURN(argvi); + fail: + + ++ ++ ++ ++ ++ ++ if (arg7) Safefree(arg7); ++ ++ + SWIG_croak_null(); + } + } + + +-XS(_wrap_FriBidiRunType_attribute_get) { ++XS(_wrap_fribidi_get_joining_type) { + { +- FriBidiRunType *arg1 = (FriBidiRunType *) 0 ; +- void *result = 0 ; +- void *argp1 = 0 ; +- int res1 = 0 ; ++ FriBidiChar arg1 ; ++ unsigned int val1 ; ++ int ecode1 = 0 ; + int argvi = 0; ++ FriBidiJoiningType result; + dXSARGS; + + if ((items < 1) || (items > 1)) { +- SWIG_croak("Usage: FriBidiRunType_attribute_get(self);"); ++ SWIG_croak("Usage: fribidi_get_joining_type(ch);"); + } +- res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_FriBidiRunType, 0 | 0 ); +- if (!SWIG_IsOK(res1)) { +- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FriBidiRunType_attribute_get" "', argument " "1"" of type '" "FriBidiRunType *""'"); +- } +- arg1 = (FriBidiRunType *)(argp1); +- result = (void *) ((arg1)->attribute); +- ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_void, 0 | 0); argvi++ ; ++ ecode1 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(0), &val1); ++ if (!SWIG_IsOK(ecode1)) { ++ SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "fribidi_get_joining_type" "', argument " "1"" of type '" "FriBidiChar""'"); ++ } ++ arg1 = (FriBidiChar)(val1); ++ result = (FriBidiJoiningType)fribidi_get_joining_type(arg1); ++ ST(argvi) = SWIG_From_unsigned_SS_char SWIG_PERL_CALL_ARGS_1((unsigned char)(result)); argvi++ ; + + XSRETURN(argvi); + fail: +@@ -2233,43 +2426,68 @@ XS(_wrap_FriBidiRunType_attribute_get) { + } + + +-XS(_wrap_new_FriBidiRunType) { ++XS(_wrap_fribidi_get_joining_types) { + { +- FriBidiRunType *result = 0 ; ++ FriBidiChar *arg1 = (FriBidiChar *) 0 ; ++ FriBidiStrIndex arg2 ; ++ FriBidiJoiningType *arg3 = (FriBidiJoiningType *) 0 ; ++ char *buf1 = 0 ; ++ size_t size1 = 0 ; ++ FriBidiStrIndex *_global_p_len ; ++ void *argp3 = 0 ; ++ int res3 = 0 ; + int argvi = 0; + dXSARGS; + +- if ((items < 0) || (items > 0)) { +- SWIG_croak("Usage: new_FriBidiRunType();"); ++ ++ arg2 = 0; ++ _global_p_len = &arg2; ++ ++ if ((items < 2) || (items > 2)) { ++ SWIG_croak("Usage: fribidi_get_joining_types(str,jtypes);"); + } +- result = (FriBidiRunType *)(FriBidiRunType *) calloc(1, sizeof(FriBidiRunType)); +- ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_FriBidiRunType, SWIG_OWNER | SWIG_SHADOW); argvi++ ; ++ buf1 = SvPV(ST(0), size1); ++ *_global_p_len = (FriBidiStrIndex)(size1/sizeof(FriBidiChar)); ++ arg1 = (FriBidiChar *)(buf1); ++ res3 = SWIG_ConvertPtr(ST(1), &argp3,SWIGTYPE_p_unsigned_char, 0 | 0 ); ++ if (!SWIG_IsOK(res3)) { ++ SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "fribidi_get_joining_types" "', argument " "3"" of type '" "FriBidiJoiningType *""'"); ++ } ++ arg3 = (FriBidiJoiningType *)(argp3); ++ fribidi_get_joining_types((unsigned int const *)arg1,arg2,arg3); ++ ST(argvi) = sv_newmortal(); ++ ++ ++ + XSRETURN(argvi); + fail: ++ ++ ++ + SWIG_croak_null(); + } + } + + +-XS(_wrap_delete_FriBidiRunType) { ++XS(_wrap_fribidi_get_joining_type_name) { + { +- FriBidiRunType *arg1 = (FriBidiRunType *) 0 ; +- void *argp1 = 0 ; +- int res1 = 0 ; ++ FriBidiJoiningType arg1 ; ++ unsigned char val1 ; ++ int ecode1 = 0 ; + int argvi = 0; ++ char *result = 0 ; + dXSARGS; + + if ((items < 1) || (items > 1)) { +- SWIG_croak("Usage: delete_FriBidiRunType(self);"); +- } +- res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_FriBidiRunType, SWIG_POINTER_DISOWN | 0 ); +- if (!SWIG_IsOK(res1)) { +- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_FriBidiRunType" "', argument " "1"" of type '" "FriBidiRunType *""'"); ++ SWIG_croak("Usage: fribidi_get_joining_type_name(j);"); + } +- arg1 = (FriBidiRunType *)(argp1); +- free((char *) arg1); +- +- ++ ecode1 = SWIG_AsVal_unsigned_SS_char SWIG_PERL_CALL_ARGS_2(ST(0), &val1); ++ if (!SWIG_IsOK(ecode1)) { ++ SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "fribidi_get_joining_type_name" "', argument " "1"" of type '" "FriBidiJoiningType""'"); ++ } ++ arg1 = (FriBidiJoiningType)(val1); ++ result = (char *)fribidi_get_joining_type_name(arg1); ++ ST(argvi) = SWIG_FromCharPtr((const char *)result); argvi++ ; + + XSRETURN(argvi); + fail: +@@ -2279,29 +2497,46 @@ XS(_wrap_delete_FriBidiRunType) { + } + + +-XS(_wrap__FriBidiList_data_set) { ++XS(_wrap_fribidi_join_arabic) { + { +- struct _FriBidiList *arg1 = (struct _FriBidiList *) 0 ; +- void *arg2 = (void *) 0 ; ++ FriBidiCharType *arg1 = (FriBidiCharType *) 0 ; ++ FriBidiStrIndex arg2 ; ++ FriBidiLevel *arg3 = (FriBidiLevel *) 0 ; ++ FriBidiArabicProp *arg4 = (FriBidiArabicProp *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; +- int res2 ; ++ FriBidiStrIndex *_global_p_len ; ++ void *argp3 = 0 ; ++ int res3 = 0 ; ++ void *argp4 = 0 ; ++ int res4 = 0 ; + int argvi = 0; + dXSARGS; + +- if ((items < 2) || (items > 2)) { +- SWIG_croak("Usage: _FriBidiList_data_set(self,data);"); ++ ++ arg2 = 0; ++ _global_p_len = &arg2; ++ ++ if ((items < 3) || (items > 3)) { ++ SWIG_croak("Usage: fribidi_join_arabic(bidi_types,embedding_levels,ar_props);"); + } +- res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p__FriBidiList, 0 | 0 ); ++ res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_FriBidiCharType, 0 | 0 ); + if (!SWIG_IsOK(res1)) { +- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "_FriBidiList_data_set" "', argument " "1"" of type '" "struct _FriBidiList *""'"); +- } +- arg1 = (struct _FriBidiList *)(argp1); +- res2 = SWIG_ConvertPtr(ST(1),SWIG_as_voidptrptr(&arg2), 0, SWIG_POINTER_DISOWN); +- if (!SWIG_IsOK(res2)) { +- SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "_FriBidiList_data_set" "', argument " "2"" of type '" "void *""'"); ++ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fribidi_join_arabic" "', argument " "1"" of type '" "FriBidiCharType const *""'"); + } +- if (arg1) (arg1)->data = arg2; ++ arg1 = (FriBidiCharType *)(argp1); ++ res3 = SWIG_ConvertPtr(ST(1), &argp3,SWIGTYPE_p_signed_char, 0 | 0 ); ++ if (!SWIG_IsOK(res3)) { ++ SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "fribidi_join_arabic" "', argument " "3"" of type '" "FriBidiLevel const *""'"); ++ } ++ arg3 = (FriBidiLevel *)(argp3); ++ res4 = SWIG_ConvertPtr(ST(2), &argp4,SWIGTYPE_p_unsigned_char, 0 | 0 ); ++ if (!SWIG_IsOK(res4)) { ++ SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "fribidi_join_arabic" "', argument " "4"" of type '" "FriBidiArabicProp *""'"); ++ } ++ arg4 = (FriBidiArabicProp *)(argp4); ++ fribidi_join_arabic((enum FriBidiCharType const *)arg1,arg2,(signed char const *)arg3,arg4); ++ ST(argvi) = sv_newmortal(); + + + +@@ -2310,65 +2545,83 @@ XS(_wrap__FriBidiList_data_set) { + fail: + + ++ ++ + SWIG_croak_null(); + } + } + + +-XS(_wrap__FriBidiList_data_get) { ++XS(_wrap_fribidi_get_mirror_char) { + { +- struct _FriBidiList *arg1 = (struct _FriBidiList *) 0 ; +- void *result = 0 ; +- void *argp1 = 0 ; +- int res1 = 0 ; ++ FriBidiChar arg1 ; ++ FriBidiChar *arg2 = (FriBidiChar *) 0 ; ++ unsigned int val1 ; ++ int ecode1 = 0 ; ++ FriBidiChar temp2 ; ++ int res2 = SWIG_TMPOBJ ; + int argvi = 0; ++ fribidi_boolean result; + dXSARGS; + ++ arg2 = &temp2; + if ((items < 1) || (items > 1)) { +- SWIG_croak("Usage: _FriBidiList_data_get(self);"); ++ SWIG_croak("Usage: fribidi_get_mirror_char(ch);"); + } +- res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p__FriBidiList, 0 | 0 ); +- if (!SWIG_IsOK(res1)) { +- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "_FriBidiList_data_get" "', argument " "1"" of type '" "struct _FriBidiList *""'"); ++ ecode1 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(0), &val1); ++ if (!SWIG_IsOK(ecode1)) { ++ SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "fribidi_get_mirror_char" "', argument " "1"" of type '" "FriBidiChar""'"); ++ } ++ arg1 = (FriBidiChar)(val1); ++ result = (fribidi_boolean)fribidi_get_mirror_char(arg1,arg2); ++ ++ if (SWIG_IsTmpObj(res2)) { ++ if (argvi >= items) EXTEND(sp,1); ST(argvi) = SWIG_From_unsigned_SS_long SWIG_PERL_CALL_ARGS_1((*arg2)); argvi++ ; ++ } else { ++ int new_flags = SWIG_IsNewObj(res2) ? (SWIG_POINTER_OWN | 0) : 0; ++ if (argvi >= items) EXTEND(sp,1); ST(argvi) = SWIG_NewPointerObj((void*)(arg2), SWIGTYPE_p_unsigned_int, new_flags); argvi++ ; + } +- arg1 = (struct _FriBidiList *)(argp1); +- result = (void *) ((arg1)->data); +- ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_void, 0 | 0); argvi++ ; ++ + + XSRETURN(argvi); + fail: + ++ + SWIG_croak_null(); + } + } + + +-XS(_wrap__FriBidiList_next_set) { ++XS(_wrap_fribidi_shape_mirroring) { + { +- struct _FriBidiList *arg1 = (struct _FriBidiList *) 0 ; +- FriBidiList *arg2 = (FriBidiList *) 0 ; ++ FriBidiLevel *arg1 = (FriBidiLevel *) 0 ; ++ FriBidiStrIndex arg2 ; ++ FriBidiChar *arg3 = (FriBidiChar *) 0 ; + void *argp1 = 0 ; + int res1 = 0 ; +- void *argp2 = 0 ; +- int res2 = 0 ; ++ FriBidiStrIndex *_global_p_len ; ++ char *buf3 = 0 ; ++ size_t size3 = 0 ; + int argvi = 0; + dXSARGS; + ++ ++ arg2 = 0; ++ _global_p_len = &arg2; ++ + if ((items < 2) || (items > 2)) { +- SWIG_croak("Usage: _FriBidiList_next_set(self,next);"); ++ SWIG_croak("Usage: fribidi_shape_mirroring(embedding_levels,str);"); + } +- res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p__FriBidiList, 0 | 0 ); ++ res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_signed_char, 0 | 0 ); + if (!SWIG_IsOK(res1)) { +- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "_FriBidiList_next_set" "', argument " "1"" of type '" "struct _FriBidiList *""'"); +- } +- arg1 = (struct _FriBidiList *)(argp1); +- res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p__FriBidiList, SWIG_POINTER_DISOWN | 0 ); +- if (!SWIG_IsOK(res2)) { +- SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "_FriBidiList_next_set" "', argument " "2"" of type '" "FriBidiList *""'"); ++ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fribidi_shape_mirroring" "', argument " "1"" of type '" "FriBidiLevel const *""'"); + } +- arg2 = (FriBidiList *)(argp2); +- if (arg1) (arg1)->next = arg2; +- ++ arg1 = (FriBidiLevel *)(argp1); ++ buf3 = SvPV(ST(1), size3); ++ *_global_p_len = (FriBidiStrIndex)(size3/sizeof(FriBidiChar)); ++ arg3 = (FriBidiChar *)(buf3); ++ fribidi_shape_mirroring((signed char const *)arg1,arg2,arg3); ++ ST(argvi) = sv_newmortal(); + + + +@@ -2376,64 +2629,59 @@ XS(_wrap__FriBidiList_next_set) { + fail: + + +- SWIG_croak_null(); +- } +-} +- +- +-XS(_wrap__FriBidiList_next_get) { +- { +- struct _FriBidiList *arg1 = (struct _FriBidiList *) 0 ; +- FriBidiList *result = 0 ; +- void *argp1 = 0 ; +- int res1 = 0 ; +- int argvi = 0; +- dXSARGS; +- +- if ((items < 1) || (items > 1)) { +- SWIG_croak("Usage: _FriBidiList_next_get(self);"); +- } +- res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p__FriBidiList, 0 | 0 ); +- if (!SWIG_IsOK(res1)) { +- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "_FriBidiList_next_get" "', argument " "1"" of type '" "struct _FriBidiList *""'"); +- } +- arg1 = (struct _FriBidiList *)(argp1); +- result = (FriBidiList *) ((arg1)->next); +- ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p__FriBidiList, 0 | SWIG_SHADOW); argvi++ ; +- +- XSRETURN(argvi); +- fail: + + SWIG_croak_null(); + } + } + + +-XS(_wrap__FriBidiList_prev_set) { ++XS(_wrap_fribidi_shape_arabic) { + { +- struct _FriBidiList *arg1 = (struct _FriBidiList *) 0 ; +- FriBidiList *arg2 = (FriBidiList *) 0 ; +- void *argp1 = 0 ; +- int res1 = 0 ; ++ FriBidiFlags arg1 ; ++ FriBidiLevel *arg2 = (FriBidiLevel *) 0 ; ++ FriBidiStrIndex arg3 ; ++ FriBidiArabicProp *arg4 = (FriBidiArabicProp *) 0 ; ++ FriBidiChar *arg5 = (FriBidiChar *) 0 ; ++ unsigned int val1 ; ++ int ecode1 = 0 ; + void *argp2 = 0 ; + int res2 = 0 ; ++ FriBidiStrIndex *_global_p_len ; ++ void *argp4 = 0 ; ++ int res4 = 0 ; ++ char *buf5 = 0 ; ++ size_t size5 = 0 ; + int argvi = 0; + dXSARGS; + +- if ((items < 2) || (items > 2)) { +- SWIG_croak("Usage: _FriBidiList_prev_set(self,prev);"); +- } +- res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p__FriBidiList, 0 | 0 ); +- if (!SWIG_IsOK(res1)) { +- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "_FriBidiList_prev_set" "', argument " "1"" of type '" "struct _FriBidiList *""'"); ++ ++ arg3 = 0; ++ _global_p_len = &arg3; ++ ++ if ((items < 4) || (items > 4)) { ++ SWIG_croak("Usage: fribidi_shape_arabic(flags,embedding_levels,ar_props,str);"); + } +- arg1 = (struct _FriBidiList *)(argp1); +- res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p__FriBidiList, SWIG_POINTER_DISOWN | 0 ); ++ ecode1 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(0), &val1); ++ if (!SWIG_IsOK(ecode1)) { ++ SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "fribidi_shape_arabic" "', argument " "1"" of type '" "FriBidiFlags""'"); ++ } ++ arg1 = (FriBidiFlags)(val1); ++ res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_signed_char, 0 | 0 ); + if (!SWIG_IsOK(res2)) { +- SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "_FriBidiList_prev_set" "', argument " "2"" of type '" "FriBidiList *""'"); ++ SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fribidi_shape_arabic" "', argument " "2"" of type '" "FriBidiLevel const *""'"); + } +- arg2 = (FriBidiList *)(argp2); +- if (arg1) (arg1)->prev = arg2; ++ arg2 = (FriBidiLevel *)(argp2); ++ res4 = SWIG_ConvertPtr(ST(2), &argp4,SWIGTYPE_p_unsigned_char, 0 | 0 ); ++ if (!SWIG_IsOK(res4)) { ++ SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "fribidi_shape_arabic" "', argument " "4"" of type '" "FriBidiArabicProp *""'"); ++ } ++ arg4 = (FriBidiArabicProp *)(argp4); ++ buf5 = SvPV(ST(3), size5); ++ *_global_p_len = (FriBidiStrIndex)(size5/sizeof(FriBidiChar)); ++ arg5 = (FriBidiChar *)(buf5); ++ fribidi_shape_arabic(arg1,(signed char const *)arg2,arg3,arg4,arg5); ++ ST(argvi) = sv_newmortal(); ++ + + + +@@ -2442,92 +2690,83 @@ XS(_wrap__FriBidiList_prev_set) { + fail: + + +- SWIG_croak_null(); +- } +-} +- +- +-XS(_wrap__FriBidiList_prev_get) { +- { +- struct _FriBidiList *arg1 = (struct _FriBidiList *) 0 ; +- FriBidiList *result = 0 ; +- void *argp1 = 0 ; +- int res1 = 0 ; +- int argvi = 0; +- dXSARGS; + +- if ((items < 1) || (items > 1)) { +- SWIG_croak("Usage: _FriBidiList_prev_get(self);"); +- } +- res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p__FriBidiList, 0 | 0 ); +- if (!SWIG_IsOK(res1)) { +- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "_FriBidiList_prev_get" "', argument " "1"" of type '" "struct _FriBidiList *""'"); +- } +- arg1 = (struct _FriBidiList *)(argp1); +- result = (FriBidiList *) ((arg1)->prev); +- ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p__FriBidiList, 0 | SWIG_SHADOW); argvi++ ; + +- XSRETURN(argvi); +- fail: + + SWIG_croak_null(); + } + } + + +-XS(_wrap_new__FriBidiList) { ++XS(_wrap_fribidi_shape) { + { +- struct _FriBidiList *result = 0 ; ++ FriBidiFlags arg1 ; ++ FriBidiLevel *arg2 = (FriBidiLevel *) 0 ; ++ FriBidiStrIndex arg3 ; ++ FriBidiArabicProp *arg4 = (FriBidiArabicProp *) 0 ; ++ FriBidiChar *arg5 = (FriBidiChar *) 0 ; ++ unsigned int val1 ; ++ int ecode1 = 0 ; ++ void *argp2 = 0 ; ++ int res2 = 0 ; ++ FriBidiStrIndex *_global_p_len ; ++ void *argp4 = 0 ; ++ int res4 = 0 ; ++ char *buf5 = 0 ; ++ size_t size5 = 0 ; + int argvi = 0; + dXSARGS; + +- if ((items < 0) || (items > 0)) { +- SWIG_croak("Usage: new__FriBidiList();"); +- } +- result = (struct _FriBidiList *)(struct _FriBidiList *) calloc(1, sizeof(struct _FriBidiList)); +- ST(argvi) = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p__FriBidiList, SWIG_OWNER | SWIG_SHADOW); argvi++ ; +- XSRETURN(argvi); +- fail: +- SWIG_croak_null(); +- } +-} +- +- +-XS(_wrap_delete__FriBidiList) { +- { +- struct _FriBidiList *arg1 = (struct _FriBidiList *) 0 ; +- void *argp1 = 0 ; +- int res1 = 0 ; +- int argvi = 0; +- dXSARGS; + +- if ((items < 1) || (items > 1)) { +- SWIG_croak("Usage: delete__FriBidiList(self);"); ++ arg3 = 0; ++ _global_p_len = &arg3; ++ ++ if ((items < 4) || (items > 4)) { ++ SWIG_croak("Usage: fribidi_shape(flags,embedding_levels,ar_props,str);"); + } +- res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p__FriBidiList, SWIG_POINTER_DISOWN | 0 ); +- if (!SWIG_IsOK(res1)) { +- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete__FriBidiList" "', argument " "1"" of type '" "struct _FriBidiList *""'"); ++ ecode1 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(0), &val1); ++ if (!SWIG_IsOK(ecode1)) { ++ SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "fribidi_shape" "', argument " "1"" of type '" "FriBidiFlags""'"); ++ } ++ arg1 = (FriBidiFlags)(val1); ++ res2 = SWIG_ConvertPtr(ST(1), &argp2,SWIGTYPE_p_signed_char, 0 | 0 ); ++ if (!SWIG_IsOK(res2)) { ++ SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "fribidi_shape" "', argument " "2"" of type '" "FriBidiLevel const *""'"); + } +- arg1 = (struct _FriBidiList *)(argp1); +- free((char *) arg1); ++ arg2 = (FriBidiLevel *)(argp2); ++ res4 = SWIG_ConvertPtr(ST(2), &argp4,SWIGTYPE_p_unsigned_char, 0 | 0 ); ++ if (!SWIG_IsOK(res4)) { ++ SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "fribidi_shape" "', argument " "4"" of type '" "FriBidiArabicProp *""'"); ++ } ++ arg4 = (FriBidiArabicProp *)(argp4); ++ buf5 = SvPV(ST(3), size5); ++ *_global_p_len = (FriBidiStrIndex)(size5/sizeof(FriBidiChar)); ++ arg5 = (FriBidiChar *)(buf5); ++ fribidi_shape(arg1,(signed char const *)arg2,arg3,arg4,arg5); ++ ST(argvi) = sv_newmortal(); ++ ++ + + + + XSRETURN(argvi); + fail: + ++ ++ ++ ++ + SWIG_croak_null(); + } + } + + +-XS(_wrap_fribidi_log2vis_get_embedding_levels) { ++XS(_wrap_fribidi_log2vis_get_embedding_levels__SWIG_1) { + { + FriBidiChar *arg1 = (FriBidiChar *) 0 ; + FriBidiStrIndex arg2 ; + FriBidiCharType *arg3 = (FriBidiCharType *) 0 ; + FriBidiLevel *arg4 = (FriBidiLevel *) 0 ; +- fribidi_boolean result; + FriBidiCharType temp3 ; + short _global_wantarray ; + char *buf1 = 0 ; +@@ -2538,11 +2777,12 @@ XS(_wrap_fribidi_log2vis_get_embedding_l + FriBidiLevel **temp4 ; + int argvi = 0; + SV * _saved[1] ; ++ fribidi_boolean result; + dXSARGS; + + temp3 = FRIBIDI_TYPE_ON; + arg3 = &temp3; +- _global_wantarray = /*@SWIG:WANTARRAY@*/(GIMME_V == G_ARRAY) ++ _global_wantarray = /*@SWIG:swig/fribidi.i,33,WANTARRAY@*/(GIMME_V == G_ARRAY) + /*@SWIG@*/; + + arg2 = 0; +@@ -2558,7 +2798,7 @@ XS(_wrap_fribidi_log2vis_get_embedding_l + *_global_p_len = (FriBidiStrIndex)(size1/sizeof(FriBidiChar)); + arg1 = (FriBidiChar *)(buf1); + if (items > 1) { +- if (!(SWIG_IsOK((res3 = SWIG_ConvertPtr(ST(1),SWIG_as_voidptrptr(&arg3),SWIGTYPE_p_int,0))))) { ++ if (!(SWIG_IsOK((res3 = SWIG_ConvertPtr(ST(1),SWIG_as_voidptrptr(&arg3),SWIGTYPE_p_FriBidiCharType,0))))) { + unsigned long val; + int ecode = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), &val); + if (!SWIG_IsOK(ecode)) { +@@ -2577,8 +2817,8 @@ XS(_wrap_fribidi_log2vis_get_embedding_l + + { + if (_global_wantarray) { +- /*@SWIG:MXPUSHU@*/ +- /*@SWIG:XPUSHS@*/ ++ /*@SWIG:swig/fribidi.i,48,MXPUSHU@*/ ++ /*@SWIG:swig/fribidi.i,40,XPUSHS@*/ + if (argvi >= items) + EXTEND(sp, 1); + ST(argvi) = sv_2mortal(newSVuv(*(arg3))); +@@ -2589,14 +2829,14 @@ XS(_wrap_fribidi_log2vis_get_embedding_l + } + { + if ( 1 ) +- /*@SWIG:MXPUSHUA@*/ ++ /*@SWIG:swig/fribidi.i,63,MXPUSHUA@*/ + { + AV* tempav = newAV(); + int i; + for(i=0 ; i < (*_global_p_len) ; i++) + av_push(tempav, newSVuv(arg4[i])); +- /*@SWIG:MXPUSHR@*/ +- /*@SWIG:XPUSHS@*/ ++ /*@SWIG:swig/fribidi.i,58,MXPUSHR@*/ ++ /*@SWIG:swig/fribidi.i,40,XPUSHS@*/ + if (argvi >= items) + EXTEND(sp, 1); + ST(argvi) = sv_2mortal(newRV_noinc((SV *)tempav)); +@@ -2625,19 +2865,72 @@ XS(_wrap_fribidi_log2vis_get_embedding_l + } + + +-XS(_wrap_fribidi_remove_bidi_marks) { ++XS(_wrap_fribidi_log2vis_get_embedding_levels) { ++ dXSARGS; ++ ++ { ++ unsigned long _index = 0; ++ SWIG_TypeRank _rank = 0; ++ if ((items >= 1) && (items <= 2)) { ++ SWIG_TypeRank _ranki = 0; ++ SWIG_TypeRank _rankm = 0; ++ SWIG_TypeRank _pi = 1; ++ int _v = 0; ++ { ++ void *vptr = 0; ++ int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_unsigned_int, 0); ++ _v = SWIG_CheckState(res); ++ } ++ if (!_v) goto check_1; ++ _ranki += _v*_pi; ++ _rankm += _pi; ++ _pi *= SWIG_MAXCASTRANK; ++ if (items > 1) { ++ { ++ void *ptr = 0; ++ int res = SWIG_AsVal_unsigned_SS_long SWIG_PERL_CALL_ARGS_2(ST(1), 0); ++ _v = SWIG_CheckState(res); ++ if (!_v) { ++ _v = (SWIG_IsOK((res = SWIG_ConvertPtr(ST(1),SWIG_as_voidptrptr(&ptr),SWIGTYPE_p_FriBidiCharType,0)))); ++ } ++ } ++ if (!_v) goto check_1; ++ _ranki += _v*_pi; ++ _rankm += _pi; ++ _pi *= SWIG_MAXCASTRANK; ++ } ++ if (!_index || (_ranki < _rank)) { ++ _rank = _ranki; _index = 1; ++ if (_rank == _rankm) goto dispatch; ++ } ++ } ++ check_1: ++ ++ dispatch: ++ switch(_index) { ++ case 1: ++ ++PL_markstack_ptr; SWIG_CALLXS(_wrap_fribidi_log2vis_get_embedding_levels__SWIG_1); return; ++ } ++ } ++ ++ croak("No matching function for overloaded 'fribidi_log2vis_get_embedding_levels'"); ++ XSRETURN(0); ++} ++ ++ ++XS(_wrap_fribidi_remove_bidi_marks__SWIG_1) { + { + FriBidiChar *arg1 = (FriBidiChar *) 0 ; + FriBidiStrIndex arg2 ; + FriBidiStrIndex *arg3 = (FriBidiStrIndex *) 0 ; + FriBidiStrIndex *arg4 = (FriBidiStrIndex *) 0 ; + FriBidiLevel *arg5 = (FriBidiLevel *) 0 ; +- FriBidiStrIndex result; + char *buf1 = 0 ; + size_t size1 = 0 ; + FriBidiStrIndex *_global_p_len ; + int argvi = 0; + SV * _saved[2] ; ++ FriBidiStrIndex result; + dXSARGS; + + +@@ -2675,8 +2968,8 @@ XS(_wrap_fribidi_remove_bidi_marks) { + result = (FriBidiStrIndex)fribidi_remove_bidi_marks(arg1,arg2,arg3,arg4,arg5); + + { +- /*@SWIG:MXPUSHP@*/ +- /*@SWIG:XPUSHS@*/ ++ /*@SWIG:swig/fribidi.i,53,MXPUSHP@*/ ++ /*@SWIG:swig/fribidi.i,40,XPUSHS@*/ + if (argvi >= items) + EXTEND(sp, 1); + ST(argvi) = sv_2mortal(newSVpvn((const char *)(arg1),(STRLEN)( (result) * sizeof(FriBidiChar)))); +@@ -2686,14 +2979,14 @@ XS(_wrap_fribidi_remove_bidi_marks) { + } + { + if ( arg4 ) +- /*@SWIG:MXPUSHUA@*/ ++ /*@SWIG:swig/fribidi.i,63,MXPUSHUA@*/ + { + AV* tempav = newAV(); + int i; + for(i=0 ; i < result ; i++) + av_push(tempav, newSVuv(arg4[i])); +- /*@SWIG:MXPUSHR@*/ +- /*@SWIG:XPUSHS@*/ ++ /*@SWIG:swig/fribidi.i,58,MXPUSHR@*/ ++ /*@SWIG:swig/fribidi.i,40,XPUSHS@*/ + if (argvi >= items) + EXTEND(sp, 1); + ST(argvi) = sv_2mortal(newRV_noinc((SV *)tempav)); +@@ -2724,31 +3017,53 @@ XS(_wrap_fribidi_remove_bidi_marks) { + } + + +-XS(_wrap_fribidi_get_type) { ++XS(_wrap_fribidi_remove_bidi_marks) { ++ dXSARGS; ++ + { +- FriBidiChar arg1 ; +- FriBidiCharType result; +- unsigned int val1 ; +- int ecode1 = 0 ; +- int argvi = 0; +- dXSARGS; +- +- if ((items < 1) || (items > 1)) { +- SWIG_croak("Usage: fribidi_get_type(uch);"); ++ unsigned long _index = 0; ++ SWIG_TypeRank _rank = 0; ++ if ((items >= 1) && (items <= 2)) { ++ SWIG_TypeRank _ranki = 0; ++ SWIG_TypeRank _rankm = 0; ++ SWIG_TypeRank _pi = 1; ++ int _v = 0; ++ { ++ void *vptr = 0; ++ int res = SWIG_ConvertPtr(ST(0), &vptr, SWIGTYPE_p_unsigned_int, 0); ++ _v = SWIG_CheckState(res); ++ } ++ if (!_v) goto check_1; ++ _ranki += _v*_pi; ++ _rankm += _pi; ++ _pi *= SWIG_MAXCASTRANK; ++ if (items > 1) { ++ { ++ void *vptr = 0; ++ int res = SWIG_ConvertPtr(ST(1), &vptr, SWIGTYPE_p_int, 0); ++ _v = SWIG_CheckState(res); ++ } ++ if (!_v) goto check_1; ++ _ranki += _v*_pi; ++ _rankm += _pi; ++ _pi *= SWIG_MAXCASTRANK; ++ } ++ if (!_index || (_ranki < _rank)) { ++ _rank = _ranki; _index = 1; ++ if (_rank == _rankm) goto dispatch; ++ } + } +- ecode1 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(0), &val1); +- if (!SWIG_IsOK(ecode1)) { +- SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "fribidi_get_type" "', argument " "1"" of type '" "FriBidiChar""'"); +- } +- arg1 = (FriBidiChar)(val1); +- result = (FriBidiCharType)fribidi_get_type(arg1); +- ++ check_1: + +- XSRETURN(argvi); +- fail: +- +- SWIG_croak_null(); ++ dispatch: ++ switch(_index) { ++ case 1: ++ ++PL_markstack_ptr; SWIG_CALLXS(_wrap_fribidi_remove_bidi_marks__SWIG_1); return; ++ } + } ++ ++ croak("No matching function for overloaded 'fribidi_remove_bidi_marks'"); ++ XSRETURN(0); + } + + +@@ -2781,17 +3096,17 @@ XS(_wrap_fribidi_get_types) { + Newx(*temp3, ((*_global_p_len) + 1), FriBidiCharType); + } + fribidi_get_types(arg1,arg2,arg3); +- ++ ST(argvi) = sv_newmortal(); + { + if ( 1 ) +- /*@SWIG:MXPUSHUA@*/ ++ /*@SWIG:swig/fribidi.i,63,MXPUSHUA@*/ + { + AV* tempav = newAV(); + int i; + for(i=0 ; i < (*_global_p_len) ; i++) + av_push(tempav, newSVuv(arg3[i])); +- /*@SWIG:MXPUSHR@*/ +- /*@SWIG:XPUSHS@*/ ++ /*@SWIG:swig/fribidi.i,58,MXPUSHR@*/ ++ /*@SWIG:swig/fribidi.i,40,XPUSHS@*/ + if (argvi >= items) + EXTEND(sp, 1); + ST(argvi) = sv_2mortal(newRV_noinc((SV *)tempav)); +@@ -2818,104 +3133,10 @@ XS(_wrap_fribidi_get_types) { + } + + +-XS(_wrap_fribidi_get_mirror_char) { +- { +- FriBidiChar arg1 ; +- FriBidiChar *arg2 = (FriBidiChar *) 0 ; +- fribidi_boolean result; +- unsigned int val1 ; +- int ecode1 = 0 ; +- FriBidiChar temp2 ; +- int res2 = SWIG_TMPOBJ ; +- int argvi = 0; +- dXSARGS; +- +- arg2 = &temp2; +- if ((items < 1) || (items > 1)) { +- SWIG_croak("Usage: fribidi_get_mirror_char(ch);"); +- } +- ecode1 = SWIG_AsVal_unsigned_SS_int SWIG_PERL_CALL_ARGS_2(ST(0), &val1); +- if (!SWIG_IsOK(ecode1)) { +- SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "fribidi_get_mirror_char" "', argument " "1"" of type '" "FriBidiChar""'"); +- } +- arg1 = (FriBidiChar)(val1); +- result = (fribidi_boolean)fribidi_get_mirror_char(arg1,arg2); +- +- if (SWIG_IsTmpObj(res2)) { +- if (argvi >= items) EXTEND(sp,1); ST(argvi) = SWIG_From_unsigned_SS_long SWIG_PERL_CALL_ARGS_1((*arg2)); argvi++ ; +- } else { +- int new_flags = SWIG_IsNewObj(res2) ? (SWIG_POINTER_OWN | 0) : 0; +- if (argvi >= items) EXTEND(sp,1); ST(argvi) = SWIG_NewPointerObj((void*)(arg2), SWIGTYPE_p_unsigned_int, new_flags); argvi++ ; +- } +- +- +- XSRETURN(argvi); +- fail: +- +- +- SWIG_croak_null(); +- } +-} +- +- +-XS(_wrap_fribidi_set_mirroring) { +- { +- fribidi_boolean arg1 ; +- int val1 ; +- int ecode1 = 0 ; +- int argvi = 0; +- dXSARGS; +- +- if ((items < 1) || (items > 1)) { +- SWIG_croak("Usage: fribidi_set_mirroring(mirror);"); +- } +- ecode1 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(0), &val1); +- if (!SWIG_IsOK(ecode1)) { +- SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "fribidi_set_mirroring" "', argument " "1"" of type '" "fribidi_boolean""'"); +- } +- arg1 = (fribidi_boolean)(val1); +- fribidi_set_mirroring(arg1); +- +- +- XSRETURN(argvi); +- fail: +- +- SWIG_croak_null(); +- } +-} +- +- +-XS(_wrap_fribidi_set_reorder_nsm) { +- { +- fribidi_boolean arg1 ; +- int val1 ; +- int ecode1 = 0 ; +- int argvi = 0; +- dXSARGS; +- +- if ((items < 1) || (items > 1)) { +- SWIG_croak("Usage: fribidi_set_reorder_nsm(fribidi_boolean);"); +- } +- ecode1 = SWIG_AsVal_int SWIG_PERL_CALL_ARGS_2(ST(0), &val1); +- if (!SWIG_IsOK(ecode1)) { +- SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "fribidi_set_reorder_nsm" "', argument " "1"" of type '" "fribidi_boolean""'"); +- } +- arg1 = (fribidi_boolean)(val1); +- fribidi_set_reorder_nsm(arg1); +- +- +- XSRETURN(argvi); +- fail: +- +- SWIG_croak_null(); +- } +-} +- +- + XS(_wrap_fribidi_char_set_enter_cap_rtl) { + { +- fribidi_boolean result; + int argvi = 0; ++ fribidi_boolean result; + dXSARGS; + + if ((items < 0) || (items > 0)) { +@@ -2935,12 +3156,12 @@ XS(_wrap_fribidi_cap_rtl_to_unicode) { + char *arg1 = (char *) 0 ; + FriBidiStrIndex arg2 ; + FriBidiChar *arg3 = (FriBidiChar *) 0 ; +- int result; + char *buf1 = 0 ; + size_t size1 = 0 ; + FriBidiStrIndex *_global_p_len ; + FriBidiChar **temp3 ; + int argvi = 0; ++ int result; + dXSARGS; + + +@@ -2960,8 +3181,8 @@ XS(_wrap_fribidi_cap_rtl_to_unicode) { + result = (int)fribidi_cap_rtl_to_unicode(arg1,arg2,arg3); + + { +- /*@SWIG:MXPUSHP@*/ +- /*@SWIG:XPUSHS@*/ ++ /*@SWIG:swig/fribidi.i,53,MXPUSHP@*/ ++ /*@SWIG:swig/fribidi.i,40,XPUSHS@*/ + if (argvi >= items) + EXTEND(sp, 1); + ST(argvi) = sv_2mortal(newSVpvn((char *)(arg3),(STRLEN)( (result) * sizeof(FriBidiChar)))); +@@ -2989,12 +3210,12 @@ XS(_wrap_fribidi_unicode_to_cap_rtl) { + FriBidiChar *arg1 = (FriBidiChar *) 0 ; + FriBidiStrIndex arg2 ; + char *arg3 = (char *) 0 ; +- int result; + char *buf1 = 0 ; + size_t size1 = 0 ; + FriBidiStrIndex *_global_p_len ; + char **temp3 ; + int argvi = 0; ++ int result; + dXSARGS; + + +@@ -3014,8 +3235,8 @@ XS(_wrap_fribidi_unicode_to_cap_rtl) { + result = (int)fribidi_unicode_to_cap_rtl(arg1,arg2,arg3); + + { +- /*@SWIG:MXPUSHP@*/ +- /*@SWIG:XPUSHS@*/ ++ /*@SWIG:swig/fribidi.i,53,MXPUSHP@*/ ++ /*@SWIG:swig/fribidi.i,40,XPUSHS@*/ + if (argvi >= items) + EXTEND(sp, 1); + ST(argvi) = sv_2mortal(newSVpvn((char *)(arg3),(STRLEN)( (result) * sizeof(char)))); +@@ -3044,21 +3265,20 @@ XS(_wrap_fribidi_unicode_to_cap_rtl) { + /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */ + + static swig_type_info _swigt__p_FriBidiCharSet = {"_p_FriBidiCharSet", "enum FriBidiCharSet *|FriBidiCharSet *", 0, 0, (void*)0, 0}; +-static swig_type_info _swigt__p_FriBidiRunType = {"_p_FriBidiRunType", "FriBidiRunType *", 0, 0, (void*)"Text::Bidi::private::FriBidiRunType", 0}; +-static swig_type_info _swigt__p__FriBidiList = {"_p__FriBidiList", "_FriBidiList *", 0, 0, (void*)"Text::Bidi::private::_FriBidiList", 0}; +-static swig_type_info _swigt__p_char = {"_p_char", "char *|FriBidiPropCharType *", 0, 0, (void*)0, 0}; +-static swig_type_info _swigt__p_int = {"_p_int", "int *|FriBidiCharType *", 0, 0, (void*)0, 0}; +-static swig_type_info _swigt__p_short = {"_p_short", "short *|fribidi_int16 *", 0, 0, (void*)0, 0}; ++static swig_type_info _swigt__p_FriBidiCharType = {"_p_FriBidiCharType", "enum FriBidiCharType *|FriBidiCharType *", 0, 0, (void*)0, 0}; ++static swig_type_info _swigt__p_FriBidiParType = {"_p_FriBidiParType", "enum FriBidiParType *|FriBidiParType *", 0, 0, (void*)0, 0}; ++static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0}; ++static swig_type_info _swigt__p_int = {"_p_int", "int *|FriBidiStrIndex *|fribidi_int32 *|fribidi_boolean *", 0, 0, (void*)0, 0}; ++static swig_type_info _swigt__p_short = {"_p_short", "fribidi_int16 *|short *", 0, 0, (void*)0, 0}; + static swig_type_info _swigt__p_signed_char = {"_p_signed_char", "signed char *|FriBidiLevel *", 0, 0, (void*)0, 0}; +-static swig_type_info _swigt__p_unsigned_char = {"_p_unsigned_char", "unsigned char *|fribidi_uint8 *", 0, 0, (void*)0, 0}; +-static swig_type_info _swigt__p_unsigned_int = {"_p_unsigned_int", "unsigned int *|FriBidiChar *", 0, 0, (void*)0, 0}; +-static swig_type_info _swigt__p_unsigned_short = {"_p_unsigned_short", "unsigned short *|fribidi_uint16 *", 0, 0, (void*)0, 0}; +-static swig_type_info _swigt__p_void = {"_p_void", "void *", 0, 0, (void*)0, 0}; ++static swig_type_info _swigt__p_unsigned_char = {"_p_unsigned_char", "FriBidiArabicProp *|unsigned char *|FriBidiJoiningType *|fribidi_uint8 *|fribidi_int8 *", 0, 0, (void*)0, 0}; ++static swig_type_info _swigt__p_unsigned_int = {"_p_unsigned_int", "FriBidiChar *|fribidi_uint32 *|unsigned int *|FriBidiFlags *", 0, 0, (void*)0, 0}; ++static swig_type_info _swigt__p_unsigned_short = {"_p_unsigned_short", "fribidi_uint16 *|unsigned short *", 0, 0, (void*)0, 0}; + + static swig_type_info *swig_type_initial[] = { + &_swigt__p_FriBidiCharSet, +- &_swigt__p_FriBidiRunType, +- &_swigt__p__FriBidiList, ++ &_swigt__p_FriBidiCharType, ++ &_swigt__p_FriBidiParType, + &_swigt__p_char, + &_swigt__p_int, + &_swigt__p_short, +@@ -3066,12 +3286,11 @@ static swig_type_info *swig_type_initial + &_swigt__p_unsigned_char, + &_swigt__p_unsigned_int, + &_swigt__p_unsigned_short, +- &_swigt__p_void, + }; + + static swig_cast_info _swigc__p_FriBidiCharSet[] = { {&_swigt__p_FriBidiCharSet, 0, 0, 0},{0, 0, 0, 0}}; +-static swig_cast_info _swigc__p_FriBidiRunType[] = { {&_swigt__p_FriBidiRunType, 0, 0, 0},{0, 0, 0, 0}}; +-static swig_cast_info _swigc__p__FriBidiList[] = { {&_swigt__p__FriBidiList, 0, 0, 0},{0, 0, 0, 0}}; ++static swig_cast_info _swigc__p_FriBidiCharType[] = { {&_swigt__p_FriBidiCharType, 0, 0, 0},{0, 0, 0, 0}}; ++static swig_cast_info _swigc__p_FriBidiParType[] = { {&_swigt__p_FriBidiParType, 0, 0, 0},{0, 0, 0, 0}}; + static swig_cast_info _swigc__p_char[] = { {&_swigt__p_char, 0, 0, 0},{0, 0, 0, 0}}; + static swig_cast_info _swigc__p_int[] = { {&_swigt__p_int, 0, 0, 0},{0, 0, 0, 0}}; + static swig_cast_info _swigc__p_short[] = { {&_swigt__p_short, 0, 0, 0},{0, 0, 0, 0}}; +@@ -3079,12 +3298,11 @@ static swig_cast_info _swigc__p_signed_c + static swig_cast_info _swigc__p_unsigned_char[] = { {&_swigt__p_unsigned_char, 0, 0, 0},{0, 0, 0, 0}}; + static swig_cast_info _swigc__p_unsigned_int[] = { {&_swigt__p_unsigned_int, 0, 0, 0},{0, 0, 0, 0}}; + static swig_cast_info _swigc__p_unsigned_short[] = { {&_swigt__p_unsigned_short, 0, 0, 0},{0, 0, 0, 0}}; +-static swig_cast_info _swigc__p_void[] = { {&_swigt__p_void, 0, 0, 0},{0, 0, 0, 0}}; + + static swig_cast_info *swig_cast_initial[] = { + _swigc__p_FriBidiCharSet, +- _swigc__p_FriBidiRunType, +- _swigc__p__FriBidiList, ++ _swigc__p_FriBidiCharType, ++ _swigc__p_FriBidiParType, + _swigc__p_char, + _swigc__p_int, + _swigc__p_short, +@@ -3092,7 +3310,6 @@ static swig_cast_info *swig_cast_initial + _swigc__p_unsigned_char, + _swigc__p_unsigned_int, + _swigc__p_unsigned_short, +- _swigc__p_void, + }; + + +@@ -3105,36 +3322,28 @@ static swig_constant_info swig_constants + } + #endif + static swig_variable_info swig_variables[] = { +- { "Text::Bidi::privatec::fribidi_prop_to_type", MAGIC_CLASS swig_magic_readonly, MAGIC_CLASS _wrap_fribidi_prop_to_type_get,&SWIGTYPE_p_int }, ++ { "Text::Bidi::privatec::fribidi_unicode_version", MAGIC_CLASS _wrap_fribidi_unicode_version_set, MAGIC_CLASS _wrap_fribidi_unicode_version_get,0 }, + {0,0,0,0} + }; + static swig_command_info swig_commands[] = { + {"Text::Bidi::privatec::log2vis", _wrap_log2vis}, +-{"Text::Bidi::privatec::fribidi_wcwidth", _wrap_fribidi_wcwidth}, +-{"Text::Bidi::privatec::fribidi_wcswidth", _wrap_fribidi_wcswidth}, +-{"Text::Bidi::privatec::fribidi_wcswidth_cjk", _wrap_fribidi_wcswidth_cjk}, +-{"Text::Bidi::privatec::fribidi_type_name", _wrap_fribidi_type_name}, +-{"Text::Bidi::privatec::FriBidiRunType_length_set", _wrap_FriBidiRunType_length_set}, +-{"Text::Bidi::privatec::FriBidiRunType_length_get", _wrap_FriBidiRunType_length_get}, +-{"Text::Bidi::privatec::FriBidiRunType_attribute_set", _wrap_FriBidiRunType_attribute_set}, +-{"Text::Bidi::privatec::FriBidiRunType_attribute_get", _wrap_FriBidiRunType_attribute_get}, +-{"Text::Bidi::privatec::new_FriBidiRunType", _wrap_new_FriBidiRunType}, +-{"Text::Bidi::privatec::delete_FriBidiRunType", _wrap_delete_FriBidiRunType}, +-{"Text::Bidi::privatec::_FriBidiList_data_set", _wrap__FriBidiList_data_set}, +-{"Text::Bidi::privatec::_FriBidiList_data_get", _wrap__FriBidiList_data_get}, +-{"Text::Bidi::privatec::_FriBidiList_next_set", _wrap__FriBidiList_next_set}, +-{"Text::Bidi::privatec::_FriBidiList_next_get", _wrap__FriBidiList_next_get}, +-{"Text::Bidi::privatec::_FriBidiList_prev_set", _wrap__FriBidiList_prev_set}, +-{"Text::Bidi::privatec::_FriBidiList_prev_get", _wrap__FriBidiList_prev_get}, +-{"Text::Bidi::privatec::new__FriBidiList", _wrap_new__FriBidiList}, +-{"Text::Bidi::privatec::delete__FriBidiList", _wrap_delete__FriBidiList}, ++{"Text::Bidi::privatec::fribidi_get_bidi_type", _wrap_fribidi_get_bidi_type}, ++{"Text::Bidi::privatec::fribidi_get_bidi_types", _wrap_fribidi_get_bidi_types}, ++{"Text::Bidi::privatec::fribidi_get_bidi_type_name", _wrap_fribidi_get_bidi_type_name}, ++{"Text::Bidi::privatec::fribidi_get_par_direction", _wrap_fribidi_get_par_direction}, ++{"Text::Bidi::privatec::fribidi_get_par_embedding_levels", _wrap_fribidi_get_par_embedding_levels}, ++{"Text::Bidi::privatec::fribidi_reorder_line", _wrap_fribidi_reorder_line}, ++{"Text::Bidi::privatec::fribidi_get_joining_type", _wrap_fribidi_get_joining_type}, ++{"Text::Bidi::privatec::fribidi_get_joining_types", _wrap_fribidi_get_joining_types}, ++{"Text::Bidi::privatec::fribidi_get_joining_type_name", _wrap_fribidi_get_joining_type_name}, ++{"Text::Bidi::privatec::fribidi_join_arabic", _wrap_fribidi_join_arabic}, ++{"Text::Bidi::privatec::fribidi_get_mirror_char", _wrap_fribidi_get_mirror_char}, ++{"Text::Bidi::privatec::fribidi_shape_mirroring", _wrap_fribidi_shape_mirroring}, ++{"Text::Bidi::privatec::fribidi_shape_arabic", _wrap_fribidi_shape_arabic}, ++{"Text::Bidi::privatec::fribidi_shape", _wrap_fribidi_shape}, + {"Text::Bidi::privatec::fribidi_log2vis_get_embedding_levels", _wrap_fribidi_log2vis_get_embedding_levels}, + {"Text::Bidi::privatec::fribidi_remove_bidi_marks", _wrap_fribidi_remove_bidi_marks}, +-{"Text::Bidi::privatec::fribidi_get_type", _wrap_fribidi_get_type}, + {"Text::Bidi::privatec::fribidi_get_types", _wrap_fribidi_get_types}, +-{"Text::Bidi::privatec::fribidi_get_mirror_char", _wrap_fribidi_get_mirror_char}, +-{"Text::Bidi::privatec::fribidi_set_mirroring", _wrap_fribidi_set_mirroring}, +-{"Text::Bidi::privatec::fribidi_set_reorder_nsm", _wrap_fribidi_set_reorder_nsm}, + {"Text::Bidi::privatec::fribidi_char_set_enter_cap_rtl", _wrap_fribidi_char_set_enter_cap_rtl}, + {"Text::Bidi::privatec::fribidi_cap_rtl_to_unicode", _wrap_fribidi_cap_rtl_to_unicode}, + {"Text::Bidi::privatec::fribidi_unicode_to_cap_rtl", _wrap_fribidi_unicode_to_cap_rtl}, +@@ -3197,7 +3406,7 @@ SWIGRUNTIME void + SWIG_InitializeModule(void *clientdata) { + size_t i; + swig_module_info *module_head, *iter; +- int found; ++ int found, init; + + clientdata = clientdata; + +@@ -3207,6 +3416,9 @@ SWIG_InitializeModule(void *clientdata) + swig_module.type_initial = swig_type_initial; + swig_module.cast_initial = swig_cast_initial; + swig_module.next = &swig_module; ++ init = 1; ++ } else { ++ init = 0; + } + + /* Try and load any already created modules */ +@@ -3235,6 +3447,12 @@ SWIG_InitializeModule(void *clientdata) + module_head->next = &swig_module; + } + ++ /* When multiple interpeters are used, a module could have already been initialized in ++ a different interpreter, but not yet have a pointer in this interpreter. ++ In this case, we do not want to continue adding types... everything should be ++ set up already */ ++ if (init == 0) return; ++ + /* Now work on filling in swig_module.types */ + #ifdef SWIGRUNTIME_DEBUG + printf("SWIG_InitializeModule: size %d\n", swig_module.size); +@@ -3388,7 +3606,7 @@ XS(SWIG_init) { + /* Install variables */ + for (i = 0; swig_variables[i].name; i++) { + SV *sv; +- sv = get_sv((char*) swig_variables[i].name, TRUE | 0x2); ++ sv = get_sv((char*) swig_variables[i].name, TRUE | 0x2 | GV_ADDMULTI); + if (swig_variables[i].type) { + SWIG_MakePtr(sv,(void *)1, *swig_variables[i].type,0); + } else { +@@ -3400,7 +3618,7 @@ XS(SWIG_init) { + /* Install constant */ + for (i = 0; swig_constants[i].type; i++) { + SV *sv; +- sv = get_sv((char*)swig_constants[i].name, TRUE | 0x2); ++ sv = get_sv((char*)swig_constants[i].name, TRUE | 0x2 | GV_ADDMULTI); + switch(swig_constants[i].type) { + case SWIG_INT: + sv_setiv(sv, (IV) swig_constants[i].lvalue); +@@ -3423,331 +3641,459 @@ XS(SWIG_init) { + SvREADONLY_on(sv); + } + +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_UNICODE_VERSION", TRUE | 0x2); +- sv_setsv(sv, SWIG_FromCharPtr("4.1.0")); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_BIDI_NUM_TYPES", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(19))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "UNI_MAX_BIDI_LEVEL", TRUE | 0x2); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_BIDI_MAX_EXPLICIT_LEVEL", TRUE | 0x2 | GV_ADDMULTI); + sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(61))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "UNI_LRM", TRUE | 0x2); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_BIDI_MAX_RESOLVED_LEVELS", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(63))); ++ SvREADONLY_on(sv); ++ } while(0) /*@SWIG@*/; ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_CHAR_LRM", TRUE | 0x2 | GV_ADDMULTI); + sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x200E))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "UNI_RLM", TRUE | 0x2); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_CHAR_RLM", TRUE | 0x2 | GV_ADDMULTI); + sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x200F))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "UNI_LRE", TRUE | 0x2); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_CHAR_LRE", TRUE | 0x2 | GV_ADDMULTI); + sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x202A))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "UNI_RLE", TRUE | 0x2); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_CHAR_RLE", TRUE | 0x2 | GV_ADDMULTI); + sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x202B))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "UNI_PDF", TRUE | 0x2); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_CHAR_PDF", TRUE | 0x2 | GV_ADDMULTI); + sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x202C))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "UNI_LRO", TRUE | 0x2); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_CHAR_LRO", TRUE | 0x2 | GV_ADDMULTI); + sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x202D))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "UNI_RLO", TRUE | 0x2); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_CHAR_RLO", TRUE | 0x2 | GV_ADDMULTI); + sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x202E))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "UNI_LS", TRUE | 0x2); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_CHAR_LS", TRUE | 0x2 | GV_ADDMULTI); + sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x2028))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "UNI_PS", TRUE | 0x2); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_CHAR_PS", TRUE | 0x2 | GV_ADDMULTI); + sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x2029))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "UNI_ZWNJ", TRUE | 0x2); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_CHAR_ZWNJ", TRUE | 0x2 | GV_ADDMULTI); + sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x200C))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "UNI_ZWJ", TRUE | 0x2); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_CHAR_ZWJ", TRUE | 0x2 | GV_ADDMULTI); + sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x200D))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "UNI_HEBREW_ALEF", TRUE | 0x2); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_CHAR_HEBREW_ALEF", TRUE | 0x2 | GV_ADDMULTI); + sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x05D0))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "UNI_ARABIC_ALEF", TRUE | 0x2); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_CHAR_ARABIC_ALEF", TRUE | 0x2 | GV_ADDMULTI); + sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x0627))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "UNI_ARABIC_ZERO", TRUE | 0x2); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_CHAR_ARABIC_ZERO", TRUE | 0x2 | GV_ADDMULTI); + sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x0660))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "UNI_FARSI_ZERO", TRUE | 0x2); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_CHAR_PERSIAN_ZERO", TRUE | 0x2 | GV_ADDMULTI); + sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x06F0))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- SWIG_TypeClientData(SWIGTYPE_p_FriBidiRunType, (void*) "Text::Bidi::private::FriBidiRunType"); +- SWIG_TypeClientData(SWIGTYPE_p__FriBidiList, (void*) "Text::Bidi::private::_FriBidiList"); +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_RTL", TRUE | 0x2); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_CHAR_ZWNBSP", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0xFEFF))); ++ SvREADONLY_on(sv); ++ } while(0) /*@SWIG@*/; ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_CHAR_FILL", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0xFEFF))); ++ SvREADONLY_on(sv); ++ } while(0) /*@SWIG@*/; ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_FLAG_SHAPE_MIRRORING", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x00000001))); ++ SvREADONLY_on(sv); ++ } while(0) /*@SWIG@*/; ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_FLAG_REORDER_NSM", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x00000002))); ++ SvREADONLY_on(sv); ++ } while(0) /*@SWIG@*/; ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_FLAG_SHAPE_ARAB_PRES", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x00000100))); ++ SvREADONLY_on(sv); ++ } while(0) /*@SWIG@*/; ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_FLAG_SHAPE_ARAB_LIGA", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x00000200))); ++ SvREADONLY_on(sv); ++ } while(0) /*@SWIG@*/; ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_FLAG_SHAPE_ARAB_CONSOLE", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x00000400))); ++ SvREADONLY_on(sv); ++ } while(0) /*@SWIG@*/; ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_FLAG_REMOVE_BIDI", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x00010000))); ++ SvREADONLY_on(sv); ++ } while(0) /*@SWIG@*/; ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_FLAG_REMOVE_JOINING", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x00020000))); ++ SvREADONLY_on(sv); ++ } while(0) /*@SWIG@*/; ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_FLAG_REMOVE_SPECIALS", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x00040000))); ++ SvREADONLY_on(sv); ++ } while(0) /*@SWIG@*/; ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_FLAGS_DEFAULT", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)((0x00000001|0x00000002|0x00040000)))); ++ SvREADONLY_on(sv); ++ } while(0) /*@SWIG@*/; ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_FLAGS_ARABIC", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)((0x00000100|0x00000200)))); ++ SvREADONLY_on(sv); ++ } while(0) /*@SWIG@*/; ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_RTL", TRUE | 0x2 | GV_ADDMULTI); + sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)(0x00000001L))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_ARABIC", TRUE | 0x2); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_ARABIC", TRUE | 0x2 | GV_ADDMULTI); + sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)(0x00000002L))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_STRONG", TRUE | 0x2); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_STRONG", TRUE | 0x2 | GV_ADDMULTI); + sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)(0x00000010L))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_WEAK", TRUE | 0x2); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_WEAK", TRUE | 0x2 | GV_ADDMULTI); + sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)(0x00000020L))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_NEUTRAL", TRUE | 0x2); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_NEUTRAL", TRUE | 0x2 | GV_ADDMULTI); + sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)(0x00000040L))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_SENTINEL", TRUE | 0x2); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_SENTINEL", TRUE | 0x2 | GV_ADDMULTI); + sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)(0x00000080L))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_LETTER", TRUE | 0x2); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_LETTER", TRUE | 0x2 | GV_ADDMULTI); + sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)(0x00000100L))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_NUMBER", TRUE | 0x2); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_NUMBER", TRUE | 0x2 | GV_ADDMULTI); + sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)(0x00000200L))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_NUMSEPTER", TRUE | 0x2); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_NUMSEPTER", TRUE | 0x2 | GV_ADDMULTI); + sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)(0x00000400L))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_SPACE", TRUE | 0x2); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_SPACE", TRUE | 0x2 | GV_ADDMULTI); + sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)(0x00000800L))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_EXPLICIT", TRUE | 0x2); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_EXPLICIT", TRUE | 0x2 | GV_ADDMULTI); + sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)(0x00001000L))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_SEPARATOR", TRUE | 0x2); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_SEPARATOR", TRUE | 0x2 | GV_ADDMULTI); + sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)(0x00002000L))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_OVERRIDE", TRUE | 0x2); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_OVERRIDE", TRUE | 0x2 | GV_ADDMULTI); + sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)(0x00004000L))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_ES", TRUE | 0x2); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_ES", TRUE | 0x2 | GV_ADDMULTI); + sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)(0x00010000L))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_ET", TRUE | 0x2); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_ET", TRUE | 0x2 | GV_ADDMULTI); + sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)(0x00020000L))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_CS", TRUE | 0x2); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_CS", TRUE | 0x2 | GV_ADDMULTI); + sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)(0x00040000L))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_NSM", TRUE | 0x2); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_NSM", TRUE | 0x2 | GV_ADDMULTI); + sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)(0x00080000L))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_BN", TRUE | 0x2); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_BN", TRUE | 0x2 | GV_ADDMULTI); + sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)(0x00100000L))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_BS", TRUE | 0x2); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_BS", TRUE | 0x2 | GV_ADDMULTI); + sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)(0x00200000L))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_SS", TRUE | 0x2); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_SS", TRUE | 0x2 | GV_ADDMULTI); + sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)(0x00400000L))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_WS", TRUE | 0x2); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_WS", TRUE | 0x2 | GV_ADDMULTI); + sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)(0x00800000L))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_LTR", TRUE | 0x2); +- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000010L+0x00000100L)))); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_PRIVATE", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)(0x01000000L))); ++ SvREADONLY_on(sv); ++ } while(0) /*@SWIG@*/; ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_LTR_VAL", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000010L|0x00000100L)))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_RTL", TRUE | 0x2); +- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000010L+0x00000100L+0x00000001L)))); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_RTL_VAL", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000010L|0x00000100L|0x00000001L)))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_AL", TRUE | 0x2); +- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000010L+0x00000100L+0x00000001L+0x00000002L)))); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_AL_VAL", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000010L|0x00000100L|0x00000001L|0x00000002L)))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_LRE", TRUE | 0x2); +- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000010L+0x00001000L)))); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_LRE_VAL", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000010L|0x00001000L)))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_RLE", TRUE | 0x2); +- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000010L+0x00001000L+0x00000001L)))); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_RLE_VAL", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000010L|0x00001000L|0x00000001L)))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_LRO", TRUE | 0x2); +- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000010L+0x00001000L+0x00004000L)))); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_LRO_VAL", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000010L|0x00001000L|0x00004000L)))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_RLO", TRUE | 0x2); +- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000010L+0x00001000L+0x00000001L+0x00004000L)))); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_RLO_VAL", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000010L|0x00001000L|0x00000001L|0x00004000L)))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_PDF", TRUE | 0x2); +- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000020L+0x00001000L)))); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_PDF_VAL", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000020L|0x00001000L)))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_EN", TRUE | 0x2); +- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000020L+0x00000200L)))); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_EN_VAL", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000020L|0x00000200L)))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_AN", TRUE | 0x2); +- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000020L+0x00000200L+0x00000002L)))); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_AN_VAL", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000020L|0x00000200L|0x00000002L)))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_ES", TRUE | 0x2); +- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000020L+0x00000400L+0x00010000L)))); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_ES_VAL", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000020L|0x00000400L|0x00010000L)))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_ET", TRUE | 0x2); +- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000020L+0x00000400L+0x00020000L)))); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_ET_VAL", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000020L|0x00000400L|0x00020000L)))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_CS", TRUE | 0x2); +- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000020L+0x00000400L+0x00040000L)))); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_CS_VAL", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000020L|0x00000400L|0x00040000L)))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_NSM", TRUE | 0x2); +- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000020L+0x00080000L)))); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_NSM_VAL", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000020L|0x00080000L)))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_BN", TRUE | 0x2); +- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000020L+0x00000800L+0x00100000L)))); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_BN_VAL", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000020L|0x00000800L|0x00100000L)))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_BS", TRUE | 0x2); +- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000040L+0x00000800L+0x00002000L+0x00200000L)))); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_BS_VAL", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000040L|0x00000800L|0x00002000L|0x00200000L)))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_SS", TRUE | 0x2); +- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000040L+0x00000800L+0x00002000L+0x00400000L)))); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_SS_VAL", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000040L|0x00000800L|0x00002000L|0x00400000L)))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_WS", TRUE | 0x2); +- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000040L+0x00000800L+0x00800000L)))); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_WS_VAL", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000040L|0x00000800L|0x00800000L)))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_ON", TRUE | 0x2); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_ON_VAL", TRUE | 0x2 | GV_ADDMULTI); + sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000040L)))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_L", TRUE | 0x2); +- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)(((0x00000010L+0x00000100L))))); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_WLTR_VAL", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000020L)))); ++ SvREADONLY_on(sv); ++ } while(0) /*@SWIG@*/; ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_WRTL_VAL", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000020L|0x00000001L)))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_R", TRUE | 0x2); +- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)(((0x00000010L+0x00000100L+0x00000001L))))); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_SENTINEL", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000080L)))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_N", TRUE | 0x2); +- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)(((0x00000040L))))); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_PRIVATE", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x01000000L)))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_WL", TRUE | 0x2); +- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000020L)))); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "_FRIBIDI_TYPE_SENTINEL", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(_FRIBIDI_TYPE_SENTINEL))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_WR", TRUE | 0x2); +- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000020L+0x00000001L)))); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "_FRIBIDI_PAR_SENTINEL", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(_FRIBIDI_PAR_SENTINEL))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_SOT", TRUE | 0x2); +- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000080L)))); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_JOINS_RIGHT", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x01))); ++ SvREADONLY_on(sv); ++ } while(0) /*@SWIG@*/; ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_JOINS_LEFT", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x02))); ++ SvREADONLY_on(sv); ++ } while(0) /*@SWIG@*/; ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_ARAB_SHAPES", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x04))); ++ SvREADONLY_on(sv); ++ } while(0) /*@SWIG@*/; ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_TRANSPARENT", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x08))); ++ SvREADONLY_on(sv); ++ } while(0) /*@SWIG@*/; ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_IGNORED", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x10))); ++ SvREADONLY_on(sv); ++ } while(0) /*@SWIG@*/; ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_MASK_LIGATURED", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(0x20))); ++ SvREADONLY_on(sv); ++ } while(0) /*@SWIG@*/; ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_JOINING_TYPE_U_VAL", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)((0)))); ++ SvREADONLY_on(sv); ++ } while(0) /*@SWIG@*/; ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_JOINING_TYPE_R_VAL", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)((0x01|0x04)))); ++ SvREADONLY_on(sv); ++ } while(0) /*@SWIG@*/; ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_JOINING_TYPE_D_VAL", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)((0x01|0x02|0x04)))); ++ SvREADONLY_on(sv); ++ } while(0) /*@SWIG@*/; ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_JOINING_TYPE_C_VAL", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)((0x01|0x02)))); ++ SvREADONLY_on(sv); ++ } while(0) /*@SWIG@*/; ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_JOINING_TYPE_L_VAL", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)((0x02|0x04)))); ++ SvREADONLY_on(sv); ++ } while(0) /*@SWIG@*/; ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_JOINING_TYPE_T_VAL", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)((0x08|0x04)))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPE_EOT", TRUE | 0x2); +- sv_setsv(sv, SWIG_From_long SWIG_PERL_CALL_ARGS_1((long)((0x00000080L+0x00000001L)))); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_JOINING_TYPE_G_VAL", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)((0x10)))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; +- /*@SWIG:%set_constant@*/ do { +- SV *sv = get_sv((char*) SWIG_prefix "FRIBIDI_TYPES_COUNT", TRUE | 0x2); +- sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(FRIBIDI_TYPES_COUNT))); ++ /*@SWIG:/usr/local/share/swig/1.3.39/perl5/perltypemaps.swg,65,%set_constant@*/ do { ++ SV *sv = get_sv((char*) SWIG_prefix "_FRIBIDI_JOINING_TYPE_JUNK", TRUE | 0x2 | GV_ADDMULTI); ++ sv_setsv(sv, SWIG_From_int SWIG_PERL_CALL_ARGS_1((int)(_FRIBIDI_JOINING_TYPE_JUNK))); + SvREADONLY_on(sv); + } while(0) /*@SWIG@*/; + ST(0) = &PL_sv_yes; |