vinted-memcached 1.8.3 → 1.8.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/Gemfile.lock +22 -9
 - data/ext/rlibmemcached.i +7 -1
 - data/ext/rlibmemcached_wrap.c +664 -473
 - data/lib/memcached/version.rb +1 -1
 - data/memcached.gemspec +0 -0
 - metadata +15 -1
 
    
        data/ext/rlibmemcached_wrap.c
    CHANGED
    
    | 
         @@ -1,13 +1,13 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            /* ----------------------------------------------------------------------------
         
     | 
| 
       2 
     | 
    
         
            -
             * This file was automatically generated by SWIG ( 
     | 
| 
       3 
     | 
    
         
            -
             * Version 2.0 
     | 
| 
       4 
     | 
    
         
            -
             * 
     | 
| 
       5 
     | 
    
         
            -
             *  
     | 
| 
       6 
     | 
    
         
            -
             *  
     | 
| 
       7 
     | 
    
         
            -
             * changes to this file unless you know what you are doing--modify the SWIG 
         
     | 
| 
       8 
     | 
    
         
            -
             * interface file instead. 
         
     | 
| 
      
 2 
     | 
    
         
            +
             * This file was automatically generated by SWIG (https://www.swig.org).
         
     | 
| 
      
 3 
     | 
    
         
            +
             * Version 4.2.0
         
     | 
| 
      
 4 
     | 
    
         
            +
             *
         
     | 
| 
      
 5 
     | 
    
         
            +
             * Do not make changes to this file unless you know what you are doing - modify
         
     | 
| 
      
 6 
     | 
    
         
            +
             * the SWIG interface file instead.
         
     | 
| 
       9 
7 
     | 
    
         
             
             * ----------------------------------------------------------------------------- */
         
     | 
| 
       10 
8 
     | 
    
         | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
            #define SWIG_VERSION 0x040200
         
     | 
| 
       11 
11 
     | 
    
         
             
            #define SWIGRUBY
         
     | 
| 
       12 
12 
     | 
    
         | 
| 
       13 
13 
     | 
    
         
             
            /* -----------------------------------------------------------------------------
         
     | 
| 
         @@ -41,28 +41,28 @@ 
     | 
|
| 
       41 
41 
     | 
    
         
             
            #ifndef SWIGUNUSED
         
     | 
| 
       42 
42 
     | 
    
         
             
            # if defined(__GNUC__)
         
     | 
| 
       43 
43 
     | 
    
         
             
            #   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
         
     | 
| 
       44 
     | 
    
         
            -
            #     define SWIGUNUSED __attribute__ ((__unused__)) 
     | 
| 
      
 44 
     | 
    
         
            +
            #     define SWIGUNUSED __attribute__ ((__unused__))
         
     | 
| 
       45 
45 
     | 
    
         
             
            #   else
         
     | 
| 
       46 
46 
     | 
    
         
             
            #     define SWIGUNUSED
         
     | 
| 
       47 
47 
     | 
    
         
             
            #   endif
         
     | 
| 
       48 
48 
     | 
    
         
             
            # elif defined(__ICC)
         
     | 
| 
       49 
     | 
    
         
            -
            #   define SWIGUNUSED __attribute__ ((__unused__)) 
     | 
| 
      
 49 
     | 
    
         
            +
            #   define SWIGUNUSED __attribute__ ((__unused__))
         
     | 
| 
       50 
50 
     | 
    
         
             
            # else
         
     | 
| 
       51 
     | 
    
         
            -
            #   define SWIGUNUSED 
     | 
| 
      
 51 
     | 
    
         
            +
            #   define SWIGUNUSED
         
     | 
| 
       52 
52 
     | 
    
         
             
            # endif
         
     | 
| 
       53 
53 
     | 
    
         
             
            #endif
         
     | 
| 
       54 
54 
     | 
    
         | 
| 
       55 
55 
     | 
    
         
             
            #ifndef SWIG_MSC_UNSUPPRESS_4505
         
     | 
| 
       56 
56 
     | 
    
         
             
            # if defined(_MSC_VER)
         
     | 
| 
       57 
57 
     | 
    
         
             
            #   pragma warning(disable : 4505) /* unreferenced local function has been removed */
         
     | 
| 
       58 
     | 
    
         
            -
            # endif 
     | 
| 
      
 58 
     | 
    
         
            +
            # endif
         
     | 
| 
       59 
59 
     | 
    
         
             
            #endif
         
     | 
| 
       60 
60 
     | 
    
         | 
| 
       61 
61 
     | 
    
         
             
            #ifndef SWIGUNUSEDPARM
         
     | 
| 
       62 
62 
     | 
    
         
             
            # ifdef __cplusplus
         
     | 
| 
       63 
63 
     | 
    
         
             
            #   define SWIGUNUSEDPARM(p)
         
     | 
| 
       64 
64 
     | 
    
         
             
            # else
         
     | 
| 
       65 
     | 
    
         
            -
            #   define SWIGUNUSEDPARM(p) p SWIGUNUSED 
     | 
| 
      
 65 
     | 
    
         
            +
            #   define SWIGUNUSEDPARM(p) p SWIGUNUSED
         
     | 
| 
       66 
66 
     | 
    
         
             
            # endif
         
     | 
| 
       67 
67 
     | 
    
         
             
            #endif
         
     | 
| 
       68 
68 
     | 
    
         | 
| 
         @@ -77,9 +77,11 @@ 
     | 
|
| 
       77 
77 
     | 
    
         
             
            #endif
         
     | 
| 
       78 
78 
     | 
    
         | 
| 
       79 
79 
     | 
    
         
             
            /* exporting methods */
         
     | 
| 
       80 
     | 
    
         
            -
            #if (__GNUC__ 
     | 
| 
       81 
     | 
    
         
            -
            #   
     | 
| 
       82 
     | 
    
         
            -
            #     
     | 
| 
      
 80 
     | 
    
         
            +
            #if defined(__GNUC__)
         
     | 
| 
      
 81 
     | 
    
         
            +
            #  if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
         
     | 
| 
      
 82 
     | 
    
         
            +
            #    ifndef GCC_HASCLASSVISIBILITY
         
     | 
| 
      
 83 
     | 
    
         
            +
            #      define GCC_HASCLASSVISIBILITY
         
     | 
| 
      
 84 
     | 
    
         
            +
            #    endif
         
     | 
| 
       83 
85 
     | 
    
         
             
            #  endif
         
     | 
| 
       84 
86 
     | 
    
         
             
            #endif
         
     | 
| 
       85 
87 
     | 
    
         | 
| 
         @@ -105,7 +107,7 @@ 
     | 
|
| 
       105 
107 
     | 
    
         
             
            #   define SWIGSTDCALL __stdcall
         
     | 
| 
       106 
108 
     | 
    
         
             
            # else
         
     | 
| 
       107 
109 
     | 
    
         
             
            #   define SWIGSTDCALL
         
     | 
| 
       108 
     | 
    
         
            -
            # endif 
     | 
| 
      
 110 
     | 
    
         
            +
            # endif
         
     | 
| 
       109 
111 
     | 
    
         
             
            #endif
         
     | 
| 
       110 
112 
     | 
    
         | 
| 
       111 
113 
     | 
    
         
             
            /* Deal with Microsoft's attempt at deprecating C standard runtime functions */
         
     | 
| 
         @@ -118,6 +120,45 @@ 
     | 
|
| 
       118 
120 
     | 
    
         
             
            # define _SCL_SECURE_NO_DEPRECATE
         
     | 
| 
       119 
121 
     | 
    
         
             
            #endif
         
     | 
| 
       120 
122 
     | 
    
         | 
| 
      
 123 
     | 
    
         
            +
            /* Deal with Apple's deprecated 'AssertMacros.h' from Carbon-framework */
         
     | 
| 
      
 124 
     | 
    
         
            +
            #if defined(__APPLE__) && !defined(__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES)
         
     | 
| 
      
 125 
     | 
    
         
            +
            # define __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES 0
         
     | 
| 
      
 126 
     | 
    
         
            +
            #endif
         
     | 
| 
      
 127 
     | 
    
         
            +
             
     | 
| 
      
 128 
     | 
    
         
            +
            /* Intel's compiler complains if a variable which was never initialised is
         
     | 
| 
      
 129 
     | 
    
         
            +
             * cast to void, which is a common idiom which we use to indicate that we
         
     | 
| 
      
 130 
     | 
    
         
            +
             * are aware a variable isn't used.  So we just silence that warning.
         
     | 
| 
      
 131 
     | 
    
         
            +
             * See: https://github.com/swig/swig/issues/192 for more discussion.
         
     | 
| 
      
 132 
     | 
    
         
            +
             */
         
     | 
| 
      
 133 
     | 
    
         
            +
            #ifdef __INTEL_COMPILER
         
     | 
| 
      
 134 
     | 
    
         
            +
            # pragma warning disable 592
         
     | 
| 
      
 135 
     | 
    
         
            +
            #endif
         
     | 
| 
      
 136 
     | 
    
         
            +
             
     | 
| 
      
 137 
     | 
    
         
            +
            #if __cplusplus >=201103L
         
     | 
| 
      
 138 
     | 
    
         
            +
            # define SWIG_NULLPTR nullptr
         
     | 
| 
      
 139 
     | 
    
         
            +
            #else
         
     | 
| 
      
 140 
     | 
    
         
            +
            # define SWIG_NULLPTR NULL
         
     | 
| 
      
 141 
     | 
    
         
            +
            #endif 
         
     | 
| 
      
 142 
     | 
    
         
            +
             
     | 
| 
      
 143 
     | 
    
         
            +
             
     | 
| 
      
 144 
     | 
    
         
            +
            /* C99 and C++11 should provide snprintf, but define SWIG_NO_SNPRINTF
         
     | 
| 
      
 145 
     | 
    
         
            +
             * if you're missing it.
         
     | 
| 
      
 146 
     | 
    
         
            +
             */
         
     | 
| 
      
 147 
     | 
    
         
            +
            #if ((defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L) || \
         
     | 
| 
      
 148 
     | 
    
         
            +
                 (defined __cplusplus && __cplusplus >= 201103L) || \
         
     | 
| 
      
 149 
     | 
    
         
            +
                 defined SWIG_HAVE_SNPRINTF) && \
         
     | 
| 
      
 150 
     | 
    
         
            +
                !defined SWIG_NO_SNPRINTF
         
     | 
| 
      
 151 
     | 
    
         
            +
            # define SWIG_snprintf(O,S,F,A) snprintf(O,S,F,A)
         
     | 
| 
      
 152 
     | 
    
         
            +
            # define SWIG_snprintf2(O,S,F,A,B) snprintf(O,S,F,A,B)
         
     | 
| 
      
 153 
     | 
    
         
            +
            #else
         
     | 
| 
      
 154 
     | 
    
         
            +
            /* Fallback versions ignore the buffer size, but most of our uses either have a
         
     | 
| 
      
 155 
     | 
    
         
            +
             * fixed maximum possible size or dynamically allocate a buffer that's large
         
     | 
| 
      
 156 
     | 
    
         
            +
             * enough.
         
     | 
| 
      
 157 
     | 
    
         
            +
             */
         
     | 
| 
      
 158 
     | 
    
         
            +
            # define SWIG_snprintf(O,S,F,A) sprintf(O,F,A)
         
     | 
| 
      
 159 
     | 
    
         
            +
            # define SWIG_snprintf2(O,S,F,A,B) sprintf(O,F,A,B)
         
     | 
| 
      
 160 
     | 
    
         
            +
            #endif
         
     | 
| 
      
 161 
     | 
    
         
            +
             
     | 
| 
       121 
162 
     | 
    
         | 
| 
       122 
163 
     | 
    
         
             
            /* -----------------------------------------------------------------------------
         
     | 
| 
       123 
164 
     | 
    
         
             
             *  This section contains generic SWIG labels for method/variable
         
     | 
| 
         @@ -150,28 +191,28 @@ 
     | 
|
| 
       150 
191 
     | 
    
         
             
            #ifndef SWIGUNUSED
         
     | 
| 
       151 
192 
     | 
    
         
             
            # if defined(__GNUC__)
         
     | 
| 
       152 
193 
     | 
    
         
             
            #   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
         
     | 
| 
       153 
     | 
    
         
            -
            #     define SWIGUNUSED __attribute__ ((__unused__)) 
     | 
| 
      
 194 
     | 
    
         
            +
            #     define SWIGUNUSED __attribute__ ((__unused__))
         
     | 
| 
       154 
195 
     | 
    
         
             
            #   else
         
     | 
| 
       155 
196 
     | 
    
         
             
            #     define SWIGUNUSED
         
     | 
| 
       156 
197 
     | 
    
         
             
            #   endif
         
     | 
| 
       157 
198 
     | 
    
         
             
            # elif defined(__ICC)
         
     | 
| 
       158 
     | 
    
         
            -
            #   define SWIGUNUSED __attribute__ ((__unused__)) 
     | 
| 
      
 199 
     | 
    
         
            +
            #   define SWIGUNUSED __attribute__ ((__unused__))
         
     | 
| 
       159 
200 
     | 
    
         
             
            # else
         
     | 
| 
       160 
     | 
    
         
            -
            #   define SWIGUNUSED 
     | 
| 
      
 201 
     | 
    
         
            +
            #   define SWIGUNUSED
         
     | 
| 
       161 
202 
     | 
    
         
             
            # endif
         
     | 
| 
       162 
203 
     | 
    
         
             
            #endif
         
     | 
| 
       163 
204 
     | 
    
         | 
| 
       164 
205 
     | 
    
         
             
            #ifndef SWIG_MSC_UNSUPPRESS_4505
         
     | 
| 
       165 
206 
     | 
    
         
             
            # if defined(_MSC_VER)
         
     | 
| 
       166 
207 
     | 
    
         
             
            #   pragma warning(disable : 4505) /* unreferenced local function has been removed */
         
     | 
| 
       167 
     | 
    
         
            -
            # endif 
     | 
| 
      
 208 
     | 
    
         
            +
            # endif
         
     | 
| 
       168 
209 
     | 
    
         
             
            #endif
         
     | 
| 
       169 
210 
     | 
    
         | 
| 
       170 
211 
     | 
    
         
             
            #ifndef SWIGUNUSEDPARM
         
     | 
| 
       171 
212 
     | 
    
         
             
            # ifdef __cplusplus
         
     | 
| 
       172 
213 
     | 
    
         
             
            #   define SWIGUNUSEDPARM(p)
         
     | 
| 
       173 
214 
     | 
    
         
             
            # else
         
     | 
| 
       174 
     | 
    
         
            -
            #   define SWIGUNUSEDPARM(p) p SWIGUNUSED 
     | 
| 
      
 215 
     | 
    
         
            +
            #   define SWIGUNUSEDPARM(p) p SWIGUNUSED
         
     | 
| 
       175 
216 
     | 
    
         
             
            # endif
         
     | 
| 
       176 
217 
     | 
    
         
             
            #endif
         
     | 
| 
       177 
218 
     | 
    
         | 
| 
         @@ -186,9 +227,11 @@ 
     | 
|
| 
       186 
227 
     | 
    
         
             
            #endif
         
     | 
| 
       187 
228 
     | 
    
         | 
| 
       188 
229 
     | 
    
         
             
            /* exporting methods */
         
     | 
| 
       189 
     | 
    
         
            -
            #if (__GNUC__ 
     | 
| 
       190 
     | 
    
         
            -
            #   
     | 
| 
       191 
     | 
    
         
            -
            #     
     | 
| 
      
 230 
     | 
    
         
            +
            #if defined(__GNUC__)
         
     | 
| 
      
 231 
     | 
    
         
            +
            #  if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
         
     | 
| 
      
 232 
     | 
    
         
            +
            #    ifndef GCC_HASCLASSVISIBILITY
         
     | 
| 
      
 233 
     | 
    
         
            +
            #      define GCC_HASCLASSVISIBILITY
         
     | 
| 
      
 234 
     | 
    
         
            +
            #    endif
         
     | 
| 
       192 
235 
     | 
    
         
             
            #  endif
         
     | 
| 
       193 
236 
     | 
    
         
             
            #endif
         
     | 
| 
       194 
237 
     | 
    
         | 
| 
         @@ -214,7 +257,7 @@ 
     | 
|
| 
       214 
257 
     | 
    
         
             
            #   define SWIGSTDCALL __stdcall
         
     | 
| 
       215 
258 
     | 
    
         
             
            # else
         
     | 
| 
       216 
259 
     | 
    
         
             
            #   define SWIGSTDCALL
         
     | 
| 
       217 
     | 
    
         
            -
            # endif 
     | 
| 
      
 260 
     | 
    
         
            +
            # endif
         
     | 
| 
       218 
261 
     | 
    
         
             
            #endif
         
     | 
| 
       219 
262 
     | 
    
         | 
| 
       220 
263 
     | 
    
         
             
            /* Deal with Microsoft's attempt at deprecating C standard runtime functions */
         
     | 
| 
         @@ -227,6 +270,25 @@ 
     | 
|
| 
       227 
270 
     | 
    
         
             
            # define _SCL_SECURE_NO_DEPRECATE
         
     | 
| 
       228 
271 
     | 
    
         
             
            #endif
         
     | 
| 
       229 
272 
     | 
    
         | 
| 
      
 273 
     | 
    
         
            +
            /* Deal with Apple's deprecated 'AssertMacros.h' from Carbon-framework */
         
     | 
| 
      
 274 
     | 
    
         
            +
            #if defined(__APPLE__) && !defined(__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES)
         
     | 
| 
      
 275 
     | 
    
         
            +
            # define __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES 0
         
     | 
| 
      
 276 
     | 
    
         
            +
            #endif
         
     | 
| 
      
 277 
     | 
    
         
            +
             
     | 
| 
      
 278 
     | 
    
         
            +
            /* Intel's compiler complains if a variable which was never initialised is
         
     | 
| 
      
 279 
     | 
    
         
            +
             * cast to void, which is a common idiom which we use to indicate that we
         
     | 
| 
      
 280 
     | 
    
         
            +
             * are aware a variable isn't used.  So we just silence that warning.
         
     | 
| 
      
 281 
     | 
    
         
            +
             * See: https://github.com/swig/swig/issues/192 for more discussion.
         
     | 
| 
      
 282 
     | 
    
         
            +
             */
         
     | 
| 
      
 283 
     | 
    
         
            +
            #ifdef __INTEL_COMPILER
         
     | 
| 
      
 284 
     | 
    
         
            +
            # pragma warning disable 592
         
     | 
| 
      
 285 
     | 
    
         
            +
            #endif
         
     | 
| 
      
 286 
     | 
    
         
            +
             
     | 
| 
      
 287 
     | 
    
         
            +
            #if __cplusplus >=201103L
         
     | 
| 
      
 288 
     | 
    
         
            +
            # define SWIG_NULLPTR nullptr
         
     | 
| 
      
 289 
     | 
    
         
            +
            #else
         
     | 
| 
      
 290 
     | 
    
         
            +
            # define SWIG_NULLPTR NULL
         
     | 
| 
      
 291 
     | 
    
         
            +
            #endif 
         
     | 
| 
       230 
292 
     | 
    
         | 
| 
       231 
293 
     | 
    
         
             
            /* -----------------------------------------------------------------------------
         
     | 
| 
       232 
294 
     | 
    
         
             
             * swigrun.swg
         
     | 
| 
         @@ -252,7 +314,7 @@ 
     | 
|
| 
       252 
314 
     | 
    
         
             
              You can use the SWIGRUNTIME and SWIGRUNTIMEINLINE macros for
         
     | 
| 
       253 
315 
     | 
    
         
             
              creating a static or dynamic library from the SWIG runtime code.
         
     | 
| 
       254 
316 
     | 
    
         
             
              In 99.9% of the cases, SWIG just needs to declare them as 'static'.
         
     | 
| 
       255 
     | 
    
         
            -
             
     | 
| 
      
 317 
     | 
    
         
            +
             
     | 
| 
       256 
318 
     | 
    
         
             
              But only do this if strictly necessary, ie, if you have problems
         
     | 
| 
       257 
319 
     | 
    
         
             
              with your compiler or suchlike.
         
     | 
| 
       258 
320 
     | 
    
         
             
            */
         
     | 
| 
         @@ -273,21 +335,24 @@ 
     | 
|
| 
       273 
335 
     | 
    
         
             
            /* Flags for pointer conversions */
         
     | 
| 
       274 
336 
     | 
    
         
             
            #define SWIG_POINTER_DISOWN        0x1
         
     | 
| 
       275 
337 
     | 
    
         
             
            #define SWIG_CAST_NEW_MEMORY       0x2
         
     | 
| 
      
 338 
     | 
    
         
            +
            #define SWIG_POINTER_NO_NULL       0x4
         
     | 
| 
      
 339 
     | 
    
         
            +
            #define SWIG_POINTER_CLEAR         0x8
         
     | 
| 
      
 340 
     | 
    
         
            +
            #define SWIG_POINTER_RELEASE       (SWIG_POINTER_CLEAR | SWIG_POINTER_DISOWN)
         
     | 
| 
       276 
341 
     | 
    
         | 
| 
       277 
342 
     | 
    
         
             
            /* Flags for new pointer objects */
         
     | 
| 
       278 
343 
     | 
    
         
             
            #define SWIG_POINTER_OWN           0x1
         
     | 
| 
       279 
344 
     | 
    
         | 
| 
       280 
345 
     | 
    
         | 
| 
       281 
     | 
    
         
            -
            /* 
     | 
| 
      
 346 
     | 
    
         
            +
            /*
         
     | 
| 
       282 
347 
     | 
    
         
             
               Flags/methods for returning states.
         
     | 
| 
       283 
     | 
    
         
            -
             
     | 
| 
       284 
     | 
    
         
            -
               The SWIG conversion methods, as ConvertPtr, return an integer 
     | 
| 
      
 348 
     | 
    
         
            +
             
     | 
| 
      
 349 
     | 
    
         
            +
               The SWIG conversion methods, as ConvertPtr, return an integer
         
     | 
| 
       285 
350 
     | 
    
         
             
               that tells if the conversion was successful or not. And if not,
         
     | 
| 
       286 
351 
     | 
    
         
             
               an error code can be returned (see swigerrors.swg for the codes).
         
     | 
| 
       287 
     | 
    
         
            -
             
     | 
| 
      
 352 
     | 
    
         
            +
             
     | 
| 
       288 
353 
     | 
    
         
             
               Use the following macros/flags to set or process the returning
         
     | 
| 
       289 
354 
     | 
    
         
             
               states.
         
     | 
| 
       290 
     | 
    
         
            -
             
     | 
| 
      
 355 
     | 
    
         
            +
             
     | 
| 
       291 
356 
     | 
    
         
             
               In old versions of SWIG, code such as the following was usually written:
         
     | 
| 
       292 
357 
     | 
    
         | 
| 
       293 
358 
     | 
    
         
             
                 if (SWIG_ConvertPtr(obj,vptr,ty.flags) != -1) {
         
     | 
| 
         @@ -320,23 +385,23 @@ 
     | 
|
| 
       320 
385 
     | 
    
         
             
                } else {
         
     | 
| 
       321 
386 
     | 
    
         
             
                  // fail code
         
     | 
| 
       322 
387 
     | 
    
         
             
                }
         
     | 
| 
       323 
     | 
    
         
            -
             
     | 
| 
      
 388 
     | 
    
         
            +
             
     | 
| 
       324 
389 
     | 
    
         
             
               I.e., now SWIG_ConvertPtr can return new objects and you can
         
     | 
| 
       325 
390 
     | 
    
         
             
               identify the case and take care of the deallocation. Of course that
         
     | 
| 
       326 
391 
     | 
    
         
             
               also requires SWIG_ConvertPtr to return new result values, such as
         
     | 
| 
       327 
392 
     | 
    
         | 
| 
       328 
     | 
    
         
            -
                  int SWIG_ConvertPtr(obj, ptr,...) { 
     | 
| 
       329 
     | 
    
         
            -
                    if (<obj is ok>) { 
     | 
| 
       330 
     | 
    
         
            -
                      if (<need new object>) { 
     | 
| 
       331 
     | 
    
         
            -
                        *ptr = <ptr to new allocated object>; 
     | 
| 
       332 
     | 
    
         
            -
                        return SWIG_NEWOBJ; 
     | 
| 
       333 
     | 
    
         
            -
                      } else { 
     | 
| 
       334 
     | 
    
         
            -
                        *ptr = <ptr to old object>; 
     | 
| 
       335 
     | 
    
         
            -
                        return SWIG_OLDOBJ; 
     | 
| 
       336 
     | 
    
         
            -
                      } 
     | 
| 
       337 
     | 
    
         
            -
                    } else { 
     | 
| 
       338 
     | 
    
         
            -
                      return SWIG_BADOBJ; 
     | 
| 
       339 
     | 
    
         
            -
                    } 
     | 
| 
      
 393 
     | 
    
         
            +
                  int SWIG_ConvertPtr(obj, ptr,...) {
         
     | 
| 
      
 394 
     | 
    
         
            +
                    if (<obj is ok>) {
         
     | 
| 
      
 395 
     | 
    
         
            +
                      if (<need new object>) {
         
     | 
| 
      
 396 
     | 
    
         
            +
                        *ptr = <ptr to new allocated object>;
         
     | 
| 
      
 397 
     | 
    
         
            +
                        return SWIG_NEWOBJ;
         
     | 
| 
      
 398 
     | 
    
         
            +
                      } else {
         
     | 
| 
      
 399 
     | 
    
         
            +
                        *ptr = <ptr to old object>;
         
     | 
| 
      
 400 
     | 
    
         
            +
                        return SWIG_OLDOBJ;
         
     | 
| 
      
 401 
     | 
    
         
            +
                      }
         
     | 
| 
      
 402 
     | 
    
         
            +
                    } else {
         
     | 
| 
      
 403 
     | 
    
         
            +
                      return SWIG_BADOBJ;
         
     | 
| 
      
 404 
     | 
    
         
            +
                    }
         
     | 
| 
       340 
405 
     | 
    
         
             
                  }
         
     | 
| 
       341 
406 
     | 
    
         | 
| 
       342 
407 
     | 
    
         
             
               Of course, returning the plain '0(success)/-1(fail)' still works, but you can be
         
     | 
| 
         @@ -344,36 +409,42 @@ 
     | 
|
| 
       344 
409 
     | 
    
         
             
               SWIG errors code.
         
     | 
| 
       345 
410 
     | 
    
         | 
| 
       346 
411 
     | 
    
         
             
               Finally, if the SWIG_CASTRANK_MODE is enabled, the result code
         
     | 
| 
       347 
     | 
    
         
            -
               allows  
     | 
| 
      
 412 
     | 
    
         
            +
               allows returning the 'cast rank', for example, if you have this
         
     | 
| 
       348 
413 
     | 
    
         | 
| 
       349 
414 
     | 
    
         
             
                   int food(double)
         
     | 
| 
       350 
415 
     | 
    
         
             
                   int fooi(int);
         
     | 
| 
       351 
416 
     | 
    
         | 
| 
       352 
417 
     | 
    
         
             
               and you call
         
     | 
| 
       353 
     | 
    
         
            -
             
     | 
| 
      
 418 
     | 
    
         
            +
             
     | 
| 
       354 
419 
     | 
    
         
             
                  food(1)   // cast rank '1'  (1 -> 1.0)
         
     | 
| 
       355 
420 
     | 
    
         
             
                  fooi(1)   // cast rank '0'
         
     | 
| 
       356 
421 
     | 
    
         | 
| 
       357 
422 
     | 
    
         
             
               just use the SWIG_AddCast()/SWIG_CheckState()
         
     | 
| 
       358 
423 
     | 
    
         
             
            */
         
     | 
| 
       359 
424 
     | 
    
         | 
| 
       360 
     | 
    
         
            -
            #define SWIG_OK                    (0) 
     | 
| 
      
 425 
     | 
    
         
            +
            #define SWIG_OK                    (0)
         
     | 
| 
      
 426 
     | 
    
         
            +
            /* Runtime errors are < 0 */
         
     | 
| 
       361 
427 
     | 
    
         
             
            #define SWIG_ERROR                 (-1)
         
     | 
| 
      
 428 
     | 
    
         
            +
            /* Errors in range -1 to -99 are in swigerrors.swg (errors for all languages including those not using the runtime) */
         
     | 
| 
      
 429 
     | 
    
         
            +
            /* Errors in range -100 to -199 are language specific errors defined in *errors.swg */
         
     | 
| 
      
 430 
     | 
    
         
            +
            /* Errors < -200 are generic runtime specific errors */
         
     | 
| 
      
 431 
     | 
    
         
            +
            #define SWIG_ERROR_RELEASE_NOT_OWNED (-200)
         
     | 
| 
      
 432 
     | 
    
         
            +
             
     | 
| 
       362 
433 
     | 
    
         
             
            #define SWIG_IsOK(r)               (r >= 0)
         
     | 
| 
       363 
     | 
    
         
            -
            #define SWIG_ArgError(r)           ((r != SWIG_ERROR) ? r : SWIG_TypeError) 
     | 
| 
      
 434 
     | 
    
         
            +
            #define SWIG_ArgError(r)           ((r != SWIG_ERROR) ? r : SWIG_TypeError)
         
     | 
| 
       364 
435 
     | 
    
         | 
| 
       365 
436 
     | 
    
         
             
            /* The CastRankLimit says how many bits are used for the cast rank */
         
     | 
| 
       366 
437 
     | 
    
         
             
            #define SWIG_CASTRANKLIMIT         (1 << 8)
         
     | 
| 
       367 
438 
     | 
    
         
             
            /* The NewMask denotes the object was created (using new/malloc) */
         
     | 
| 
       368 
439 
     | 
    
         
             
            #define SWIG_NEWOBJMASK            (SWIG_CASTRANKLIMIT  << 1)
         
     | 
| 
       369 
     | 
    
         
            -
            /* The TmpMask is for in/out typemaps that use  
     | 
| 
      
 440 
     | 
    
         
            +
            /* The TmpMask is for in/out typemaps that use temporary objects */
         
     | 
| 
       370 
441 
     | 
    
         
             
            #define SWIG_TMPOBJMASK            (SWIG_NEWOBJMASK << 1)
         
     | 
| 
       371 
442 
     | 
    
         
             
            /* Simple returning values */
         
     | 
| 
       372 
443 
     | 
    
         
             
            #define SWIG_BADOBJ                (SWIG_ERROR)
         
     | 
| 
       373 
444 
     | 
    
         
             
            #define SWIG_OLDOBJ                (SWIG_OK)
         
     | 
| 
       374 
445 
     | 
    
         
             
            #define SWIG_NEWOBJ                (SWIG_OK | SWIG_NEWOBJMASK)
         
     | 
| 
       375 
446 
     | 
    
         
             
            #define SWIG_TMPOBJ                (SWIG_OK | SWIG_TMPOBJMASK)
         
     | 
| 
       376 
     | 
    
         
            -
            /* Check, add and del mask methods */
         
     | 
| 
      
 447 
     | 
    
         
            +
            /* Check, add and del object mask methods */
         
     | 
| 
       377 
448 
     | 
    
         
             
            #define SWIG_AddNewMask(r)         (SWIG_IsOK(r) ? (r | SWIG_NEWOBJMASK) : r)
         
     | 
| 
       378 
449 
     | 
    
         
             
            #define SWIG_DelNewMask(r)         (SWIG_IsOK(r) ? (r & ~SWIG_NEWOBJMASK) : r)
         
     | 
| 
       379 
450 
     | 
    
         
             
            #define SWIG_IsNewObj(r)           (SWIG_IsOK(r) && (r & SWIG_NEWOBJMASK))
         
     | 
| 
         @@ -391,14 +462,14 @@ 
     | 
|
| 
       391 
462 
     | 
    
         
             
            #  endif
         
     | 
| 
       392 
463 
     | 
    
         
             
            #  define SWIG_CASTRANKMASK          ((SWIG_CASTRANKLIMIT) -1)
         
     | 
| 
       393 
464 
     | 
    
         
             
            #  define SWIG_CastRank(r)           (r & SWIG_CASTRANKMASK)
         
     | 
| 
       394 
     | 
    
         
            -
            SWIGINTERNINLINE int SWIG_AddCast(int r) { 
     | 
| 
      
 465 
     | 
    
         
            +
            SWIGINTERNINLINE int SWIG_AddCast(int r) {
         
     | 
| 
       395 
466 
     | 
    
         
             
              return SWIG_IsOK(r) ? ((SWIG_CastRank(r) < SWIG_MAXCASTRANK) ? (r + 1) : SWIG_ERROR) : r;
         
     | 
| 
       396 
467 
     | 
    
         
             
            }
         
     | 
| 
       397 
     | 
    
         
            -
            SWIGINTERNINLINE int SWIG_CheckState(int r) { 
     | 
| 
       398 
     | 
    
         
            -
              return SWIG_IsOK(r) ? SWIG_CastRank(r) + 1 : 0; 
     | 
| 
      
 468 
     | 
    
         
            +
            SWIGINTERNINLINE int SWIG_CheckState(int r) {
         
     | 
| 
      
 469 
     | 
    
         
            +
              return SWIG_IsOK(r) ? SWIG_CastRank(r) + 1 : 0;
         
     | 
| 
       399 
470 
     | 
    
         
             
            }
         
     | 
| 
       400 
471 
     | 
    
         
             
            #else /* no cast-rank mode */
         
     | 
| 
       401 
     | 
    
         
            -
            #  define SWIG_AddCast
         
     | 
| 
      
 472 
     | 
    
         
            +
            #  define SWIG_AddCast(r) (r)
         
     | 
| 
       402 
473 
     | 
    
         
             
            #  define SWIG_CheckState(r) (SWIG_IsOK(r) ? 1 : 0)
         
     | 
| 
       403 
474 
     | 
    
         
             
            #endif
         
     | 
| 
       404 
475 
     | 
    
         | 
| 
         @@ -442,7 +513,7 @@ typedef struct swig_module_info { 
     | 
|
| 
       442 
513 
     | 
    
         
             
              void                    *clientdata;		/* Language specific module data */
         
     | 
| 
       443 
514 
     | 
    
         
             
            } swig_module_info;
         
     | 
| 
       444 
515 
     | 
    
         | 
| 
       445 
     | 
    
         
            -
            /* 
     | 
| 
      
 516 
     | 
    
         
            +
            /*
         
     | 
| 
       446 
517 
     | 
    
         
             
              Compare two type names skipping the space characters, therefore
         
     | 
| 
       447 
518 
     | 
    
         
             
              "char*" == "char *" and "Class<int>" == "Class<int >", etc.
         
     | 
| 
       448 
519 
     | 
    
         | 
| 
         @@ -462,18 +533,18 @@ SWIG_TypeNameComp(const char *f1, const char *l1, 
     | 
|
| 
       462 
533 
     | 
    
         | 
| 
       463 
534 
     | 
    
         
             
            /*
         
     | 
| 
       464 
535 
     | 
    
         
             
              Check type equivalence in a name list like <name1>|<name2>|...
         
     | 
| 
       465 
     | 
    
         
            -
              Return 0 if  
     | 
| 
      
 536 
     | 
    
         
            +
              Return 0 if equal, -1 if nb < tb, 1 if nb > tb
         
     | 
| 
       466 
537 
     | 
    
         
             
            */
         
     | 
| 
       467 
538 
     | 
    
         
             
            SWIGRUNTIME int
         
     | 
| 
       468 
     | 
    
         
            -
             
     | 
| 
       469 
     | 
    
         
            -
              int equiv =  
     | 
| 
      
 539 
     | 
    
         
            +
            SWIG_TypeCmp(const char *nb, const char *tb) {
         
     | 
| 
      
 540 
     | 
    
         
            +
              int equiv = 1;
         
     | 
| 
       470 
541 
     | 
    
         
             
              const char* te = tb + strlen(tb);
         
     | 
| 
       471 
542 
     | 
    
         
             
              const char* ne = nb;
         
     | 
| 
       472 
     | 
    
         
            -
              while ( 
     | 
| 
      
 543 
     | 
    
         
            +
              while (equiv != 0 && *ne) {
         
     | 
| 
       473 
544 
     | 
    
         
             
                for (nb = ne; *ne; ++ne) {
         
     | 
| 
       474 
545 
     | 
    
         
             
                  if (*ne == '|') break;
         
     | 
| 
       475 
546 
     | 
    
         
             
                }
         
     | 
| 
       476 
     | 
    
         
            -
                equiv =  
     | 
| 
      
 547 
     | 
    
         
            +
                equiv = SWIG_TypeNameComp(nb, ne, tb, te);
         
     | 
| 
       477 
548 
     | 
    
         
             
                if (*ne) ++ne;
         
     | 
| 
       478 
549 
     | 
    
         
             
              }
         
     | 
| 
       479 
550 
     | 
    
         
             
              return equiv;
         
     | 
| 
         @@ -481,24 +552,13 @@ SWIG_TypeEquiv(const char *nb, const char *tb) { 
     | 
|
| 
       481 
552 
     | 
    
         | 
| 
       482 
553 
     | 
    
         
             
            /*
         
     | 
| 
       483 
554 
     | 
    
         
             
              Check type equivalence in a name list like <name1>|<name2>|...
         
     | 
| 
       484 
     | 
    
         
            -
              Return 0 if equal,  
     | 
| 
      
 555 
     | 
    
         
            +
              Return 0 if not equal, 1 if equal
         
     | 
| 
       485 
556 
     | 
    
         
             
            */
         
     | 
| 
       486 
557 
     | 
    
         
             
            SWIGRUNTIME int
         
     | 
| 
       487 
     | 
    
         
            -
             
     | 
| 
       488 
     | 
    
         
            -
               
     | 
| 
       489 
     | 
    
         
            -
              const char* te = tb + strlen(tb);
         
     | 
| 
       490 
     | 
    
         
            -
              const char* ne = nb;
         
     | 
| 
       491 
     | 
    
         
            -
              while (!equiv && *ne) {
         
     | 
| 
       492 
     | 
    
         
            -
                for (nb = ne; *ne; ++ne) {
         
     | 
| 
       493 
     | 
    
         
            -
                  if (*ne == '|') break;
         
     | 
| 
       494 
     | 
    
         
            -
                }
         
     | 
| 
       495 
     | 
    
         
            -
                equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0;
         
     | 
| 
       496 
     | 
    
         
            -
                if (*ne) ++ne;
         
     | 
| 
       497 
     | 
    
         
            -
              }
         
     | 
| 
       498 
     | 
    
         
            -
              return equiv;
         
     | 
| 
      
 558 
     | 
    
         
            +
            SWIG_TypeEquiv(const char *nb, const char *tb) {
         
     | 
| 
      
 559 
     | 
    
         
            +
              return SWIG_TypeCmp(nb, tb) == 0 ? 1 : 0;
         
     | 
| 
       499 
560 
     | 
    
         
             
            }
         
     | 
| 
       500 
561 
     | 
    
         | 
| 
       501 
     | 
    
         
            -
             
     | 
| 
       502 
562 
     | 
    
         
             
            /*
         
     | 
| 
       503 
563 
     | 
    
         
             
              Check the typename
         
     | 
| 
       504 
564 
     | 
    
         
             
            */
         
     | 
| 
         @@ -526,11 +586,11 @@ SWIG_TypeCheck(const char *c, swig_type_info *ty) { 
     | 
|
| 
       526 
586 
     | 
    
         
             
              return 0;
         
     | 
| 
       527 
587 
     | 
    
         
             
            }
         
     | 
| 
       528 
588 
     | 
    
         | 
| 
       529 
     | 
    
         
            -
            /* 
     | 
| 
      
 589 
     | 
    
         
            +
            /*
         
     | 
| 
       530 
590 
     | 
    
         
             
              Identical to SWIG_TypeCheck, except strcmp is replaced with a pointer comparison
         
     | 
| 
       531 
591 
     | 
    
         
             
            */
         
     | 
| 
       532 
592 
     | 
    
         
             
            SWIGRUNTIME swig_cast_info *
         
     | 
| 
       533 
     | 
    
         
            -
            SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *ty) {
         
     | 
| 
      
 593 
     | 
    
         
            +
            SWIG_TypeCheckStruct(const swig_type_info *from, swig_type_info *ty) {
         
     | 
| 
       534 
594 
     | 
    
         
             
              if (ty) {
         
     | 
| 
       535 
595 
     | 
    
         
             
                swig_cast_info *iter = ty->cast;
         
     | 
| 
       536 
596 
     | 
    
         
             
                while (iter) {
         
     | 
| 
         @@ -561,7 +621,7 @@ SWIG_TypeCast(swig_cast_info *ty, void *ptr, int *newmemory) { 
     | 
|
| 
       561 
621 
     | 
    
         
             
              return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr, newmemory);
         
     | 
| 
       562 
622 
     | 
    
         
             
            }
         
     | 
| 
       563 
623 
     | 
    
         | 
| 
       564 
     | 
    
         
            -
            /* 
     | 
| 
      
 624 
     | 
    
         
            +
            /*
         
     | 
| 
       565 
625 
     | 
    
         
             
               Dynamic pointer casting. Down an inheritance hierarchy
         
     | 
| 
       566 
626 
     | 
    
         
             
            */
         
     | 
| 
       567 
627 
     | 
    
         
             
            SWIGRUNTIME swig_type_info *
         
     | 
| 
         @@ -590,9 +650,9 @@ SWIG_TypeName(const swig_type_info *ty) { 
     | 
|
| 
       590 
650 
     | 
    
         
             
            SWIGRUNTIME const char *
         
     | 
| 
       591 
651 
     | 
    
         
             
            SWIG_TypePrettyName(const swig_type_info *type) {
         
     | 
| 
       592 
652 
     | 
    
         
             
              /* The "str" field contains the equivalent pretty names of the
         
     | 
| 
       593 
     | 
    
         
            -
                 type, separated by vertical-bar characters.   
     | 
| 
       594 
     | 
    
         
            -
                  
     | 
| 
       595 
     | 
    
         
            -
                  
     | 
| 
      
 653 
     | 
    
         
            +
                 type, separated by vertical-bar characters.  Choose the last
         
     | 
| 
      
 654 
     | 
    
         
            +
                 name. It should be the most specific; a fully resolved name
         
     | 
| 
      
 655 
     | 
    
         
            +
                 but not necessarily with default template parameters expanded. */
         
     | 
| 
       596 
656 
     | 
    
         
             
              if (!type) return NULL;
         
     | 
| 
       597 
657 
     | 
    
         
             
              if (type->str != NULL) {
         
     | 
| 
       598 
658 
     | 
    
         
             
                const char *last_name = type->str;
         
     | 
| 
         @@ -605,7 +665,7 @@ SWIG_TypePrettyName(const swig_type_info *type) { 
     | 
|
| 
       605 
665 
     | 
    
         
             
                return type->name;
         
     | 
| 
       606 
666 
     | 
    
         
             
            }
         
     | 
| 
       607 
667 
     | 
    
         | 
| 
       608 
     | 
    
         
            -
            /* 
     | 
| 
      
 668 
     | 
    
         
            +
            /*
         
     | 
| 
       609 
669 
     | 
    
         
             
               Set the clientdata field for a type
         
     | 
| 
       610 
670 
     | 
    
         
             
            */
         
     | 
| 
       611 
671 
     | 
    
         
             
            SWIGRUNTIME void
         
     | 
| 
         @@ -613,14 +673,14 @@ SWIG_TypeClientData(swig_type_info *ti, void *clientdata) { 
     | 
|
| 
       613 
673 
     | 
    
         
             
              swig_cast_info *cast = ti->cast;
         
     | 
| 
       614 
674 
     | 
    
         
             
              /* if (ti->clientdata == clientdata) return; */
         
     | 
| 
       615 
675 
     | 
    
         
             
              ti->clientdata = clientdata;
         
     | 
| 
       616 
     | 
    
         
            -
             
     | 
| 
      
 676 
     | 
    
         
            +
             
     | 
| 
       617 
677 
     | 
    
         
             
              while (cast) {
         
     | 
| 
       618 
678 
     | 
    
         
             
                if (!cast->converter) {
         
     | 
| 
       619 
679 
     | 
    
         
             
                  swig_type_info *tc = cast->type;
         
     | 
| 
       620 
680 
     | 
    
         
             
                  if (!tc->clientdata) {
         
     | 
| 
       621 
681 
     | 
    
         
             
            	SWIG_TypeClientData(tc, clientdata);
         
     | 
| 
       622 
682 
     | 
    
         
             
                  }
         
     | 
| 
       623 
     | 
    
         
            -
                } 
     | 
| 
      
 683 
     | 
    
         
            +
                }
         
     | 
| 
       624 
684 
     | 
    
         
             
                cast = cast->next;
         
     | 
| 
       625 
685 
     | 
    
         
             
              }
         
     | 
| 
       626 
686 
     | 
    
         
             
            }
         
     | 
| 
         @@ -629,31 +689,31 @@ SWIG_TypeNewClientData(swig_type_info *ti, void *clientdata) { 
     | 
|
| 
       629 
689 
     | 
    
         
             
              SWIG_TypeClientData(ti, clientdata);
         
     | 
| 
       630 
690 
     | 
    
         
             
              ti->owndata = 1;
         
     | 
| 
       631 
691 
     | 
    
         
             
            }
         
     | 
| 
       632 
     | 
    
         
            -
             
     | 
| 
      
 692 
     | 
    
         
            +
             
     | 
| 
       633 
693 
     | 
    
         
             
            /*
         
     | 
| 
       634 
694 
     | 
    
         
             
              Search for a swig_type_info structure only by mangled name
         
     | 
| 
       635 
695 
     | 
    
         
             
              Search is a O(log #types)
         
     | 
| 
       636 
     | 
    
         
            -
             
     | 
| 
       637 
     | 
    
         
            -
              We start searching at module start, and finish searching when start == end. 
     | 
| 
      
 696 
     | 
    
         
            +
             
     | 
| 
      
 697 
     | 
    
         
            +
              We start searching at module start, and finish searching when start == end.
         
     | 
| 
       638 
698 
     | 
    
         
             
              Note: if start == end at the beginning of the function, we go all the way around
         
     | 
| 
       639 
699 
     | 
    
         
             
              the circular list.
         
     | 
| 
       640 
700 
     | 
    
         
             
            */
         
     | 
| 
       641 
701 
     | 
    
         
             
            SWIGRUNTIME swig_type_info *
         
     | 
| 
       642 
     | 
    
         
            -
            SWIG_MangledTypeQueryModule(swig_module_info *start, 
     | 
| 
       643 
     | 
    
         
            -
                                        swig_module_info *end, 
     | 
| 
      
 702 
     | 
    
         
            +
            SWIG_MangledTypeQueryModule(swig_module_info *start,
         
     | 
| 
      
 703 
     | 
    
         
            +
                                        swig_module_info *end,
         
     | 
| 
       644 
704 
     | 
    
         
             
            		            const char *name) {
         
     | 
| 
       645 
705 
     | 
    
         
             
              swig_module_info *iter = start;
         
     | 
| 
       646 
706 
     | 
    
         
             
              do {
         
     | 
| 
       647 
707 
     | 
    
         
             
                if (iter->size) {
         
     | 
| 
       648 
     | 
    
         
            -
                   
     | 
| 
       649 
     | 
    
         
            -
                   
     | 
| 
      
 708 
     | 
    
         
            +
                  size_t l = 0;
         
     | 
| 
      
 709 
     | 
    
         
            +
                  size_t r = iter->size - 1;
         
     | 
| 
       650 
710 
     | 
    
         
             
                  do {
         
     | 
| 
       651 
711 
     | 
    
         
             
            	/* since l+r >= 0, we can (>> 1) instead (/ 2) */
         
     | 
| 
       652 
     | 
    
         
            -
            	 
     | 
| 
      
 712 
     | 
    
         
            +
            	size_t i = (l + r) >> 1;
         
     | 
| 
       653 
713 
     | 
    
         
             
            	const char *iname = iter->types[i]->name;
         
     | 
| 
       654 
714 
     | 
    
         
             
            	if (iname) {
         
     | 
| 
       655 
     | 
    
         
            -
            	   
     | 
| 
       656 
     | 
    
         
            -
            	  if (compare == 0) { 
     | 
| 
      
 715 
     | 
    
         
            +
            	  int compare = strcmp(name, iname);
         
     | 
| 
      
 716 
     | 
    
         
            +
            	  if (compare == 0) {
         
     | 
| 
       657 
717 
     | 
    
         
             
            	    return iter->types[i];
         
     | 
| 
       658 
718 
     | 
    
         
             
            	  } else if (compare < 0) {
         
     | 
| 
       659 
719 
     | 
    
         
             
            	    if (i) {
         
     | 
| 
         @@ -678,14 +738,14 @@ SWIG_MangledTypeQueryModule(swig_module_info *start, 
     | 
|
| 
       678 
738 
     | 
    
         
             
              Search for a swig_type_info structure for either a mangled name or a human readable name.
         
     | 
| 
       679 
739 
     | 
    
         
             
              It first searches the mangled names of the types, which is a O(log #types)
         
     | 
| 
       680 
740 
     | 
    
         
             
              If a type is not found it then searches the human readable names, which is O(#types).
         
     | 
| 
       681 
     | 
    
         
            -
             
     | 
| 
       682 
     | 
    
         
            -
              We start searching at module start, and finish searching when start == end. 
     | 
| 
      
 741 
     | 
    
         
            +
             
     | 
| 
      
 742 
     | 
    
         
            +
              We start searching at module start, and finish searching when start == end.
         
     | 
| 
       683 
743 
     | 
    
         
             
              Note: if start == end at the beginning of the function, we go all the way around
         
     | 
| 
       684 
744 
     | 
    
         
             
              the circular list.
         
     | 
| 
       685 
745 
     | 
    
         
             
            */
         
     | 
| 
       686 
746 
     | 
    
         
             
            SWIGRUNTIME swig_type_info *
         
     | 
| 
       687 
     | 
    
         
            -
            SWIG_TypeQueryModule(swig_module_info *start, 
     | 
| 
       688 
     | 
    
         
            -
                                 swig_module_info *end, 
     | 
| 
      
 747 
     | 
    
         
            +
            SWIG_TypeQueryModule(swig_module_info *start,
         
     | 
| 
      
 748 
     | 
    
         
            +
                                 swig_module_info *end,
         
     | 
| 
       689 
749 
     | 
    
         
             
            		     const char *name) {
         
     | 
| 
       690 
750 
     | 
    
         
             
              /* STEP 1: Search the name field using binary search */
         
     | 
| 
       691 
751 
     | 
    
         
             
              swig_type_info *ret = SWIG_MangledTypeQueryModule(start, end, name);
         
     | 
| 
         @@ -696,7 +756,7 @@ SWIG_TypeQueryModule(swig_module_info *start, 
     | 
|
| 
       696 
756 
     | 
    
         
             
                   of the str field (the human readable name) */
         
     | 
| 
       697 
757 
     | 
    
         
             
                swig_module_info *iter = start;
         
     | 
| 
       698 
758 
     | 
    
         
             
                do {
         
     | 
| 
       699 
     | 
    
         
            -
                   
     | 
| 
      
 759 
     | 
    
         
            +
                  size_t i = 0;
         
     | 
| 
       700 
760 
     | 
    
         
             
                  for (; i < iter->size; ++i) {
         
     | 
| 
       701 
761 
     | 
    
         
             
            	if (iter->types[i]->str && (SWIG_TypeEquiv(iter->types[i]->str, name)))
         
     | 
| 
       702 
762 
     | 
    
         
             
            	  return iter->types[i];
         
     | 
| 
         @@ -704,56 +764,56 @@ SWIG_TypeQueryModule(swig_module_info *start, 
     | 
|
| 
       704 
764 
     | 
    
         
             
                  iter = iter->next;
         
     | 
| 
       705 
765 
     | 
    
         
             
                } while (iter != end);
         
     | 
| 
       706 
766 
     | 
    
         
             
              }
         
     | 
| 
       707 
     | 
    
         
            -
             
     | 
| 
      
 767 
     | 
    
         
            +
             
     | 
| 
       708 
768 
     | 
    
         
             
              /* neither found a match */
         
     | 
| 
       709 
769 
     | 
    
         
             
              return 0;
         
     | 
| 
       710 
770 
     | 
    
         
             
            }
         
     | 
| 
       711 
771 
     | 
    
         | 
| 
       712 
     | 
    
         
            -
            /* 
     | 
| 
      
 772 
     | 
    
         
            +
            /*
         
     | 
| 
       713 
773 
     | 
    
         
             
               Pack binary data into a string
         
     | 
| 
       714 
774 
     | 
    
         
             
            */
         
     | 
| 
       715 
775 
     | 
    
         
             
            SWIGRUNTIME char *
         
     | 
| 
       716 
776 
     | 
    
         
             
            SWIG_PackData(char *c, void *ptr, size_t sz) {
         
     | 
| 
       717 
777 
     | 
    
         
             
              static const char hex[17] = "0123456789abcdef";
         
     | 
| 
       718 
     | 
    
         
            -
               
     | 
| 
       719 
     | 
    
         
            -
               
     | 
| 
      
 778 
     | 
    
         
            +
              const unsigned char *u = (unsigned char *) ptr;
         
     | 
| 
      
 779 
     | 
    
         
            +
              const unsigned char *eu =  u + sz;
         
     | 
| 
       720 
780 
     | 
    
         
             
              for (; u != eu; ++u) {
         
     | 
| 
       721 
     | 
    
         
            -
                 
     | 
| 
      
 781 
     | 
    
         
            +
                unsigned char uu = *u;
         
     | 
| 
       722 
782 
     | 
    
         
             
                *(c++) = hex[(uu & 0xf0) >> 4];
         
     | 
| 
       723 
783 
     | 
    
         
             
                *(c++) = hex[uu & 0xf];
         
     | 
| 
       724 
784 
     | 
    
         
             
              }
         
     | 
| 
       725 
785 
     | 
    
         
             
              return c;
         
     | 
| 
       726 
786 
     | 
    
         
             
            }
         
     | 
| 
       727 
787 
     | 
    
         | 
| 
       728 
     | 
    
         
            -
            /* 
     | 
| 
      
 788 
     | 
    
         
            +
            /*
         
     | 
| 
       729 
789 
     | 
    
         
             
               Unpack binary data from a string
         
     | 
| 
       730 
790 
     | 
    
         
             
            */
         
     | 
| 
       731 
791 
     | 
    
         
             
            SWIGRUNTIME const char *
         
     | 
| 
       732 
792 
     | 
    
         
             
            SWIG_UnpackData(const char *c, void *ptr, size_t sz) {
         
     | 
| 
       733 
     | 
    
         
            -
               
     | 
| 
       734 
     | 
    
         
            -
               
     | 
| 
      
 793 
     | 
    
         
            +
              unsigned char *u = (unsigned char *) ptr;
         
     | 
| 
      
 794 
     | 
    
         
            +
              const unsigned char *eu = u + sz;
         
     | 
| 
       735 
795 
     | 
    
         
             
              for (; u != eu; ++u) {
         
     | 
| 
       736 
     | 
    
         
            -
                 
     | 
| 
       737 
     | 
    
         
            -
                 
     | 
| 
      
 796 
     | 
    
         
            +
                char d = *(c++);
         
     | 
| 
      
 797 
     | 
    
         
            +
                unsigned char uu;
         
     | 
| 
       738 
798 
     | 
    
         
             
                if ((d >= '0') && (d <= '9'))
         
     | 
| 
       739 
     | 
    
         
            -
                  uu = ((d - '0') << 4);
         
     | 
| 
      
 799 
     | 
    
         
            +
                  uu = (unsigned char)((d - '0') << 4);
         
     | 
| 
       740 
800 
     | 
    
         
             
                else if ((d >= 'a') && (d <= 'f'))
         
     | 
| 
       741 
     | 
    
         
            -
                  uu = ((d - ('a'-10)) << 4);
         
     | 
| 
       742 
     | 
    
         
            -
                else 
     | 
| 
      
 801 
     | 
    
         
            +
                  uu = (unsigned char)((d - ('a'-10)) << 4);
         
     | 
| 
      
 802 
     | 
    
         
            +
                else
         
     | 
| 
       743 
803 
     | 
    
         
             
                  return (char *) 0;
         
     | 
| 
       744 
804 
     | 
    
         
             
                d = *(c++);
         
     | 
| 
       745 
805 
     | 
    
         
             
                if ((d >= '0') && (d <= '9'))
         
     | 
| 
       746 
     | 
    
         
            -
                  uu |= (d - '0');
         
     | 
| 
      
 806 
     | 
    
         
            +
                  uu |= (unsigned char)(d - '0');
         
     | 
| 
       747 
807 
     | 
    
         
             
                else if ((d >= 'a') && (d <= 'f'))
         
     | 
| 
       748 
     | 
    
         
            -
                  uu |= (d - ('a'-10));
         
     | 
| 
       749 
     | 
    
         
            -
                else 
     | 
| 
      
 808 
     | 
    
         
            +
                  uu |= (unsigned char)(d - ('a'-10));
         
     | 
| 
      
 809 
     | 
    
         
            +
                else
         
     | 
| 
       750 
810 
     | 
    
         
             
                  return (char *) 0;
         
     | 
| 
       751 
811 
     | 
    
         
             
                *u = uu;
         
     | 
| 
       752 
812 
     | 
    
         
             
              }
         
     | 
| 
       753 
813 
     | 
    
         
             
              return c;
         
     | 
| 
       754 
814 
     | 
    
         
             
            }
         
     | 
| 
       755 
815 
     | 
    
         | 
| 
       756 
     | 
    
         
            -
            /* 
     | 
| 
      
 816 
     | 
    
         
            +
            /*
         
     | 
| 
       757 
817 
     | 
    
         
             
               Pack 'void *' into a string buffer.
         
     | 
| 
       758 
818 
     | 
    
         
             
            */
         
     | 
| 
       759 
819 
     | 
    
         
             
            SWIGRUNTIME char *
         
     | 
| 
         @@ -812,24 +872,41 @@ SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) { 
     | 
|
| 
       812 
872 
     | 
    
         
             
            }
         
     | 
| 
       813 
873 
     | 
    
         
             
            #endif
         
     | 
| 
       814 
874 
     | 
    
         | 
| 
       815 
     | 
    
         
            -
            /* 
     | 
| 
       816 
     | 
    
         
            -
            #define  SWIG_UnknownError    	   -1 
     | 
| 
       817 
     | 
    
         
            -
            #define  SWIG_IOError        	   -2 
     | 
| 
       818 
     | 
    
         
            -
            #define  SWIG_RuntimeError   	   -3 
     | 
| 
       819 
     | 
    
         
            -
            #define  SWIG_IndexError     	   -4 
     | 
| 
       820 
     | 
    
         
            -
            #define  SWIG_TypeError      	   -5 
     | 
| 
       821 
     | 
    
         
            -
            #define  SWIG_DivisionByZero 	   -6 
     | 
| 
       822 
     | 
    
         
            -
            #define  SWIG_OverflowError  	   -7 
     | 
| 
       823 
     | 
    
         
            -
            #define  SWIG_SyntaxError    	   -8 
     | 
| 
       824 
     | 
    
         
            -
            #define  SWIG_ValueError     	   -9 
     | 
| 
      
 875 
     | 
    
         
            +
            /* SWIG Errors applicable to all language modules, values are reserved from -1 to -99 */
         
     | 
| 
      
 876 
     | 
    
         
            +
            #define  SWIG_UnknownError    	   -1
         
     | 
| 
      
 877 
     | 
    
         
            +
            #define  SWIG_IOError        	   -2
         
     | 
| 
      
 878 
     | 
    
         
            +
            #define  SWIG_RuntimeError   	   -3
         
     | 
| 
      
 879 
     | 
    
         
            +
            #define  SWIG_IndexError     	   -4
         
     | 
| 
      
 880 
     | 
    
         
            +
            #define  SWIG_TypeError      	   -5
         
     | 
| 
      
 881 
     | 
    
         
            +
            #define  SWIG_DivisionByZero 	   -6
         
     | 
| 
      
 882 
     | 
    
         
            +
            #define  SWIG_OverflowError  	   -7
         
     | 
| 
      
 883 
     | 
    
         
            +
            #define  SWIG_SyntaxError    	   -8
         
     | 
| 
      
 884 
     | 
    
         
            +
            #define  SWIG_ValueError     	   -9
         
     | 
| 
       825 
885 
     | 
    
         
             
            #define  SWIG_SystemError    	   -10
         
     | 
| 
       826 
886 
     | 
    
         
             
            #define  SWIG_AttributeError 	   -11
         
     | 
| 
       827 
     | 
    
         
            -
            #define  SWIG_MemoryError    	   -12 
     | 
| 
      
 887 
     | 
    
         
            +
            #define  SWIG_MemoryError    	   -12
         
     | 
| 
       828 
888 
     | 
    
         
             
            #define  SWIG_NullReferenceError   -13
         
     | 
| 
       829 
889 
     | 
    
         | 
| 
       830 
890 
     | 
    
         | 
| 
      
 891 
     | 
    
         
            +
            #if __GNUC__ >= 7
         
     | 
| 
      
 892 
     | 
    
         
            +
            #pragma GCC diagnostic push
         
     | 
| 
      
 893 
     | 
    
         
            +
            #if defined(__cplusplus)
         
     | 
| 
      
 894 
     | 
    
         
            +
            #pragma GCC diagnostic ignored "-Wregister"
         
     | 
| 
      
 895 
     | 
    
         
            +
            #if __GNUC__ >= 10
         
     | 
| 
      
 896 
     | 
    
         
            +
            #pragma GCC diagnostic ignored "-Wvolatile"
         
     | 
| 
      
 897 
     | 
    
         
            +
            #if __GNUC__ >= 11
         
     | 
| 
      
 898 
     | 
    
         
            +
            #pragma GCC diagnostic ignored "-Wdeprecated-enum-enum-conversion"
         
     | 
| 
      
 899 
     | 
    
         
            +
            #endif
         
     | 
| 
      
 900 
     | 
    
         
            +
            #endif
         
     | 
| 
      
 901 
     | 
    
         
            +
            #endif
         
     | 
| 
      
 902 
     | 
    
         
            +
            #endif
         
     | 
| 
       831 
903 
     | 
    
         | 
| 
       832 
904 
     | 
    
         
             
            #include <ruby.h>
         
     | 
| 
      
 905 
     | 
    
         
            +
            #include <ruby/version.h> /* For RUBY_API_VERSION_CODE */
         
     | 
| 
      
 906 
     | 
    
         
            +
             
     | 
| 
      
 907 
     | 
    
         
            +
            #if __GNUC__ >= 7
         
     | 
| 
      
 908 
     | 
    
         
            +
            #pragma GCC diagnostic pop
         
     | 
| 
      
 909 
     | 
    
         
            +
            #endif
         
     | 
| 
       833 
910 
     | 
    
         | 
| 
       834 
911 
     | 
    
         
             
            /* Ruby 1.9.1 has a "memoisation optimisation" when compiling with GCC which
         
     | 
| 
       835 
912 
     | 
    
         
             
             * breaks using rb_intern as an lvalue, as SWIG does.  We work around this
         
     | 
| 
         @@ -922,42 +999,53 @@ SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) { 
     | 
|
| 
       922 
999 
     | 
    
         
             
            #ifndef RSTRUCT_PTR
         
     | 
| 
       923 
1000 
     | 
    
         
             
            # define RSTRUCT_PTR(x) RSTRUCT(x)->ptr
         
     | 
| 
       924 
1001 
     | 
    
         
             
            #endif
         
     | 
| 
      
 1002 
     | 
    
         
            +
            #ifndef RTYPEDDATA_P
         
     | 
| 
      
 1003 
     | 
    
         
            +
            # define RTYPEDDATA_P(x) (TYPE(x) != T_DATA)
         
     | 
| 
      
 1004 
     | 
    
         
            +
            #endif
         
     | 
| 
       925 
1005 
     | 
    
         | 
| 
       926 
1006 
     | 
    
         | 
| 
       927 
1007 
     | 
    
         | 
| 
       928 
1008 
     | 
    
         
             
            /*
         
     | 
| 
       929 
     | 
    
         
            -
             *  
     | 
| 
       930 
     | 
    
         
            -
             *  
     | 
| 
      
 1009 
     | 
    
         
            +
             * The following macros are used for providing the correct type of a
         
     | 
| 
      
 1010 
     | 
    
         
            +
             * function pointer to the Ruby C API.
         
     | 
| 
      
 1011 
     | 
    
         
            +
             *
         
     | 
| 
      
 1012 
     | 
    
         
            +
             * Starting with Ruby 2.7 these macros act transparently due to Ruby's moving
         
     | 
| 
      
 1013 
     | 
    
         
            +
             * moving away from ANYARGS and instead employing strict function signatures.
         
     | 
| 
       931 
1014 
     | 
    
         
             
             *
         
     | 
| 
       932 
     | 
    
         
            -
             *  
     | 
| 
       933 
     | 
    
         
            -
             *  
     | 
| 
       934 
     | 
    
         
            -
             *  
     | 
| 
      
 1015 
     | 
    
         
            +
             * Note: In case of C (not C++) the macros are transparent even before
         
     | 
| 
      
 1016 
     | 
    
         
            +
             * Ruby 2.7 due to the fact that the Ruby C API used function declarators
         
     | 
| 
      
 1017 
     | 
    
         
            +
             * with empty parentheses, which allows for an unspecified number of
         
     | 
| 
      
 1018 
     | 
    
         
            +
             * arguments.
         
     | 
| 
       935 
1019 
     | 
    
         
             
             *
         
     | 
| 
       936 
     | 
    
         
            -
             *  
     | 
| 
       937 
     | 
    
         
            -
             *  
     | 
| 
       938 
     | 
    
         
            -
             * 
     | 
| 
      
 1020 
     | 
    
         
            +
             * PROTECTFUNC(f) is used for the function pointer argument of the Ruby
         
     | 
| 
      
 1021 
     | 
    
         
            +
             * C API function rb_protect().
         
     | 
| 
      
 1022 
     | 
    
         
            +
             *
         
     | 
| 
      
 1023 
     | 
    
         
            +
             * VALUEFUNC(f) is used for the function pointer argument(s) of Ruby C API
         
     | 
| 
      
 1024 
     | 
    
         
            +
             * functions like rb_define_method() and rb_define_singleton_method().
         
     | 
| 
      
 1025 
     | 
    
         
            +
             *
         
     | 
| 
      
 1026 
     | 
    
         
            +
             * VOIDFUNC(f) is used to typecast a C function that implements either
         
     | 
| 
      
 1027 
     | 
    
         
            +
             * the "mark" or "free" stuff for a Ruby Data object, so that it can be
         
     | 
| 
      
 1028 
     | 
    
         
            +
             * passed as an argument to Ruby C API functions like Data_Wrap_Struct()
         
     | 
| 
       939 
1029 
     | 
    
         
             
             * and Data_Make_Struct().
         
     | 
| 
      
 1030 
     | 
    
         
            +
             *
         
     | 
| 
      
 1031 
     | 
    
         
            +
             * SWIG_RUBY_VOID_ANYARGS_FUNC(f) is used for the function pointer
         
     | 
| 
      
 1032 
     | 
    
         
            +
             * argument(s) of Ruby C API functions like rb_define_virtual_variable().
         
     | 
| 
      
 1033 
     | 
    
         
            +
             *
         
     | 
| 
      
 1034 
     | 
    
         
            +
             * SWIG_RUBY_INT_ANYARGS_FUNC(f) is used for the function pointer
         
     | 
| 
      
 1035 
     | 
    
         
            +
             * argument(s) of Ruby C API functions like st_foreach().
         
     | 
| 
       940 
1036 
     | 
    
         
             
             */
         
     | 
| 
       941 
     | 
    
         
            -
             
         
     | 
| 
       942 
     | 
    
         
            -
            # 
     | 
| 
       943 
     | 
    
         
            -
            #   
     | 
| 
       944 
     | 
    
         
            -
            # 
     | 
| 
       945 
     | 
    
         
            -
            # 
     | 
| 
       946 
     | 
    
         
            -
            # 
     | 
| 
       947 
     | 
    
         
            -
            #  else
         
     | 
| 
       948 
     | 
    
         
            -
            #    ifndef ANYARGS /* These definitions should work for Ruby 1.6 */
         
     | 
| 
       949 
     | 
    
         
            -
            #      define PROTECTFUNC(f) ((VALUE (*)()) f)
         
     | 
| 
       950 
     | 
    
         
            -
            #      define VALUEFUNC(f) ((VALUE (*)()) f)
         
     | 
| 
       951 
     | 
    
         
            -
            #      define VOIDFUNC(f)  ((RUBY_DATA_FUNC) f)
         
     | 
| 
       952 
     | 
    
         
            -
            #    else /* These definitions should work for Ruby 1.7+ */
         
     | 
| 
       953 
     | 
    
         
            -
            #      define PROTECTFUNC(f) ((VALUE (*)(VALUE)) f)
         
     | 
| 
       954 
     | 
    
         
            -
            #      define VALUEFUNC(f) ((VALUE (*)(ANYARGS)) f)
         
     | 
| 
       955 
     | 
    
         
            -
            #      define VOIDFUNC(f)  ((RUBY_DATA_FUNC) f)
         
     | 
| 
       956 
     | 
    
         
            -
            #    endif
         
     | 
| 
       957 
     | 
    
         
            -
            #  endif
         
     | 
| 
      
 1037 
     | 
    
         
            +
            #if defined(__cplusplus) && RUBY_API_VERSION_CODE < 20700
         
     | 
| 
      
 1038 
     | 
    
         
            +
            #  define PROTECTFUNC(f) ((VALUE (*)(VALUE)) f)
         
     | 
| 
      
 1039 
     | 
    
         
            +
            #  define VALUEFUNC(f) ((VALUE (*)(ANYARGS)) f)
         
     | 
| 
      
 1040 
     | 
    
         
            +
            #  define VOIDFUNC(f) ((RUBY_DATA_FUNC) f)
         
     | 
| 
      
 1041 
     | 
    
         
            +
            #  define SWIG_RUBY_VOID_ANYARGS_FUNC(f) ((void (*)(ANYARGS))(f))
         
     | 
| 
      
 1042 
     | 
    
         
            +
            #  define SWIG_RUBY_INT_ANYARGS_FUNC(f) ((int (*)(ANYARGS))(f))
         
     | 
| 
       958 
1043 
     | 
    
         
             
            #else
         
     | 
| 
      
 1044 
     | 
    
         
            +
            #  define PROTECTFUNC(f) (f)
         
     | 
| 
       959 
1045 
     | 
    
         
             
            #  define VALUEFUNC(f) (f)
         
     | 
| 
       960 
1046 
     | 
    
         
             
            #  define VOIDFUNC(f) (f)
         
     | 
| 
      
 1047 
     | 
    
         
            +
            #  define SWIG_RUBY_VOID_ANYARGS_FUNC(f) (f)
         
     | 
| 
      
 1048 
     | 
    
         
            +
            #  define SWIG_RUBY_INT_ANYARGS_FUNC(f) (f)
         
     | 
| 
       961 
1049 
     | 
    
         
             
            #endif
         
     | 
| 
       962 
1050 
     | 
    
         | 
| 
       963 
1051 
     | 
    
         
             
            /* Don't use for expressions have side effect */
         
     | 
| 
         @@ -1099,7 +1187,7 @@ const char* Ruby_Format_TypeError( const char* msg, 
     | 
|
| 
       1099 
1187 
     | 
    
         
             
                }
         
     | 
| 
       1100 
1188 
     | 
    
         | 
| 
       1101 
1189 
     | 
    
         
             
              str = rb_str_cat2( str, "Expected argument " );
         
     | 
| 
       1102 
     | 
    
         
            -
               
     | 
| 
      
 1190 
     | 
    
         
            +
              SWIG_snprintf( buf, sizeof( buf), "%d of type ", argn-1 );
         
     | 
| 
       1103 
1191 
     | 
    
         
             
              str = rb_str_cat2( str, buf );
         
     | 
| 
       1104 
1192 
     | 
    
         
             
              str = rb_str_cat2( str, type );
         
     | 
| 
       1105 
1193 
     | 
    
         
             
              str = rb_str_cat2( str, ", but got " );
         
     | 
| 
         @@ -1145,7 +1233,7 @@ void Ruby_Format_OverloadedError( 
     | 
|
| 
       1145 
1233 
     | 
    
         
             
            /* -----------------------------------------------------------------------------
         
     | 
| 
       1146 
1234 
     | 
    
         
             
             * rubytracking.swg
         
     | 
| 
       1147 
1235 
     | 
    
         
             
             *
         
     | 
| 
       1148 
     | 
    
         
            -
             * This file contains support for tracking mappings from 
     | 
| 
      
 1236 
     | 
    
         
            +
             * This file contains support for tracking mappings from
         
     | 
| 
       1149 
1237 
     | 
    
         
             
             * Ruby objects to C++ objects.  This functionality is needed
         
     | 
| 
       1150 
1238 
     | 
    
         
             
             * to implement mark functions for Ruby's mark and sweep
         
     | 
| 
       1151 
1239 
     | 
    
         
             
             * garbage collector.
         
     | 
| 
         @@ -1155,6 +1243,11 @@ void Ruby_Format_OverloadedError( 
     | 
|
| 
       1155 
1243 
     | 
    
         
             
            extern "C" {
         
     | 
| 
       1156 
1244 
     | 
    
         
             
            #endif
         
     | 
| 
       1157 
1245 
     | 
    
         | 
| 
      
 1246 
     | 
    
         
            +
            #if !defined(ST_DATA_T_DEFINED)
         
     | 
| 
      
 1247 
     | 
    
         
            +
            /* Needs to be explicitly included for Ruby 1.8 and earlier */
         
     | 
| 
      
 1248 
     | 
    
         
            +
            #include <st.h>
         
     | 
| 
      
 1249 
     | 
    
         
            +
            #endif
         
     | 
| 
      
 1250 
     | 
    
         
            +
             
     | 
| 
       1158 
1251 
     | 
    
         
             
            /* Ruby 1.8 actually assumes the first case. */
         
     | 
| 
       1159 
1252 
     | 
    
         
             
            #if SIZEOF_VOIDP == SIZEOF_LONG
         
     | 
| 
       1160 
1253 
     | 
    
         
             
            #  define SWIG2NUM(v) LONG2NUM((unsigned long)v)
         
     | 
| 
         @@ -1166,109 +1259,69 @@ extern "C" { 
     | 
|
| 
       1166 
1259 
     | 
    
         
             
            #  error sizeof(void*) is not the same as long or long long
         
     | 
| 
       1167 
1260 
     | 
    
         
             
            #endif
         
     | 
| 
       1168 
1261 
     | 
    
         | 
| 
       1169 
     | 
    
         
            -
             
     | 
| 
       1170 
     | 
    
         
            -
             
     | 
| 
       1171 
     | 
    
         
            -
               structs to Ruby Objects. 
         
     | 
| 
      
 1262 
     | 
    
         
            +
            /* Global hash table to store Trackings from C/C++
         
     | 
| 
      
 1263 
     | 
    
         
            +
               structs to Ruby Objects.
         
     | 
| 
       1172 
1264 
     | 
    
         
             
            */
         
     | 
| 
       1173 
     | 
    
         
            -
            static  
     | 
| 
      
 1265 
     | 
    
         
            +
            static st_table* swig_ruby_trackings = NULL;
         
     | 
| 
       1174 
1266 
     | 
    
         | 
| 
       1175 
     | 
    
         
            -
             
     | 
| 
       1176 
     | 
    
         
            -
             
     | 
| 
       1177 
     | 
    
         
            -
             
     | 
| 
      
 1267 
     | 
    
         
            +
            static VALUE swig_ruby_trackings_count(ID id, VALUE *var) {
         
     | 
| 
      
 1268 
     | 
    
         
            +
              return SWIG2NUM(swig_ruby_trackings->num_entries);
         
     | 
| 
      
 1269 
     | 
    
         
            +
            }
         
     | 
| 
       1178 
1270 
     | 
    
         | 
| 
       1179 
     | 
    
         
            -
             
     | 
| 
      
 1271 
     | 
    
         
            +
             
     | 
| 
      
 1272 
     | 
    
         
            +
            /* Setup a hash table to store Trackings */
         
     | 
| 
       1180 
1273 
     | 
    
         
             
            SWIGRUNTIME void SWIG_RubyInitializeTrackings(void) {
         
     | 
| 
       1181 
     | 
    
         
            -
              /* Create a  
     | 
| 
      
 1274 
     | 
    
         
            +
              /* Create a hash table to store Trackings from C++
         
     | 
| 
       1182 
1275 
     | 
    
         
             
                 objects to Ruby objects. */
         
     | 
| 
       1183 
1276 
     | 
    
         | 
| 
       1184 
     | 
    
         
            -
              /* Try to see if some other .so has already created a 
     | 
| 
      
 1277 
     | 
    
         
            +
              /* Try to see if some other .so has already created a
         
     | 
| 
       1185 
1278 
     | 
    
         
             
                 tracking hash table, which we keep hidden in an instance var
         
     | 
| 
       1186 
1279 
     | 
    
         
             
                 in the SWIG module.
         
     | 
| 
       1187 
1280 
     | 
    
         
             
                 This is done to allow multiple DSOs to share the same
         
     | 
| 
       1188 
1281 
     | 
    
         
             
                 tracking table.
         
     | 
| 
       1189 
1282 
     | 
    
         
             
              */
         
     | 
| 
       1190 
     | 
    
         
            -
               
     | 
| 
      
 1283 
     | 
    
         
            +
              VALUE trackings_value = Qnil;
         
     | 
| 
      
 1284 
     | 
    
         
            +
              /* change the variable name so that we can mix modules
         
     | 
| 
      
 1285 
     | 
    
         
            +
                 compiled with older SWIG's - this used to be called "@__trackings__" */
         
     | 
| 
      
 1286 
     | 
    
         
            +
              ID trackings_id = rb_intern( "@__safetrackings__" );
         
     | 
| 
       1191 
1287 
     | 
    
         
             
              VALUE verbose = rb_gv_get("VERBOSE");
         
     | 
| 
       1192 
1288 
     | 
    
         
             
              rb_gv_set("VERBOSE", Qfalse);
         
     | 
| 
       1193 
     | 
    
         
            -
               
     | 
| 
      
 1289 
     | 
    
         
            +
              trackings_value = rb_ivar_get( _mSWIG, trackings_id );
         
     | 
| 
       1194 
1290 
     | 
    
         
             
              rb_gv_set("VERBOSE", verbose);
         
     | 
| 
       1195 
1291 
     | 
    
         | 
| 
       1196 
     | 
    
         
            -
              /*  
     | 
| 
       1197 
     | 
    
         
            -
               
     | 
| 
       1198 
     | 
    
         
            -
             
     | 
| 
       1199 
     | 
    
         
            -
             
     | 
| 
       1200 
     | 
    
         
            -
             
     | 
| 
       1201 
     | 
    
         
            -
                 
     | 
| 
       1202 
     | 
    
         
            -
             
     | 
| 
       1203 
     | 
    
         
            -
             
     | 
| 
       1204 
     | 
    
         
            -
             
     | 
| 
       1205 
     | 
    
         
            -
             
     | 
| 
       1206 
     | 
    
         
            -
            }
         
     | 
| 
       1207 
     | 
    
         
            -
             
     | 
| 
       1208 
     | 
    
         
            -
            /* Get a Ruby number to reference a pointer */
         
     | 
| 
       1209 
     | 
    
         
            -
            SWIGRUNTIME VALUE SWIG_RubyPtrToReference(void* ptr) {
         
     | 
| 
       1210 
     | 
    
         
            -
              /* We cast the pointer to an unsigned long
         
     | 
| 
       1211 
     | 
    
         
            -
                 and then store a reference to it using
         
     | 
| 
       1212 
     | 
    
         
            -
                 a Ruby number object. */
         
     | 
| 
       1213 
     | 
    
         
            -
             
     | 
| 
       1214 
     | 
    
         
            -
              /* Convert the pointer to a Ruby number */
         
     | 
| 
       1215 
     | 
    
         
            -
              return SWIG2NUM(ptr);
         
     | 
| 
       1216 
     | 
    
         
            -
            }
         
     | 
| 
       1217 
     | 
    
         
            -
             
     | 
| 
       1218 
     | 
    
         
            -
            /* Get a Ruby number to reference an object */
         
     | 
| 
       1219 
     | 
    
         
            -
            SWIGRUNTIME VALUE SWIG_RubyObjectToReference(VALUE object) {
         
     | 
| 
       1220 
     | 
    
         
            -
              /* We cast the object to an unsigned long
         
     | 
| 
       1221 
     | 
    
         
            -
                 and then store a reference to it using
         
     | 
| 
       1222 
     | 
    
         
            -
                 a Ruby number object. */
         
     | 
| 
       1223 
     | 
    
         
            -
             
     | 
| 
       1224 
     | 
    
         
            -
              /* Convert the Object to a Ruby number */
         
     | 
| 
       1225 
     | 
    
         
            -
              return SWIG2NUM(object);
         
     | 
| 
       1226 
     | 
    
         
            -
            }
         
     | 
| 
       1227 
     | 
    
         
            -
             
     | 
| 
       1228 
     | 
    
         
            -
            /* Get a Ruby object from a previously stored reference */
         
     | 
| 
       1229 
     | 
    
         
            -
            SWIGRUNTIME VALUE SWIG_RubyReferenceToObject(VALUE reference) {
         
     | 
| 
       1230 
     | 
    
         
            -
              /* The provided Ruby number object is a reference
         
     | 
| 
       1231 
     | 
    
         
            -
                 to the Ruby object we want.*/
         
     | 
| 
      
 1292 
     | 
    
         
            +
              /* The trick here is that we have to store the hash table
         
     | 
| 
      
 1293 
     | 
    
         
            +
              pointer in a Ruby variable. We do not want Ruby's GC to
         
     | 
| 
      
 1294 
     | 
    
         
            +
              treat this pointer as a Ruby object, so we convert it to
         
     | 
| 
      
 1295 
     | 
    
         
            +
              a Ruby numeric value. */
         
     | 
| 
      
 1296 
     | 
    
         
            +
              if (trackings_value == Qnil) {
         
     | 
| 
      
 1297 
     | 
    
         
            +
                /* No, it hasn't.  Create one ourselves */
         
     | 
| 
      
 1298 
     | 
    
         
            +
                swig_ruby_trackings = st_init_numtable();
         
     | 
| 
      
 1299 
     | 
    
         
            +
                rb_ivar_set( _mSWIG, trackings_id, SWIG2NUM(swig_ruby_trackings) );
         
     | 
| 
      
 1300 
     | 
    
         
            +
              } else {
         
     | 
| 
      
 1301 
     | 
    
         
            +
                swig_ruby_trackings = (st_table*)NUM2SWIG(trackings_value);
         
     | 
| 
      
 1302 
     | 
    
         
            +
              }
         
     | 
| 
       1232 
1303 
     | 
    
         | 
| 
       1233 
     | 
    
         
            -
               
     | 
| 
       1234 
     | 
    
         
            -
             
     | 
| 
      
 1304 
     | 
    
         
            +
              rb_define_virtual_variable("SWIG_TRACKINGS_COUNT",
         
     | 
| 
      
 1305 
     | 
    
         
            +
                                         VALUEFUNC(swig_ruby_trackings_count),
         
     | 
| 
      
 1306 
     | 
    
         
            +
                                         SWIG_RUBY_VOID_ANYARGS_FUNC((rb_gvar_setter_t*)NULL));
         
     | 
| 
       1235 
1307 
     | 
    
         
             
            }
         
     | 
| 
       1236 
1308 
     | 
    
         | 
| 
       1237 
1309 
     | 
    
         
             
            /* Add a Tracking from a C/C++ struct to a Ruby object */
         
     | 
| 
       1238 
1310 
     | 
    
         
             
            SWIGRUNTIME void SWIG_RubyAddTracking(void* ptr, VALUE object) {
         
     | 
| 
       1239 
     | 
    
         
            -
              /* In a Ruby hash table we store the pointer and
         
     | 
| 
       1240 
     | 
    
         
            -
                 the associated Ruby object.  The trick here is
         
     | 
| 
       1241 
     | 
    
         
            -
                 that we cannot store the Ruby object directly - if
         
     | 
| 
       1242 
     | 
    
         
            -
                 we do then it cannot be garbage collected.  So
         
     | 
| 
       1243 
     | 
    
         
            -
                 instead we typecast it as a unsigned long and
         
     | 
| 
       1244 
     | 
    
         
            -
                 convert it to a Ruby number object.*/
         
     | 
| 
       1245 
     | 
    
         
            -
             
     | 
| 
       1246 
     | 
    
         
            -
              /* Get a reference to the pointer as a Ruby number */
         
     | 
| 
       1247 
     | 
    
         
            -
              VALUE key = SWIG_RubyPtrToReference(ptr);
         
     | 
| 
       1248 
     | 
    
         
            -
             
     | 
| 
       1249 
     | 
    
         
            -
              /* Get a reference to the Ruby object as a Ruby number */
         
     | 
| 
       1250 
     | 
    
         
            -
              VALUE value = SWIG_RubyObjectToReference(object);
         
     | 
| 
       1251 
     | 
    
         
            -
             
     | 
| 
       1252 
1311 
     | 
    
         
             
              /* Store the mapping to the global hash table. */
         
     | 
| 
       1253 
     | 
    
         
            -
               
     | 
| 
      
 1312 
     | 
    
         
            +
              st_insert(swig_ruby_trackings, (st_data_t)ptr, object);
         
     | 
| 
       1254 
1313 
     | 
    
         
             
            }
         
     | 
| 
       1255 
1314 
     | 
    
         | 
| 
       1256 
1315 
     | 
    
         
             
            /* Get the Ruby object that owns the specified C/C++ struct */
         
     | 
| 
       1257 
1316 
     | 
    
         
             
            SWIGRUNTIME VALUE SWIG_RubyInstanceFor(void* ptr) {
         
     | 
| 
       1258 
     | 
    
         
            -
              /* Get a reference to the pointer as a Ruby number */
         
     | 
| 
       1259 
     | 
    
         
            -
              VALUE key = SWIG_RubyPtrToReference(ptr);
         
     | 
| 
       1260 
     | 
    
         
            -
             
     | 
| 
       1261 
1317 
     | 
    
         
             
              /* Now lookup the value stored in the global hash table */
         
     | 
| 
       1262 
     | 
    
         
            -
              VALUE value 
     | 
| 
       1263 
     | 
    
         
            -
             
     | 
| 
       1264 
     | 
    
         
            -
              if ( 
     | 
| 
       1265 
     | 
    
         
            -
                 
     | 
| 
      
 1318 
     | 
    
         
            +
              VALUE value;
         
     | 
| 
      
 1319 
     | 
    
         
            +
             
     | 
| 
      
 1320 
     | 
    
         
            +
              if (st_lookup(swig_ruby_trackings, (st_data_t)ptr, &value)) {
         
     | 
| 
      
 1321 
     | 
    
         
            +
                return value;
         
     | 
| 
      
 1322 
     | 
    
         
            +
              } else {
         
     | 
| 
       1266 
1323 
     | 
    
         
             
                return Qnil;
         
     | 
| 
       1267 
1324 
     | 
    
         
             
              }
         
     | 
| 
       1268 
     | 
    
         
            -
              else {
         
     | 
| 
       1269 
     | 
    
         
            -
                /* Convert this value to Ruby object */
         
     | 
| 
       1270 
     | 
    
         
            -
                return SWIG_RubyReferenceToObject(value);
         
     | 
| 
       1271 
     | 
    
         
            -
              }
         
     | 
| 
       1272 
1325 
     | 
    
         
             
            }
         
     | 
| 
       1273 
1326 
     | 
    
         | 
| 
       1274 
1327 
     | 
    
         
             
            /* Remove a Tracking from a C/C++ struct to a Ruby object.  It
         
     | 
| 
         @@ -1276,25 +1329,39 @@ SWIGRUNTIME VALUE SWIG_RubyInstanceFor(void* ptr) { 
     | 
|
| 
       1276 
1329 
     | 
    
         
             
               since the same memory address may be reused later to create
         
     | 
| 
       1277 
1330 
     | 
    
         
             
               a new object. */
         
     | 
| 
       1278 
1331 
     | 
    
         
             
            SWIGRUNTIME void SWIG_RubyRemoveTracking(void* ptr) {
         
     | 
| 
       1279 
     | 
    
         
            -
              /*  
     | 
| 
       1280 
     | 
    
         
            -
               
     | 
| 
       1281 
     | 
    
         
            -
             
     | 
| 
       1282 
     | 
    
         
            -
              /* Delete the object from the hash table by calling Ruby's
         
     | 
| 
       1283 
     | 
    
         
            -
                 do this we need to call the Hash.delete method.*/
         
     | 
| 
       1284 
     | 
    
         
            -
              rb_funcall(swig_ruby_trackings, swig_ruby_hash_delete, 1, key);
         
     | 
| 
      
 1332 
     | 
    
         
            +
              /* Delete the object from the hash table */
         
     | 
| 
      
 1333 
     | 
    
         
            +
              st_delete(swig_ruby_trackings, (st_data_t *)&ptr, NULL);
         
     | 
| 
       1285 
1334 
     | 
    
         
             
            }
         
     | 
| 
       1286 
1335 
     | 
    
         | 
| 
       1287 
1336 
     | 
    
         
             
            /* This is a helper method that unlinks a Ruby object from its
         
     | 
| 
       1288 
1337 
     | 
    
         
             
               underlying C++ object.  This is needed if the lifetime of the
         
     | 
| 
       1289 
     | 
    
         
            -
               Ruby object is longer than the C++ object */
         
     | 
| 
      
 1338 
     | 
    
         
            +
               Ruby object is longer than the C++ object. */
         
     | 
| 
       1290 
1339 
     | 
    
         
             
            SWIGRUNTIME void SWIG_RubyUnlinkObjects(void* ptr) {
         
     | 
| 
       1291 
1340 
     | 
    
         
             
              VALUE object = SWIG_RubyInstanceFor(ptr);
         
     | 
| 
       1292 
1341 
     | 
    
         | 
| 
       1293 
1342 
     | 
    
         
             
              if (object != Qnil) {
         
     | 
| 
      
 1343 
     | 
    
         
            +
                // object might have the T_ZOMBIE type, but that's just
         
     | 
| 
      
 1344 
     | 
    
         
            +
                // because the GC has flagged it as such for a deferred
         
     | 
| 
      
 1345 
     | 
    
         
            +
                // destruction. Until then, it's still a T_DATA object.
         
     | 
| 
       1294 
1346 
     | 
    
         
             
                DATA_PTR(object) = 0;
         
     | 
| 
       1295 
1347 
     | 
    
         
             
              }
         
     | 
| 
       1296 
1348 
     | 
    
         
             
            }
         
     | 
| 
       1297 
1349 
     | 
    
         | 
| 
      
 1350 
     | 
    
         
            +
            /* This is a helper method that iterates over all the trackings
         
     | 
| 
      
 1351 
     | 
    
         
            +
               passing the C++ object pointer and its related Ruby object
         
     | 
| 
      
 1352 
     | 
    
         
            +
               to the passed callback function. */
         
     | 
| 
      
 1353 
     | 
    
         
            +
             
     | 
| 
      
 1354 
     | 
    
         
            +
            /* Proxy method to abstract the internal trackings datatype */
         
     | 
| 
      
 1355 
     | 
    
         
            +
            static int swig_ruby_internal_iterate_callback(st_data_t ptr, st_data_t obj, st_data_t meth) {
         
     | 
| 
      
 1356 
     | 
    
         
            +
              ((void (*) (void *, VALUE))meth)((void *)ptr, (VALUE)obj);
         
     | 
| 
      
 1357 
     | 
    
         
            +
              return ST_CONTINUE;
         
     | 
| 
      
 1358 
     | 
    
         
            +
            }
         
     | 
| 
      
 1359 
     | 
    
         
            +
             
     | 
| 
      
 1360 
     | 
    
         
            +
            SWIGRUNTIME void SWIG_RubyIterateTrackings( void(*meth)(void* ptr, VALUE obj) ) {
         
     | 
| 
      
 1361 
     | 
    
         
            +
              st_foreach(swig_ruby_trackings,
         
     | 
| 
      
 1362 
     | 
    
         
            +
                         SWIG_RUBY_INT_ANYARGS_FUNC(swig_ruby_internal_iterate_callback),
         
     | 
| 
      
 1363 
     | 
    
         
            +
                         (st_data_t)meth);
         
     | 
| 
      
 1364 
     | 
    
         
            +
            }
         
     | 
| 
       1298 
1365 
     | 
    
         | 
| 
       1299 
1366 
     | 
    
         
             
            #ifdef __cplusplus
         
     | 
| 
       1300 
1367 
     | 
    
         
             
            }
         
     | 
| 
         @@ -1353,7 +1420,7 @@ SWIG_Ruby_AppendOutput(VALUE target, VALUE o) { 
     | 
|
| 
       1353 
1420 
     | 
    
         
             
            #define SWIG_ConvertPtrAndOwn(obj,pptr,type,flags,own)  SWIG_Ruby_ConvertPtrAndOwn(obj, pptr, type, flags, own)
         
     | 
| 
       1354 
1421 
     | 
    
         
             
            #define SWIG_NewPointerObj(ptr, type, flags)            SWIG_Ruby_NewPointerObj(ptr, type, flags)
         
     | 
| 
       1355 
1422 
     | 
    
         
             
            #define SWIG_AcquirePtr(ptr, own)                       SWIG_Ruby_AcquirePtr(ptr, own)
         
     | 
| 
       1356 
     | 
    
         
            -
            #define swig_owntype                                     
     | 
| 
      
 1423 
     | 
    
         
            +
            #define swig_owntype                                    swig_ruby_owntype
         
     | 
| 
       1357 
1424 
     | 
    
         | 
| 
       1358 
1425 
     | 
    
         
             
            /* for raw packed data */
         
     | 
| 
       1359 
1426 
     | 
    
         
             
            #define SWIG_ConvertPacked(obj, ptr, sz, ty)            SWIG_Ruby_ConvertPacked(obj, ptr, sz, ty, flags)
         
     | 
| 
         @@ -1419,6 +1486,7 @@ static VALUE swig_runtime_data_type_pointer = Qnil; 
     | 
|
| 
       1419 
1486 
     | 
    
         
             
            /* Global IDs used to keep some internal SWIG stuff */
         
     | 
| 
       1420 
1487 
     | 
    
         
             
            static ID swig_arity_id = 0;
         
     | 
| 
       1421 
1488 
     | 
    
         
             
            static ID swig_call_id  = 0;
         
     | 
| 
      
 1489 
     | 
    
         
            +
            static ID swig_lowerthan_id = 0;
         
     | 
| 
       1422 
1490 
     | 
    
         | 
| 
       1423 
1491 
     | 
    
         
             
            /*
         
     | 
| 
       1424 
1492 
     | 
    
         
             
              If your swig extension is to be run within an embedded ruby and has
         
     | 
| 
         @@ -1470,7 +1538,7 @@ SWIG_Ruby_ExceptionType(swig_type_info *desc, VALUE obj) { 
     | 
|
| 
       1470 
1538 
     | 
    
         
             
              VALUE exceptionClass = getExceptionClass();
         
     | 
| 
       1471 
1539 
     | 
    
         
             
              if (rb_obj_is_kind_of(obj, exceptionClass)) {
         
     | 
| 
       1472 
1540 
     | 
    
         
             
                return obj;
         
     | 
| 
       1473 
     | 
    
         
            -
              } 
     | 
| 
      
 1541 
     | 
    
         
            +
              } else {
         
     | 
| 
       1474 
1542 
     | 
    
         
             
                return rb_exc_new3(rb_eRuntimeError, rb_obj_as_string(obj));
         
     | 
| 
       1475 
1543 
     | 
    
         
             
              }
         
     | 
| 
       1476 
1544 
     | 
    
         
             
            }
         
     | 
| 
         @@ -1483,6 +1551,7 @@ SWIG_Ruby_InitRuntime(void) 
     | 
|
| 
       1483 
1551 
     | 
    
         
             
                _mSWIG = rb_define_module("SWIG");
         
     | 
| 
       1484 
1552 
     | 
    
         
             
                swig_call_id  = rb_intern("call");
         
     | 
| 
       1485 
1553 
     | 
    
         
             
                swig_arity_id = rb_intern("arity");
         
     | 
| 
      
 1554 
     | 
    
         
            +
                swig_lowerthan_id = rb_intern("<");
         
     | 
| 
       1486 
1555 
     | 
    
         
             
              }
         
     | 
| 
       1487 
1556 
     | 
    
         
             
            }
         
     | 
| 
       1488 
1557 
     | 
    
         | 
| 
         @@ -1490,14 +1559,14 @@ SWIG_Ruby_InitRuntime(void) 
     | 
|
| 
       1490 
1559 
     | 
    
         
             
            SWIGRUNTIME void
         
     | 
| 
       1491 
1560 
     | 
    
         
             
            SWIG_Ruby_define_class(swig_type_info *type)
         
     | 
| 
       1492 
1561 
     | 
    
         
             
            {
         
     | 
| 
       1493 
     | 
    
         
            -
               
     | 
| 
       1494 
     | 
    
         
            -
              char *klass_name = (char *) malloc( 
     | 
| 
       1495 
     | 
    
         
            -
               
     | 
| 
      
 1562 
     | 
    
         
            +
              size_t klass_len = 4 + strlen(type->name) + 1;
         
     | 
| 
      
 1563 
     | 
    
         
            +
              char *klass_name = (char *) malloc(klass_len);
         
     | 
| 
      
 1564 
     | 
    
         
            +
              SWIG_snprintf(klass_name, klass_len, "TYPE%s", type->name);
         
     | 
| 
       1496 
1565 
     | 
    
         
             
              if (NIL_P(_cSWIG_Pointer)) {
         
     | 
| 
       1497 
1566 
     | 
    
         
             
                _cSWIG_Pointer = rb_define_class_under(_mSWIG, "Pointer", rb_cObject);
         
     | 
| 
       1498 
1567 
     | 
    
         
             
                rb_undef_method(CLASS_OF(_cSWIG_Pointer), "new");
         
     | 
| 
       1499 
1568 
     | 
    
         
             
              }
         
     | 
| 
       1500 
     | 
    
         
            -
               
     | 
| 
      
 1569 
     | 
    
         
            +
              rb_undef_alloc_func(rb_define_class_under(_mSWIG, klass_name, _cSWIG_Pointer));
         
     | 
| 
       1501 
1570 
     | 
    
         
             
              free((void *) klass_name);
         
     | 
| 
       1502 
1571 
     | 
    
         
             
            }
         
     | 
| 
       1503 
1572 
     | 
    
         | 
| 
         @@ -1511,10 +1580,11 @@ SWIG_Ruby_NewPointerObj(void *ptr, swig_type_info *type, int flags) 
     | 
|
| 
       1511 
1580 
     | 
    
         
             
              swig_class *sklass;
         
     | 
| 
       1512 
1581 
     | 
    
         
             
              VALUE klass;
         
     | 
| 
       1513 
1582 
     | 
    
         
             
              VALUE obj;
         
     | 
| 
       1514 
     | 
    
         
            -
             
     | 
| 
      
 1583 
     | 
    
         
            +
             
     | 
| 
       1515 
1584 
     | 
    
         
             
              if (!ptr)
         
     | 
| 
       1516 
1585 
     | 
    
         
             
                return Qnil;
         
     | 
| 
       1517 
     | 
    
         
            -
             
     | 
| 
      
 1586 
     | 
    
         
            +
             
     | 
| 
      
 1587 
     | 
    
         
            +
              assert(type);
         
     | 
| 
       1518 
1588 
     | 
    
         
             
              if (type->clientdata) {
         
     | 
| 
       1519 
1589 
     | 
    
         
             
                sklass = (swig_class *) type->clientdata;
         
     | 
| 
       1520 
1590 
     | 
    
         | 
| 
         @@ -1522,7 +1592,7 @@ SWIG_Ruby_NewPointerObj(void *ptr, swig_type_info *type, int flags) 
     | 
|
| 
       1522 
1592 
     | 
    
         
             
                track = sklass->trackObjects;
         
     | 
| 
       1523 
1593 
     | 
    
         
             
                if (track) {
         
     | 
| 
       1524 
1594 
     | 
    
         
             
                  obj = SWIG_RubyInstanceFor(ptr);
         
     | 
| 
       1525 
     | 
    
         
            -
             
     | 
| 
      
 1595 
     | 
    
         
            +
             
     | 
| 
       1526 
1596 
     | 
    
         
             
                  /* Check the object's type and make sure it has the correct type.
         
     | 
| 
       1527 
1597 
     | 
    
         
             
                    It might not in cases where methods do things like 
         
     | 
| 
       1528 
1598 
     | 
    
         
             
                    downcast methods. */
         
     | 
| 
         @@ -1547,14 +1617,15 @@ SWIG_Ruby_NewPointerObj(void *ptr, swig_type_info *type, int flags) 
     | 
|
| 
       1547 
1617 
     | 
    
         
             
                  SWIG_RubyAddTracking(ptr, obj);
         
     | 
| 
       1548 
1618 
     | 
    
         
             
                }
         
     | 
| 
       1549 
1619 
     | 
    
         
             
              } else {
         
     | 
| 
       1550 
     | 
    
         
            -
                 
     | 
| 
       1551 
     | 
    
         
            -
                 
     | 
| 
      
 1620 
     | 
    
         
            +
                size_t klass_len = 4 + strlen(type->name) + 1;
         
     | 
| 
      
 1621 
     | 
    
         
            +
                klass_name = (char *) malloc(klass_len);
         
     | 
| 
      
 1622 
     | 
    
         
            +
                SWIG_snprintf(klass_name, klass_len, "TYPE%s", type->name);
         
     | 
| 
       1552 
1623 
     | 
    
         
             
                klass = rb_const_get(_mSWIG, rb_intern(klass_name));
         
     | 
| 
       1553 
1624 
     | 
    
         
             
                free((void *) klass_name);
         
     | 
| 
       1554 
1625 
     | 
    
         
             
                obj = Data_Wrap_Struct(klass, 0, 0, ptr);
         
     | 
| 
       1555 
1626 
     | 
    
         
             
              }
         
     | 
| 
       1556 
1627 
     | 
    
         
             
              rb_iv_set(obj, "@__swigtype__", rb_str_new2(type->name));
         
     | 
| 
       1557 
     | 
    
         
            -
             
     | 
| 
      
 1628 
     | 
    
         
            +
             
     | 
| 
       1558 
1629 
     | 
    
         
             
              return obj;
         
     | 
| 
       1559 
1630 
     | 
    
         
             
            }
         
     | 
| 
       1560 
1631 
     | 
    
         | 
| 
         @@ -1574,26 +1645,30 @@ SWIGRUNTIMEINLINE char * 
     | 
|
| 
       1574 
1645 
     | 
    
         
             
            SWIG_Ruby_MangleStr(VALUE obj)
         
     | 
| 
       1575 
1646 
     | 
    
         
             
            {
         
     | 
| 
       1576 
1647 
     | 
    
         
             
              VALUE stype = rb_iv_get(obj, "@__swigtype__");
         
     | 
| 
      
 1648 
     | 
    
         
            +
              if (NIL_P(stype))
         
     | 
| 
      
 1649 
     | 
    
         
            +
                return NULL;
         
     | 
| 
       1577 
1650 
     | 
    
         
             
              return StringValuePtr(stype);
         
     | 
| 
       1578 
1651 
     | 
    
         
             
            }
         
     | 
| 
       1579 
1652 
     | 
    
         | 
| 
       1580 
1653 
     | 
    
         
             
            /* Acquire a pointer value */
         
     | 
| 
       1581 
     | 
    
         
            -
            typedef  
     | 
| 
       1582 
     | 
    
         
            -
             
     | 
| 
       1583 
     | 
    
         
            -
             
     | 
| 
       1584 
     | 
    
         
            -
             
     | 
| 
       1585 
     | 
    
         
            -
             
     | 
| 
       1586 
     | 
    
         
            -
             
     | 
| 
       1587 
     | 
    
         
            -
             
     | 
| 
       1588 
     | 
    
         
            -
             
     | 
| 
       1589 
     | 
    
         
            -
               
     | 
| 
       1590 
     | 
    
         
            -
                 
     | 
| 
      
 1654 
     | 
    
         
            +
            typedef struct {
         
     | 
| 
      
 1655 
     | 
    
         
            +
              void (*datafree)(void *);
         
     | 
| 
      
 1656 
     | 
    
         
            +
              int own;
         
     | 
| 
      
 1657 
     | 
    
         
            +
            } swig_ruby_owntype;
         
     | 
| 
      
 1658 
     | 
    
         
            +
             
     | 
| 
      
 1659 
     | 
    
         
            +
            SWIGRUNTIME swig_ruby_owntype
         
     | 
| 
      
 1660 
     | 
    
         
            +
            SWIG_Ruby_AcquirePtr(VALUE obj, swig_ruby_owntype own) {
         
     | 
| 
      
 1661 
     | 
    
         
            +
              swig_ruby_owntype oldown = {0, 0};
         
     | 
| 
      
 1662 
     | 
    
         
            +
              if (TYPE(obj) == T_DATA && !RTYPEDDATA_P(obj)) {
         
     | 
| 
      
 1663 
     | 
    
         
            +
                oldown.datafree = RDATA(obj)->dfree;
         
     | 
| 
      
 1664 
     | 
    
         
            +
                RDATA(obj)->dfree = own.datafree;
         
     | 
| 
       1591 
1665 
     | 
    
         
             
              }
         
     | 
| 
      
 1666 
     | 
    
         
            +
              return oldown;
         
     | 
| 
       1592 
1667 
     | 
    
         
             
            }
         
     | 
| 
       1593 
1668 
     | 
    
         | 
| 
       1594 
1669 
     | 
    
         
             
            /* Convert a pointer value */
         
     | 
| 
       1595 
1670 
     | 
    
         
             
            SWIGRUNTIME int
         
     | 
| 
       1596 
     | 
    
         
            -
            SWIG_Ruby_ConvertPtrAndOwn(VALUE obj, void **ptr, swig_type_info *ty, int flags,  
     | 
| 
      
 1671 
     | 
    
         
            +
            SWIG_Ruby_ConvertPtrAndOwn(VALUE obj, void **ptr, swig_type_info *ty, int flags, swig_ruby_owntype *own)
         
     | 
| 
       1597 
1672 
     | 
    
         
             
            {
         
     | 
| 
       1598 
1673 
     | 
    
         
             
              char *c;
         
     | 
| 
       1599 
1674 
     | 
    
         
             
              swig_cast_info *tc;
         
     | 
| 
         @@ -1601,17 +1676,26 @@ SWIG_Ruby_ConvertPtrAndOwn(VALUE obj, void **ptr, swig_type_info *ty, int flags, 
     | 
|
| 
       1601 
1676 
     | 
    
         | 
| 
       1602 
1677 
     | 
    
         
             
              /* Grab the pointer */
         
     | 
| 
       1603 
1678 
     | 
    
         
             
              if (NIL_P(obj)) {
         
     | 
| 
       1604 
     | 
    
         
            -
                 
     | 
| 
       1605 
     | 
    
         
            -
             
     | 
| 
      
 1679 
     | 
    
         
            +
                if (ptr)
         
     | 
| 
      
 1680 
     | 
    
         
            +
                  *ptr = 0;
         
     | 
| 
      
 1681 
     | 
    
         
            +
                return (flags & SWIG_POINTER_NO_NULL) ? SWIG_NullReferenceError : SWIG_OK;
         
     | 
| 
       1606 
1682 
     | 
    
         
             
              } else {
         
     | 
| 
       1607 
     | 
    
         
            -
                if (TYPE(obj) != T_DATA) {
         
     | 
| 
      
 1683 
     | 
    
         
            +
                if (TYPE(obj) != T_DATA || (TYPE(obj) == T_DATA && RTYPEDDATA_P(obj))) {
         
     | 
| 
       1608 
1684 
     | 
    
         
             
                  return SWIG_ERROR;
         
     | 
| 
       1609 
1685 
     | 
    
         
             
                }
         
     | 
| 
       1610 
1686 
     | 
    
         
             
                Data_Get_Struct(obj, void, vptr);
         
     | 
| 
       1611 
1687 
     | 
    
         
             
              }
         
     | 
| 
       1612 
1688 
     | 
    
         | 
| 
       1613 
     | 
    
         
            -
              if (own)  
     | 
| 
      
 1689 
     | 
    
         
            +
              if (own) {
         
     | 
| 
      
 1690 
     | 
    
         
            +
                own->datafree = RDATA(obj)->dfree;
         
     | 
| 
      
 1691 
     | 
    
         
            +
                own->own = 0;
         
     | 
| 
      
 1692 
     | 
    
         
            +
              }
         
     | 
| 
       1614 
1693 
     | 
    
         | 
| 
      
 1694 
     | 
    
         
            +
              if (((flags & SWIG_POINTER_RELEASE) == SWIG_POINTER_RELEASE)) {
         
     | 
| 
      
 1695 
     | 
    
         
            +
                if (!RDATA(obj)->dfree)
         
     | 
| 
      
 1696 
     | 
    
         
            +
                  return SWIG_ERROR_RELEASE_NOT_OWNED;
         
     | 
| 
      
 1697 
     | 
    
         
            +
              }
         
     | 
| 
      
 1698 
     | 
    
         
            +
             
     | 
| 
       1615 
1699 
     | 
    
         
             
              /* Check to see if the input object is giving up ownership
         
     | 
| 
       1616 
1700 
     | 
    
         
             
                 of the underlying C struct or C++ object.  If so then we
         
     | 
| 
       1617 
1701 
     | 
    
         
             
                 need to reset the destructor since the Ruby object no 
         
     | 
| 
         @@ -1623,7 +1707,7 @@ SWIG_Ruby_ConvertPtrAndOwn(VALUE obj, void **ptr, swig_type_info *ty, int flags, 
     | 
|
| 
       1623 
1707 
     | 
    
         
             
                  swig_class *sklass = (swig_class *) ty->clientdata;
         
     | 
| 
       1624 
1708 
     | 
    
         
             
                  track = sklass->trackObjects;
         
     | 
| 
       1625 
1709 
     | 
    
         
             
                }
         
     | 
| 
       1626 
     | 
    
         
            -
             
     | 
| 
      
 1710 
     | 
    
         
            +
             
     | 
| 
       1627 
1711 
     | 
    
         
             
                if (track) {
         
     | 
| 
       1628 
1712 
     | 
    
         
             
                  /* We are tracking objects for this class.  Thus we change the destructor
         
     | 
| 
       1629 
1713 
     | 
    
         
             
                   * to SWIG_RubyRemoveTracking.  This allows us to
         
     | 
| 
         @@ -1637,6 +1721,10 @@ SWIG_Ruby_ConvertPtrAndOwn(VALUE obj, void **ptr, swig_type_info *ty, int flags, 
     | 
|
| 
       1637 
1721 
     | 
    
         
             
                }
         
     | 
| 
       1638 
1722 
     | 
    
         
             
              }
         
     | 
| 
       1639 
1723 
     | 
    
         | 
| 
      
 1724 
     | 
    
         
            +
              if (flags & SWIG_POINTER_CLEAR) {
         
     | 
| 
      
 1725 
     | 
    
         
            +
                DATA_PTR(obj) = 0;
         
     | 
| 
      
 1726 
     | 
    
         
            +
              }
         
     | 
| 
      
 1727 
     | 
    
         
            +
             
     | 
| 
       1640 
1728 
     | 
    
         
             
              /* Do type-checking if type info was provided */
         
     | 
| 
       1641 
1729 
     | 
    
         
             
              if (ty) {
         
     | 
| 
       1642 
1730 
     | 
    
         
             
                if (ty->clientdata) {
         
     | 
| 
         @@ -1645,8 +1733,6 @@ SWIG_Ruby_ConvertPtrAndOwn(VALUE obj, void **ptr, swig_type_info *ty, int flags, 
     | 
|
| 
       1645 
1733 
     | 
    
         
             
                      /* The object has already been deleted */
         
     | 
| 
       1646 
1734 
     | 
    
         
             
                      return SWIG_ObjectPreviouslyDeletedError;
         
     | 
| 
       1647 
1735 
     | 
    
         
             
                    }
         
     | 
| 
       1648 
     | 
    
         
            -
                    *ptr = vptr;
         
     | 
| 
       1649 
     | 
    
         
            -
                    return SWIG_OK;
         
     | 
| 
       1650 
1736 
     | 
    
         
             
                  }
         
     | 
| 
       1651 
1737 
     | 
    
         
             
                }
         
     | 
| 
       1652 
1738 
     | 
    
         
             
                if ((c = SWIG_MangleStr(obj)) == NULL) {
         
     | 
| 
         @@ -1656,12 +1742,23 @@ SWIG_Ruby_ConvertPtrAndOwn(VALUE obj, void **ptr, swig_type_info *ty, int flags, 
     | 
|
| 
       1656 
1742 
     | 
    
         
             
                if (!tc) {
         
     | 
| 
       1657 
1743 
     | 
    
         
             
                  return SWIG_ERROR;
         
     | 
| 
       1658 
1744 
     | 
    
         
             
                } else {
         
     | 
| 
       1659 
     | 
    
         
            -
                   
     | 
| 
       1660 
     | 
    
         
            -
             
     | 
| 
       1661 
     | 
    
         
            -
             
     | 
| 
      
 1745 
     | 
    
         
            +
                  if (ptr) {
         
     | 
| 
      
 1746 
     | 
    
         
            +
                    if (tc->type == ty) {
         
     | 
| 
      
 1747 
     | 
    
         
            +
                      *ptr = vptr;
         
     | 
| 
      
 1748 
     | 
    
         
            +
                    } else {
         
     | 
| 
      
 1749 
     | 
    
         
            +
                      int newmemory = 0;
         
     | 
| 
      
 1750 
     | 
    
         
            +
                      *ptr = SWIG_TypeCast(tc, vptr, &newmemory);
         
     | 
| 
      
 1751 
     | 
    
         
            +
                      if (newmemory == SWIG_CAST_NEW_MEMORY) {
         
     | 
| 
      
 1752 
     | 
    
         
            +
                        assert(own); /* badly formed typemap which will lead to a memory leak - it must set and use own to delete *ptr */
         
     | 
| 
      
 1753 
     | 
    
         
            +
                        if (own)
         
     | 
| 
      
 1754 
     | 
    
         
            +
                          own->own = own->own | SWIG_CAST_NEW_MEMORY;
         
     | 
| 
      
 1755 
     | 
    
         
            +
                      }
         
     | 
| 
      
 1756 
     | 
    
         
            +
                    }
         
     | 
| 
      
 1757 
     | 
    
         
            +
                  }
         
     | 
| 
       1662 
1758 
     | 
    
         
             
                }
         
     | 
| 
       1663 
1759 
     | 
    
         
             
              } else {
         
     | 
| 
       1664 
     | 
    
         
            -
                 
     | 
| 
      
 1760 
     | 
    
         
            +
                if (ptr)
         
     | 
| 
      
 1761 
     | 
    
         
            +
                  *ptr = vptr;
         
     | 
| 
       1665 
1762 
     | 
    
         
             
              }
         
     | 
| 
       1666 
1763 
     | 
    
         | 
| 
       1667 
1764 
     | 
    
         
             
              return SWIG_OK;
         
     | 
| 
         @@ -1687,7 +1784,7 @@ SWIG_Ruby_NewPackedObj(void *ptr, int sz, swig_type_info *type) { 
     | 
|
| 
       1687 
1784 
     | 
    
         
             
              return rb_str_new2(result);
         
     | 
| 
       1688 
1785 
     | 
    
         
             
            }
         
     | 
| 
       1689 
1786 
     | 
    
         | 
| 
       1690 
     | 
    
         
            -
            /* Convert a packed  
     | 
| 
      
 1787 
     | 
    
         
            +
            /* Convert a packed pointer value */
         
     | 
| 
       1691 
1788 
     | 
    
         
             
            SWIGRUNTIME int
         
     | 
| 
       1692 
1789 
     | 
    
         
             
            SWIG_Ruby_ConvertPacked(VALUE obj, void *ptr, int sz, swig_type_info *ty) {
         
     | 
| 
       1693 
1790 
     | 
    
         
             
              swig_cast_info *tc;
         
     | 
| 
         @@ -1735,6 +1832,7 @@ SWIG_Ruby_SetModule(swig_module_info *pointer) 
     | 
|
| 
       1735 
1832 
     | 
    
         
             
            {
         
     | 
| 
       1736 
1833 
     | 
    
         
             
              /* register a new class */
         
     | 
| 
       1737 
1834 
     | 
    
         
             
              VALUE cl = rb_define_class("swig_runtime_data", rb_cObject);
         
     | 
| 
      
 1835 
     | 
    
         
            +
              rb_undef_alloc_func(cl);
         
     | 
| 
       1738 
1836 
     | 
    
         
             
              /* create and store the structure pointer to a global variable */
         
     | 
| 
       1739 
1837 
     | 
    
         
             
              swig_runtime_data_type_pointer = Data_Wrap_Struct(cl, 0, 0, pointer);
         
     | 
| 
       1740 
1838 
     | 
    
         
             
              rb_define_readonly_variable("$swig_runtime_data_type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, &swig_runtime_data_type_pointer);
         
     | 
| 
         @@ -1750,7 +1848,7 @@ SWIG_Ruby_SetModule(swig_module_info *pointer) 
     | 
|
| 
       1750 
1848 
     | 
    
         
             
            SWIGINTERN
         
     | 
| 
       1751 
1849 
     | 
    
         
             
            int SWIG_Ruby_isCallable( VALUE proc )
         
     | 
| 
       1752 
1850 
     | 
    
         
             
            {
         
     | 
| 
       1753 
     | 
    
         
            -
              if ( rb_respond_to( proc, swig_call_id )  
     | 
| 
      
 1851 
     | 
    
         
            +
              if ( rb_respond_to( proc, swig_call_id ) )
         
     | 
| 
       1754 
1852 
     | 
    
         
             
                return 1;
         
     | 
| 
       1755 
1853 
     | 
    
         
             
              return 0;
         
     | 
| 
       1756 
1854 
     | 
    
         
             
            }
         
     | 
| 
         @@ -1763,9 +1861,9 @@ int SWIG_Ruby_isCallable( VALUE proc ) 
     | 
|
| 
       1763 
1861 
     | 
    
         
             
            SWIGINTERN
         
     | 
| 
       1764 
1862 
     | 
    
         
             
            int SWIG_Ruby_arity( VALUE proc, int minimal )
         
     | 
| 
       1765 
1863 
     | 
    
         
             
            {
         
     | 
| 
       1766 
     | 
    
         
            -
              if ( rb_respond_to( proc, swig_arity_id )  
     | 
| 
      
 1864 
     | 
    
         
            +
              if ( rb_respond_to( proc, swig_arity_id ) )
         
     | 
| 
       1767 
1865 
     | 
    
         
             
                {
         
     | 
| 
       1768 
     | 
    
         
            -
                  VALUE num =  
     | 
| 
      
 1866 
     | 
    
         
            +
                  VALUE num = rb_funcall2( proc, swig_arity_id, 0, 0 );
         
     | 
| 
       1769 
1867 
     | 
    
         
             
                  int arity = NUM2INT(num);
         
     | 
| 
       1770 
1868 
     | 
    
         
             
                  if ( arity < 0 && (arity+1) < -minimal ) return 1;
         
     | 
| 
       1771 
1869 
     | 
    
         
             
                  if ( arity == minimal ) return 1;
         
     | 
| 
         @@ -1783,7 +1881,7 @@ int SWIG_Ruby_arity( VALUE proc, int minimal ) 
     | 
|
| 
       1783 
1881 
     | 
    
         | 
| 
       1784 
1882 
     | 
    
         
             
            #define SWIG_exception_fail(code, msg) do { SWIG_Error(code, msg); SWIG_fail; } while(0) 
         
     | 
| 
       1785 
1883 
     | 
    
         | 
| 
       1786 
     | 
    
         
            -
            #define SWIG_contract_assert(expr, msg) if (!(expr)) { SWIG_Error(SWIG_RuntimeError, msg); SWIG_fail; }  
     | 
| 
      
 1884 
     | 
    
         
            +
            #define SWIG_contract_assert(expr, msg) do { if (!(expr)) { SWIG_Error(SWIG_RuntimeError, msg); SWIG_fail; } } while (0) 
         
     | 
| 
       1787 
1885 
     | 
    
         | 
| 
       1788 
1886 
     | 
    
         | 
| 
       1789 
1887 
     | 
    
         | 
| 
         @@ -1838,10 +1936,6 @@ static VALUE mRlibmemcached; 
     | 
|
| 
       1838 
1936 
     | 
    
         
             
            #define SWIG_RUBY_THREAD_END_BLOCK
         
     | 
| 
       1839 
1937 
     | 
    
         | 
| 
       1840 
1938 
     | 
    
         | 
| 
       1841 
     | 
    
         
            -
            #define SWIGVERSION 0x020009 
         
     | 
| 
       1842 
     | 
    
         
            -
            #define SWIG_VERSION SWIGVERSION
         
     | 
| 
       1843 
     | 
    
         
            -
             
     | 
| 
       1844 
     | 
    
         
            -
             
     | 
| 
       1845 
1939 
     | 
    
         
             
            #define SWIG_as_voidptr(a) (void *)((const void *)(a)) 
         
     | 
| 
       1846 
1940 
     | 
    
         
             
            #define SWIG_as_voidptrptr(a) ((void)SWIG_as_voidptr(*a),(void**)(a)) 
         
     | 
| 
       1847 
1941 
     | 
    
         | 
| 
         @@ -1849,13 +1943,14 @@ static VALUE mRlibmemcached; 
     | 
|
| 
       1849 
1943 
     | 
    
         
             
            #include <libmemcached/visibility.h>
         
     | 
| 
       1850 
1944 
     | 
    
         
             
            #include <libmemcached/memcached.h>
         
     | 
| 
       1851 
1945 
     | 
    
         
             
            #include <libmemcached/memcached_exist.h>
         
     | 
| 
      
 1946 
     | 
    
         
            +
            #include <ruby/version.h>
         
     | 
| 
       1852 
1947 
     | 
    
         | 
| 
       1853 
1948 
     | 
    
         | 
| 
       1854 
1949 
     | 
    
         
             
            #ifdef __cplusplus
         
     | 
| 
       1855 
1950 
     | 
    
         
             
            extern "C" {
         
     | 
| 
       1856 
1951 
     | 
    
         
             
            #endif
         
     | 
| 
       1857 
1952 
     | 
    
         | 
| 
       1858 
     | 
    
         
            -
             
     | 
| 
      
 1953 
     | 
    
         
            +
            /* Ruby 1.9 changed the file name of this header */
         
     | 
| 
       1859 
1954 
     | 
    
         
             
            #ifdef HAVE_RUBY_IO_H
         
     | 
| 
       1860 
1955 
     | 
    
         
             
            #include "ruby/io.h"
         
     | 
| 
       1861 
1956 
     | 
    
         
             
            #else
         
     | 
| 
         @@ -1937,19 +2032,20 @@ SWIG_FromCharPtr(const char *cptr) 
     | 
|
| 
       1937 
2032 
     | 
    
         | 
| 
       1938 
2033 
     | 
    
         | 
| 
       1939 
2034 
     | 
    
         
             
            SWIGINTERN VALUE
         
     | 
| 
       1940 
     | 
    
         
            -
            SWIG_ruby_failed( 
     | 
| 
      
 2035 
     | 
    
         
            +
            SWIG_ruby_failed(VALUE SWIGUNUSEDPARM(arg1), VALUE SWIGUNUSEDPARM(arg2))
         
     | 
| 
       1941 
2036 
     | 
    
         
             
            {
         
     | 
| 
       1942 
2037 
     | 
    
         
             
              return Qnil;
         
     | 
| 
       1943 
2038 
     | 
    
         
             
            } 
         
     | 
| 
       1944 
2039 
     | 
    
         | 
| 
       1945 
2040 
     | 
    
         | 
| 
       1946 
     | 
    
         
            -
            /*@SWIG:/opt/ 
     | 
| 
       1947 
     | 
    
         
            -
            SWIGINTERN VALUE SWIG_AUX_NUM2DBL(VALUE  
     | 
| 
      
 2041 
     | 
    
         
            +
            /*@SWIG:/opt/homebrew/Cellar/swig/4.2.0/share/swig/4.2.0/ruby/rubyprimtypes.swg,19,%ruby_aux_method@*/
         
     | 
| 
      
 2042 
     | 
    
         
            +
            SWIGINTERN VALUE SWIG_AUX_NUM2DBL(VALUE arg)
         
     | 
| 
       1948 
2043 
     | 
    
         
             
            {
         
     | 
| 
      
 2044 
     | 
    
         
            +
              VALUE *args = (VALUE *)arg;
         
     | 
| 
       1949 
2045 
     | 
    
         
             
              VALUE obj = args[0];
         
     | 
| 
       1950 
2046 
     | 
    
         
             
              VALUE type = TYPE(obj);
         
     | 
| 
       1951 
2047 
     | 
    
         
             
              double *res = (double *)(args[1]);
         
     | 
| 
       1952 
     | 
    
         
            -
              *res = NUM2DBL(obj);
         
     | 
| 
      
 2048 
     | 
    
         
            +
              *res = NUM2DBL(obj); (void)type;
         
     | 
| 
       1953 
2049 
     | 
    
         
             
              return obj;
         
     | 
| 
       1954 
2050 
     | 
    
         
             
            }
         
     | 
| 
       1955 
2051 
     | 
    
         
             
            /*@SWIG@*/
         
     | 
| 
         @@ -1963,7 +2059,7 @@ SWIG_AsVal_double (VALUE obj, double *val) 
     | 
|
| 
       1963 
2059 
     | 
    
         
             
                VALUE a[2];
         
     | 
| 
       1964 
2060 
     | 
    
         
             
                a[0] = obj;
         
     | 
| 
       1965 
2061 
     | 
    
         
             
                a[1] = (VALUE)(&v);
         
     | 
| 
       1966 
     | 
    
         
            -
                if (rb_rescue( 
     | 
| 
      
 2062 
     | 
    
         
            +
                if (rb_rescue(VALUEFUNC(SWIG_AUX_NUM2DBL), (VALUE)a, VALUEFUNC(SWIG_ruby_failed), 0) != Qnil) {
         
     | 
| 
       1967 
2063 
     | 
    
         
             
                  if (val) *val = v;
         
     | 
| 
       1968 
2064 
     | 
    
         
             
                  return SWIG_OK;
         
     | 
| 
       1969 
2065 
     | 
    
         
             
                }
         
     | 
| 
         @@ -1984,7 +2080,7 @@ SWIG_AsCharPtrAndSize(VALUE obj, char** cptr, size_t* psize, int *alloc) 
     | 
|
| 
       1984 
2080 
     | 
    
         
             
                if (cptr)  {
         
     | 
| 
       1985 
2081 
     | 
    
         
             
                  if (alloc) {
         
     | 
| 
       1986 
2082 
     | 
    
         
             
            	if (*alloc == SWIG_NEWOBJ) {
         
     | 
| 
       1987 
     | 
    
         
            -
            	  *cptr = (char *)memcpy( 
     | 
| 
      
 2083 
     | 
    
         
            +
            	  *cptr = (char *)memcpy(malloc((size)*sizeof(char)), cstr, sizeof(char)*(size));
         
     | 
| 
       1988 
2084 
     | 
    
         
             
            	} else {
         
     | 
| 
       1989 
2085 
     | 
    
         
             
            	  *cptr = cstr;
         
     | 
| 
       1990 
2086 
     | 
    
         
             
            	  *alloc = SWIG_OLDOBJ;
         
     | 
| 
         @@ -2015,7 +2111,8 @@ SWIG_AsCharArray(VALUE obj, char *val, size_t size) 
     | 
|
| 
       2015 
2111 
     | 
    
         
             
              char* cptr = 0; size_t csize = 0; int alloc = SWIG_OLDOBJ;
         
     | 
| 
       2016 
2112 
     | 
    
         
             
              int res = SWIG_AsCharPtrAndSize(obj, &cptr, &csize, &alloc);
         
     | 
| 
       2017 
2113 
     | 
    
         
             
              if (SWIG_IsOK(res)) {
         
     | 
| 
       2018 
     | 
    
         
            -
                 
     | 
| 
      
 2114 
     | 
    
         
            +
                /* special case of single char conversion when we don't need space for NUL */
         
     | 
| 
      
 2115 
     | 
    
         
            +
                if (size == 1 && csize == 2 && cptr && !cptr[1]) --csize;
         
     | 
| 
       2019 
2116 
     | 
    
         
             
                if (csize <= size) {
         
     | 
| 
       2020 
2117 
     | 
    
         
             
                  if (val) {
         
     | 
| 
       2021 
2118 
     | 
    
         
             
            	if (csize) memcpy(val, cptr, csize*sizeof(char));
         
     | 
| 
         @@ -2033,9 +2130,20 @@ SWIG_AsCharArray(VALUE obj, char *val, size_t size) 
     | 
|
| 
       2033 
2130 
     | 
    
         
             
            }
         
     | 
| 
       2034 
2131 
     | 
    
         | 
| 
       2035 
2132 
     | 
    
         | 
| 
       2036 
     | 
    
         
            -
             
     | 
| 
       2037 
     | 
    
         
            -
             
     | 
| 
      
 2133 
     | 
    
         
            +
            SWIGINTERN size_t
         
     | 
| 
      
 2134 
     | 
    
         
            +
            SWIG_strnlen(const char* s, size_t maxlen)
         
     | 
| 
      
 2135 
     | 
    
         
            +
            {
         
     | 
| 
      
 2136 
     | 
    
         
            +
              const char *p;
         
     | 
| 
      
 2137 
     | 
    
         
            +
              for (p = s; maxlen-- && *p; p++)
         
     | 
| 
      
 2138 
     | 
    
         
            +
                ;
         
     | 
| 
      
 2139 
     | 
    
         
            +
              return p - s;
         
     | 
| 
      
 2140 
     | 
    
         
            +
            }
         
     | 
| 
      
 2141 
     | 
    
         
            +
             
     | 
| 
      
 2142 
     | 
    
         
            +
             
     | 
| 
      
 2143 
     | 
    
         
            +
            /*@SWIG:/opt/homebrew/Cellar/swig/4.2.0/share/swig/4.2.0/ruby/rubyprimtypes.swg,19,%ruby_aux_method@*/
         
     | 
| 
      
 2144 
     | 
    
         
            +
            SWIGINTERN VALUE SWIG_AUX_NUM2ULONG(VALUE arg)
         
     | 
| 
       2038 
2145 
     | 
    
         
             
            {
         
     | 
| 
      
 2146 
     | 
    
         
            +
              VALUE *args = (VALUE *)arg;
         
     | 
| 
       2039 
2147 
     | 
    
         
             
              VALUE obj = args[0];
         
     | 
| 
       2040 
2148 
     | 
    
         
             
              VALUE type = TYPE(obj);
         
     | 
| 
       2041 
2149 
     | 
    
         
             
              unsigned long *res = (unsigned long *)(args[1]);
         
     | 
| 
         @@ -2053,7 +2161,9 @@ SWIG_AsVal_unsigned_SS_long (VALUE obj, unsigned long *val) 
     | 
|
| 
       2053 
2161 
     | 
    
         
             
                VALUE a[2];
         
     | 
| 
       2054 
2162 
     | 
    
         
             
                a[0] = obj;
         
     | 
| 
       2055 
2163 
     | 
    
         
             
                a[1] = (VALUE)(&v);
         
     | 
| 
       2056 
     | 
    
         
            -
                if (rb_rescue( 
     | 
| 
      
 2164 
     | 
    
         
            +
                if (rb_rescue(VALUEFUNC(SWIG_AUX_NUM2ULONG), (VALUE)a, VALUEFUNC(SWIG_ruby_failed), 0) != Qnil) {
         
     | 
| 
      
 2165 
     | 
    
         
            +
                  if (rb_funcall(obj, swig_lowerthan_id, 1, INT2FIX(0)) != Qfalse)
         
     | 
| 
      
 2166 
     | 
    
         
            +
                    return SWIG_OverflowError;
         
     | 
| 
       2057 
2167 
     | 
    
         
             
                  if (val) *val = v;
         
     | 
| 
       2058 
2168 
     | 
    
         
             
                  return SWIG_OK;
         
     | 
| 
       2059 
2169 
     | 
    
         
             
                }
         
     | 
| 
         @@ -2092,9 +2202,10 @@ SWIG_From_unsigned_SS_short  (unsigned short value) 
     | 
|
| 
       2092 
2202 
     | 
    
         
             
            }
         
     | 
| 
       2093 
2203 
     | 
    
         | 
| 
       2094 
2204 
     | 
    
         | 
| 
       2095 
     | 
    
         
            -
            /*@SWIG:/opt/ 
     | 
| 
       2096 
     | 
    
         
            -
            SWIGINTERN VALUE SWIG_AUX_NUM2LONG(VALUE  
     | 
| 
      
 2205 
     | 
    
         
            +
            /*@SWIG:/opt/homebrew/Cellar/swig/4.2.0/share/swig/4.2.0/ruby/rubyprimtypes.swg,19,%ruby_aux_method@*/
         
     | 
| 
      
 2206 
     | 
    
         
            +
            SWIGINTERN VALUE SWIG_AUX_NUM2LONG(VALUE arg)
         
     | 
| 
       2097 
2207 
     | 
    
         
             
            {
         
     | 
| 
      
 2208 
     | 
    
         
            +
              VALUE *args = (VALUE *)arg;
         
     | 
| 
       2098 
2209 
     | 
    
         
             
              VALUE obj = args[0];
         
     | 
| 
       2099 
2210 
     | 
    
         
             
              VALUE type = TYPE(obj);
         
     | 
| 
       2100 
2211 
     | 
    
         
             
              long *res = (long *)(args[1]);
         
     | 
| 
         @@ -2112,7 +2223,7 @@ SWIG_AsVal_long (VALUE obj, long* val) 
     | 
|
| 
       2112 
2223 
     | 
    
         
             
                VALUE a[2];
         
     | 
| 
       2113 
2224 
     | 
    
         
             
                a[0] = obj;
         
     | 
| 
       2114 
2225 
     | 
    
         
             
                a[1] = (VALUE)(&v);
         
     | 
| 
       2115 
     | 
    
         
            -
                if (rb_rescue( 
     | 
| 
      
 2226 
     | 
    
         
            +
                if (rb_rescue(VALUEFUNC(SWIG_AUX_NUM2LONG), (VALUE)a, VALUEFUNC(SWIG_ruby_failed), 0) != Qnil) {
         
     | 
| 
       2116 
2227 
     | 
    
         
             
                  if (val) *val = v;
         
     | 
| 
       2117 
2228 
     | 
    
         
             
                  return SWIG_OK;
         
     | 
| 
       2118 
2229 
     | 
    
         
             
                }
         
     | 
| 
         @@ -2164,38 +2275,92 @@ SWIG_From_bool  (bool value) 
     | 
|
| 
       2164 
2275 
     | 
    
         
             
            }
         
     | 
| 
       2165 
2276 
     | 
    
         | 
| 
       2166 
2277 
     | 
    
         | 
| 
       2167 
     | 
    
         
            -
             
     | 
| 
       2168 
     | 
    
         
            -
             
     | 
| 
       2169 
     | 
    
         
            -
             
     | 
| 
       2170 
     | 
    
         
            -
              unsigned long v;
         
     | 
| 
       2171 
     | 
    
         
            -
              int res = SWIG_AsVal_unsigned_SS_long (obj, val ? &v : 0);
         
     | 
| 
       2172 
     | 
    
         
            -
              if (SWIG_IsOK(res) && val) *val = (size_t)(v);
         
     | 
| 
       2173 
     | 
    
         
            -
              return res;
         
     | 
| 
       2174 
     | 
    
         
            -
            }
         
     | 
| 
      
 2278 
     | 
    
         
            +
            #if defined(LLONG_MAX) && !defined(SWIG_LONG_LONG_AVAILABLE)
         
     | 
| 
      
 2279 
     | 
    
         
            +
            #  define SWIG_LONG_LONG_AVAILABLE
         
     | 
| 
      
 2280 
     | 
    
         
            +
            #endif
         
     | 
| 
       2175 
2281 
     | 
    
         | 
| 
       2176 
2282 
     | 
    
         | 
| 
       2177 
     | 
    
         
            -
             
     | 
| 
       2178 
     | 
    
         
            -
             
     | 
| 
       2179 
     | 
    
         
            -
             
     | 
| 
       2180 
     | 
    
         
            -
             
     | 
| 
      
 2283 
     | 
    
         
            +
            #ifdef SWIG_LONG_LONG_AVAILABLE
         
     | 
| 
      
 2284 
     | 
    
         
            +
            /*@SWIG:/opt/homebrew/Cellar/swig/4.2.0/share/swig/4.2.0/ruby/rubyprimtypes.swg,19,%ruby_aux_method@*/
         
     | 
| 
      
 2285 
     | 
    
         
            +
            SWIGINTERN VALUE SWIG_AUX_NUM2ULL(VALUE arg)
         
     | 
| 
      
 2286 
     | 
    
         
            +
            {
         
     | 
| 
      
 2287 
     | 
    
         
            +
              VALUE *args = (VALUE *)arg;
         
     | 
| 
      
 2288 
     | 
    
         
            +
              VALUE obj = args[0];
         
     | 
| 
      
 2289 
     | 
    
         
            +
              VALUE type = TYPE(obj);
         
     | 
| 
      
 2290 
     | 
    
         
            +
              long long *res = (long long *)(args[1]);
         
     | 
| 
      
 2291 
     | 
    
         
            +
              *res = type == T_FIXNUM ? NUM2ULL(obj) : rb_big2ull(obj);
         
     | 
| 
      
 2292 
     | 
    
         
            +
              return obj;
         
     | 
| 
       2181 
2293 
     | 
    
         
             
            }
         
     | 
| 
      
 2294 
     | 
    
         
            +
            /*@SWIG@*/
         
     | 
| 
       2182 
2295 
     | 
    
         | 
| 
      
 2296 
     | 
    
         
            +
            SWIGINTERN int
         
     | 
| 
      
 2297 
     | 
    
         
            +
            SWIG_AsVal_unsigned_SS_long_SS_long (VALUE obj, unsigned long long *val)
         
     | 
| 
      
 2298 
     | 
    
         
            +
            { 
         
     | 
| 
      
 2299 
     | 
    
         
            +
              VALUE type = TYPE(obj);
         
     | 
| 
      
 2300 
     | 
    
         
            +
              if ((type == T_FIXNUM) || (type == T_BIGNUM)) {
         
     | 
| 
      
 2301 
     | 
    
         
            +
                unsigned long long v;
         
     | 
| 
      
 2302 
     | 
    
         
            +
                VALUE a[2];
         
     | 
| 
      
 2303 
     | 
    
         
            +
                a[0] = obj;
         
     | 
| 
      
 2304 
     | 
    
         
            +
                a[1] = (VALUE)(&v);
         
     | 
| 
      
 2305 
     | 
    
         
            +
                if (rb_rescue(VALUEFUNC(SWIG_AUX_NUM2ULL), (VALUE)a, VALUEFUNC(SWIG_ruby_failed), 0) != Qnil) {
         
     | 
| 
      
 2306 
     | 
    
         
            +
                  if (rb_funcall(obj, swig_lowerthan_id, 1, INT2FIX(0)) != Qfalse)
         
     | 
| 
      
 2307 
     | 
    
         
            +
                    return SWIG_OverflowError;
         
     | 
| 
      
 2308 
     | 
    
         
            +
                  if (val) *val = v;
         
     | 
| 
      
 2309 
     | 
    
         
            +
                  return SWIG_OK;
         
     | 
| 
      
 2310 
     | 
    
         
            +
                }
         
     | 
| 
      
 2311 
     | 
    
         
            +
              }
         
     | 
| 
      
 2312 
     | 
    
         
            +
              return SWIG_TypeError;
         
     | 
| 
      
 2313 
     | 
    
         
            +
            }
         
     | 
| 
      
 2314 
     | 
    
         
            +
            #endif
         
     | 
| 
       2183 
2315 
     | 
    
         | 
| 
       2184 
2316 
     | 
    
         | 
| 
       2185 
     | 
    
         
            -
             
     | 
| 
       2186 
     | 
    
         
            -
             
     | 
| 
       2187 
     | 
    
         
            -
            SWIGINTERNINLINE VALUE 
         
     | 
| 
       2188 
     | 
    
         
            -
            SWIG_From_long_SS_long  (long long value)
         
     | 
| 
      
 2317 
     | 
    
         
            +
            SWIGINTERNINLINE int
         
     | 
| 
      
 2318 
     | 
    
         
            +
            SWIG_AsVal_size_t (VALUE obj, size_t *val)
         
     | 
| 
       2189 
2319 
     | 
    
         
             
            {
         
     | 
| 
       2190 
     | 
    
         
            -
               
     | 
| 
      
 2320 
     | 
    
         
            +
              int res = SWIG_TypeError;
         
     | 
| 
      
 2321 
     | 
    
         
            +
            #ifdef SWIG_LONG_LONG_AVAILABLE
         
     | 
| 
      
 2322 
     | 
    
         
            +
              if (sizeof(size_t) <= sizeof(unsigned long)) {
         
     | 
| 
      
 2323 
     | 
    
         
            +
            #endif
         
     | 
| 
      
 2324 
     | 
    
         
            +
                unsigned long v;
         
     | 
| 
      
 2325 
     | 
    
         
            +
                res = SWIG_AsVal_unsigned_SS_long (obj, val ? &v : 0);
         
     | 
| 
      
 2326 
     | 
    
         
            +
                if (SWIG_IsOK(res) && val) *val = (size_t)(v);
         
     | 
| 
      
 2327 
     | 
    
         
            +
            #ifdef SWIG_LONG_LONG_AVAILABLE
         
     | 
| 
      
 2328 
     | 
    
         
            +
              } else if (sizeof(size_t) <= sizeof(unsigned long long)) {
         
     | 
| 
      
 2329 
     | 
    
         
            +
                unsigned long long v;
         
     | 
| 
      
 2330 
     | 
    
         
            +
                res = SWIG_AsVal_unsigned_SS_long_SS_long (obj, val ? &v : 0);
         
     | 
| 
      
 2331 
     | 
    
         
            +
                if (SWIG_IsOK(res) && val) *val = (size_t)(v);
         
     | 
| 
      
 2332 
     | 
    
         
            +
              }
         
     | 
| 
      
 2333 
     | 
    
         
            +
            #endif
         
     | 
| 
      
 2334 
     | 
    
         
            +
              return res;
         
     | 
| 
       2191 
2335 
     | 
    
         
             
            }
         
     | 
| 
       2192 
2336 
     | 
    
         | 
| 
       2193 
2337 
     | 
    
         | 
| 
      
 2338 
     | 
    
         
            +
            #ifdef SWIG_LONG_LONG_AVAILABLE
         
     | 
| 
       2194 
2339 
     | 
    
         
             
            SWIGINTERNINLINE VALUE 
         
     | 
| 
       2195 
2340 
     | 
    
         
             
            SWIG_From_unsigned_SS_long_SS_long  (unsigned long long value)
         
     | 
| 
       2196 
2341 
     | 
    
         
             
            {
         
     | 
| 
       2197 
2342 
     | 
    
         
             
              return ULL2NUM(value);
         
     | 
| 
       2198 
2343 
     | 
    
         
             
            }
         
     | 
| 
      
 2344 
     | 
    
         
            +
            #endif
         
     | 
| 
      
 2345 
     | 
    
         
            +
             
     | 
| 
      
 2346 
     | 
    
         
            +
             
     | 
| 
      
 2347 
     | 
    
         
            +
            SWIGINTERNINLINE VALUE
         
     | 
| 
      
 2348 
     | 
    
         
            +
            SWIG_From_size_t  (size_t value)
         
     | 
| 
      
 2349 
     | 
    
         
            +
            {    
         
     | 
| 
      
 2350 
     | 
    
         
            +
            #ifdef SWIG_LONG_LONG_AVAILABLE
         
     | 
| 
      
 2351 
     | 
    
         
            +
              if (sizeof(size_t) <= sizeof(unsigned long)) {
         
     | 
| 
      
 2352 
     | 
    
         
            +
            #endif
         
     | 
| 
      
 2353 
     | 
    
         
            +
                return SWIG_From_unsigned_SS_long  ((unsigned long)(value));
         
     | 
| 
      
 2354 
     | 
    
         
            +
            #ifdef SWIG_LONG_LONG_AVAILABLE
         
     | 
| 
      
 2355 
     | 
    
         
            +
              } else {
         
     | 
| 
      
 2356 
     | 
    
         
            +
                /* assume sizeof(size_t) <= sizeof(unsigned long long) */
         
     | 
| 
      
 2357 
     | 
    
         
            +
                return SWIG_From_unsigned_SS_long_SS_long  ((unsigned long long)(value));
         
     | 
| 
      
 2358 
     | 
    
         
            +
              }
         
     | 
| 
      
 2359 
     | 
    
         
            +
            #endif
         
     | 
| 
      
 2360 
     | 
    
         
            +
            }
         
     | 
| 
      
 2361 
     | 
    
         
            +
             
     | 
| 
      
 2362 
     | 
    
         
            +
             
     | 
| 
      
 2363 
     | 
    
         
            +
             
     | 
| 
       2199 
2364 
     | 
    
         | 
| 
       2200 
2365 
     | 
    
         | 
| 
       2201 
2366 
     | 
    
         
             
            SWIGINTERN int
         
     | 
| 
         @@ -2214,35 +2379,6 @@ SWIG_AsVal_unsigned_SS_int (VALUE obj, unsigned int *val) 
     | 
|
| 
       2214 
2379 
     | 
    
         
             
            }
         
     | 
| 
       2215 
2380 
     | 
    
         | 
| 
       2216 
2381 
     | 
    
         | 
| 
       2217 
     | 
    
         
            -
            /*@SWIG:/opt/local/share/swig/2.0.9/ruby/rubyprimtypes.swg,19,%ruby_aux_method@*/
         
     | 
| 
       2218 
     | 
    
         
            -
            SWIGINTERN VALUE SWIG_AUX_NUM2ULL(VALUE *args)
         
     | 
| 
       2219 
     | 
    
         
            -
            {
         
     | 
| 
       2220 
     | 
    
         
            -
              VALUE obj = args[0];
         
     | 
| 
       2221 
     | 
    
         
            -
              VALUE type = TYPE(obj);
         
     | 
| 
       2222 
     | 
    
         
            -
              long long *res = (long long *)(args[1]);
         
     | 
| 
       2223 
     | 
    
         
            -
              *res = type == T_FIXNUM ? NUM2ULL(obj) : rb_big2ull(obj);
         
     | 
| 
       2224 
     | 
    
         
            -
              return obj;
         
     | 
| 
       2225 
     | 
    
         
            -
            }
         
     | 
| 
       2226 
     | 
    
         
            -
            /*@SWIG@*/
         
     | 
| 
       2227 
     | 
    
         
            -
             
     | 
| 
       2228 
     | 
    
         
            -
            SWIGINTERN int
         
     | 
| 
       2229 
     | 
    
         
            -
            SWIG_AsVal_unsigned_SS_long_SS_long (VALUE obj, unsigned long long *val)
         
     | 
| 
       2230 
     | 
    
         
            -
            { 
         
     | 
| 
       2231 
     | 
    
         
            -
              VALUE type = TYPE(obj);
         
     | 
| 
       2232 
     | 
    
         
            -
              if ((type == T_FIXNUM) || (type == T_BIGNUM)) {
         
     | 
| 
       2233 
     | 
    
         
            -
                unsigned long long v;
         
     | 
| 
       2234 
     | 
    
         
            -
                VALUE a[2];
         
     | 
| 
       2235 
     | 
    
         
            -
                a[0] = obj;
         
     | 
| 
       2236 
     | 
    
         
            -
                a[1] = (VALUE)(&v);
         
     | 
| 
       2237 
     | 
    
         
            -
                if (rb_rescue(RUBY_METHOD_FUNC(SWIG_AUX_NUM2ULL), (VALUE)a, RUBY_METHOD_FUNC(SWIG_ruby_failed), 0) != Qnil) {
         
     | 
| 
       2238 
     | 
    
         
            -
                  if (val) *val = v;
         
     | 
| 
       2239 
     | 
    
         
            -
                  return SWIG_OK;
         
     | 
| 
       2240 
     | 
    
         
            -
                }
         
     | 
| 
       2241 
     | 
    
         
            -
              }
         
     | 
| 
       2242 
     | 
    
         
            -
              return SWIG_TypeError;
         
     | 
| 
       2243 
     | 
    
         
            -
            }
         
     | 
| 
       2244 
     | 
    
         
            -
             
     | 
| 
       2245 
     | 
    
         
            -
             
     | 
| 
       2246 
2382 
     | 
    
         
             
            SWIGINTERNINLINE VALUE
         
     | 
| 
       2247 
2383 
     | 
    
         
             
            SWIG_From_unsigned_SS_int  (unsigned int value)
         
     | 
| 
       2248 
2384 
     | 
    
         
             
            {    
         
     | 
| 
         @@ -2258,7 +2394,12 @@ VALUE rb_str_new_by_ref(char *ptr, long len) 
     | 
|
| 
       2258 
2394 
     | 
    
         
             
                #ifdef RSTRING_NOEMBED
         
     | 
| 
       2259 
2395 
     | 
    
         
             
                    /* Ruby 1.9 */
         
     | 
| 
       2260 
2396 
     | 
    
         
             
                    str->as.heap.ptr = ptr;
         
     | 
| 
       2261 
     | 
    
         
            -
                     
     | 
| 
      
 2397 
     | 
    
         
            +
                    #if RUBY_API_VERSION_MAJOR < 3 || (RUBY_API_VERSION_MAJOR == 3 && RUBY_API_VERSION_MINOR < 3)
         
     | 
| 
      
 2398 
     | 
    
         
            +
                        str->as.heap.len = len;
         
     | 
| 
      
 2399 
     | 
    
         
            +
                    #else
         
     | 
| 
      
 2400 
     | 
    
         
            +
                        // Ruby 3.3.0 moved the len field out of heap into toplevel RString
         
     | 
| 
      
 2401 
     | 
    
         
            +
                        str->len = len;
         
     | 
| 
      
 2402 
     | 
    
         
            +
                    #endif
         
     | 
| 
       2262 
2403 
     | 
    
         
             
                    str->as.heap.aux.capa = len + 1;
         
     | 
| 
       2263 
2404 
     | 
    
         
             
                    // Set STR_NOEMBED
         
     | 
| 
       2264 
2405 
     | 
    
         
             
                    FL_SET(str, FL_USER1);
         
     | 
| 
         @@ -2806,22 +2947,20 @@ fail: 
     | 
|
| 
       2806 
2947 
     | 
    
         
             
            }
         
     | 
| 
       2807 
2948 
     | 
    
         | 
| 
       2808 
2949 
     | 
    
         | 
| 
       2809 
     | 
    
         
            -
            #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
         
     | 
| 
       2810 
2950 
     | 
    
         
             
            SWIGINTERN VALUE
         
     | 
| 
       2811 
     | 
    
         
            -
             
     | 
| 
      
 2951 
     | 
    
         
            +
            #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
         
     | 
| 
      
 2952 
     | 
    
         
            +
            _wrap_MemcachedAnalysisSt_allocate(VALUE self)
         
     | 
| 
       2812 
2953 
     | 
    
         
             
            #else
         
     | 
| 
       2813 
     | 
    
         
            -
             
     | 
| 
       2814 
     | 
    
         
            -
              _wrap_MemcachedAnalysisSt_allocate(int argc, VALUE *argv, VALUE self) {
         
     | 
| 
      
 2954 
     | 
    
         
            +
            _wrap_MemcachedAnalysisSt_allocate(int argc, VALUE *argv, VALUE self)
         
     | 
| 
       2815 
2955 
     | 
    
         
             
            #endif
         
     | 
| 
       2816 
     | 
    
         
            -
             
     | 
| 
       2817 
     | 
    
         
            -
             
     | 
| 
       2818 
     | 
    
         
            -
                VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_memcached_analysis_st);
         
     | 
| 
      
 2956 
     | 
    
         
            +
            {
         
     | 
| 
      
 2957 
     | 
    
         
            +
              VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_memcached_analysis_st);
         
     | 
| 
       2819 
2958 
     | 
    
         
             
            #ifndef HAVE_RB_DEFINE_ALLOC_FUNC
         
     | 
| 
       2820 
     | 
    
         
            -
             
     | 
| 
      
 2959 
     | 
    
         
            +
              rb_obj_call_init(vresult, argc, argv);
         
     | 
| 
       2821 
2960 
     | 
    
         
             
            #endif
         
     | 
| 
       2822 
     | 
    
         
            -
             
     | 
| 
       2823 
     | 
    
         
            -
             
     | 
| 
       2824 
     | 
    
         
            -
             
     | 
| 
      
 2961 
     | 
    
         
            +
              return vresult;
         
     | 
| 
      
 2962 
     | 
    
         
            +
            }
         
     | 
| 
      
 2963 
     | 
    
         
            +
             
     | 
| 
       2825 
2964 
     | 
    
         | 
| 
       2826 
2965 
     | 
    
         
             
            SWIGINTERN VALUE
         
     | 
| 
       2827 
2966 
     | 
    
         
             
            _wrap_new_MemcachedAnalysisSt(int argc, VALUE *argv, VALUE self) {
         
     | 
| 
         @@ -2839,7 +2978,8 @@ fail: 
     | 
|
| 
       2839 
2978 
     | 
    
         | 
| 
       2840 
2979 
     | 
    
         | 
| 
       2841 
2980 
     | 
    
         
             
            SWIGINTERN void
         
     | 
| 
       2842 
     | 
    
         
            -
            free_memcached_analysis_st( 
     | 
| 
      
 2981 
     | 
    
         
            +
            free_memcached_analysis_st(void *self) {
         
     | 
| 
      
 2982 
     | 
    
         
            +
                struct memcached_analysis_st *arg1 = (struct memcached_analysis_st *)self;
         
     | 
| 
       2843 
2983 
     | 
    
         
             
                free((char *) arg1);
         
     | 
| 
       2844 
2984 
     | 
    
         
             
            }
         
     | 
| 
       2845 
2985 
     | 
    
         | 
| 
         @@ -4251,7 +4391,7 @@ fail: 
     | 
|
| 
       4251 
4391 
     | 
    
         
             
            SWIGINTERN VALUE
         
     | 
| 
       4252 
4392 
     | 
    
         
             
            _wrap_MemcachedStatSt_version_set(int argc, VALUE *argv, VALUE self) {
         
     | 
| 
       4253 
4393 
     | 
    
         
             
              struct memcached_stat_st *arg1 = (struct memcached_stat_st *) 0 ;
         
     | 
| 
       4254 
     | 
    
         
            -
              char *arg2 ;
         
     | 
| 
      
 4394 
     | 
    
         
            +
              char *arg2 = (char *) (char *)0 ;
         
     | 
| 
       4255 
4395 
     | 
    
         
             
              void *argp1 = 0 ;
         
     | 
| 
       4256 
4396 
     | 
    
         
             
              int res1 = 0 ;
         
     | 
| 
       4257 
4397 
     | 
    
         
             
              char temp2[24] ;
         
     | 
| 
         @@ -4296,9 +4436,9 @@ _wrap_MemcachedStatSt_version_get(int argc, VALUE *argv, VALUE self) { 
     | 
|
| 
       4296 
4436 
     | 
    
         
             
              arg1 = (struct memcached_stat_st *)(argp1);
         
     | 
| 
       4297 
4437 
     | 
    
         
             
              result = (char *)(char *) ((arg1)->version);
         
     | 
| 
       4298 
4438 
     | 
    
         
             
              {
         
     | 
| 
       4299 
     | 
    
         
            -
                size_t size = 24;
         
     | 
| 
      
 4439 
     | 
    
         
            +
                size_t size = SWIG_strnlen(result, 24);
         
     | 
| 
      
 4440 
     | 
    
         
            +
                
         
     | 
| 
       4300 
4441 
     | 
    
         | 
| 
       4301 
     | 
    
         
            -
                while (size && (result[size - 1] == '\0')) --size;
         
     | 
| 
       4302 
4442 
     | 
    
         | 
| 
       4303 
4443 
     | 
    
         
             
                vresult = SWIG_FromCharPtrAndSize(result, size);
         
     | 
| 
       4304 
4444 
     | 
    
         
             
              }
         
     | 
| 
         @@ -4308,22 +4448,20 @@ fail: 
     | 
|
| 
       4308 
4448 
     | 
    
         
             
            }
         
     | 
| 
       4309 
4449 
     | 
    
         | 
| 
       4310 
4450 
     | 
    
         | 
| 
       4311 
     | 
    
         
            -
            #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
         
     | 
| 
       4312 
4451 
     | 
    
         
             
            SWIGINTERN VALUE
         
     | 
| 
       4313 
     | 
    
         
            -
             
     | 
| 
      
 4452 
     | 
    
         
            +
            #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
         
     | 
| 
      
 4453 
     | 
    
         
            +
            _wrap_MemcachedStatSt_allocate(VALUE self)
         
     | 
| 
       4314 
4454 
     | 
    
         
             
            #else
         
     | 
| 
       4315 
     | 
    
         
            -
             
     | 
| 
       4316 
     | 
    
         
            -
              _wrap_MemcachedStatSt_allocate(int argc, VALUE *argv, VALUE self) {
         
     | 
| 
      
 4455 
     | 
    
         
            +
            _wrap_MemcachedStatSt_allocate(int argc, VALUE *argv, VALUE self)
         
     | 
| 
       4317 
4456 
     | 
    
         
             
            #endif
         
     | 
| 
       4318 
     | 
    
         
            -
             
     | 
| 
       4319 
     | 
    
         
            -
             
     | 
| 
       4320 
     | 
    
         
            -
                VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_memcached_stat_st);
         
     | 
| 
      
 4457 
     | 
    
         
            +
            {
         
     | 
| 
      
 4458 
     | 
    
         
            +
              VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_memcached_stat_st);
         
     | 
| 
       4321 
4459 
     | 
    
         
             
            #ifndef HAVE_RB_DEFINE_ALLOC_FUNC
         
     | 
| 
       4322 
     | 
    
         
            -
             
     | 
| 
      
 4460 
     | 
    
         
            +
              rb_obj_call_init(vresult, argc, argv);
         
     | 
| 
       4323 
4461 
     | 
    
         
             
            #endif
         
     | 
| 
       4324 
     | 
    
         
            -
             
     | 
| 
       4325 
     | 
    
         
            -
             
     | 
| 
       4326 
     | 
    
         
            -
             
     | 
| 
      
 4462 
     | 
    
         
            +
              return vresult;
         
     | 
| 
      
 4463 
     | 
    
         
            +
            }
         
     | 
| 
      
 4464 
     | 
    
         
            +
             
     | 
| 
       4327 
4465 
     | 
    
         | 
| 
       4328 
4466 
     | 
    
         
             
            SWIGINTERN VALUE
         
     | 
| 
       4329 
4467 
     | 
    
         
             
            _wrap_new_MemcachedStatSt(int argc, VALUE *argv, VALUE self) {
         
     | 
| 
         @@ -4501,7 +4639,6 @@ fail: 
     | 
|
| 
       4501 
4639 
     | 
    
         
             
            }
         
     | 
| 
       4502 
4640 
     | 
    
         | 
| 
       4503 
4641 
     | 
    
         | 
| 
       4504 
     | 
    
         
            -
             
     | 
| 
       4505 
4642 
     | 
    
         
             
            /*
         
     | 
| 
       4506 
4643 
     | 
    
         
             
              Document-method: Rlibmemcached::MemcachedSt.hash
         
     | 
| 
       4507 
4644 
     | 
    
         | 
| 
         @@ -4510,7 +4647,6 @@ fail: 
     | 
|
| 
       4510 
4647 
     | 
    
         | 
| 
       4511 
4648 
     | 
    
         
             
            Hashing function for class.
         
     | 
| 
       4512 
4649 
     | 
    
         
             
            */
         
     | 
| 
       4513 
     | 
    
         
            -
             
     | 
| 
       4514 
4650 
     | 
    
         
             
            /*
         
     | 
| 
       4515 
4651 
     | 
    
         
             
              Document-method: Rlibmemcached::MemcachedSt.hash=
         
     | 
| 
       4516 
4652 
     | 
    
         | 
| 
         @@ -4738,7 +4874,7 @@ _wrap_MemcachedSt_snd_timeout_get(int argc, VALUE *argv, VALUE self) { 
     | 
|
| 
       4738 
4874 
     | 
    
         
             
              }
         
     | 
| 
       4739 
4875 
     | 
    
         
             
              arg1 = (struct memcached_st *)(argp1);
         
     | 
| 
       4740 
4876 
     | 
    
         
             
              result =  ((arg1)->snd_timeout);
         
     | 
| 
       4741 
     | 
    
         
            -
              vresult = SWIG_NewPointerObj((int32_t *)memcpy((int32_t *) 
     | 
| 
      
 4877 
     | 
    
         
            +
              vresult = SWIG_NewPointerObj((int32_t *)memcpy((int32_t *)calloc(1,sizeof(int32_t)),&result,sizeof(int32_t)), SWIGTYPE_p_int32_t, SWIG_POINTER_OWN |  0 );
         
     | 
| 
       4742 
4878 
     | 
    
         
             
              return vresult;
         
     | 
| 
       4743 
4879 
     | 
    
         
             
            fail:
         
     | 
| 
       4744 
4880 
     | 
    
         
             
              return Qnil;
         
     | 
| 
         @@ -4797,7 +4933,66 @@ _wrap_MemcachedSt_rcv_timeout_get(int argc, VALUE *argv, VALUE self) { 
     | 
|
| 
       4797 
4933 
     | 
    
         
             
              }
         
     | 
| 
       4798 
4934 
     | 
    
         
             
              arg1 = (struct memcached_st *)(argp1);
         
     | 
| 
       4799 
4935 
     | 
    
         
             
              result =  ((arg1)->rcv_timeout);
         
     | 
| 
       4800 
     | 
    
         
            -
              vresult = SWIG_NewPointerObj((int32_t *)memcpy((int32_t *) 
     | 
| 
      
 4936 
     | 
    
         
            +
              vresult = SWIG_NewPointerObj((int32_t *)memcpy((int32_t *)calloc(1,sizeof(int32_t)),&result,sizeof(int32_t)), SWIGTYPE_p_int32_t, SWIG_POINTER_OWN |  0 );
         
     | 
| 
      
 4937 
     | 
    
         
            +
              return vresult;
         
     | 
| 
      
 4938 
     | 
    
         
            +
            fail:
         
     | 
| 
      
 4939 
     | 
    
         
            +
              return Qnil;
         
     | 
| 
      
 4940 
     | 
    
         
            +
            }
         
     | 
| 
      
 4941 
     | 
    
         
            +
             
     | 
| 
      
 4942 
     | 
    
         
            +
             
     | 
| 
      
 4943 
     | 
    
         
            +
            SWIGINTERN VALUE
         
     | 
| 
      
 4944 
     | 
    
         
            +
            _wrap_MemcachedSt_poll_max_retries_set(int argc, VALUE *argv, VALUE self) {
         
     | 
| 
      
 4945 
     | 
    
         
            +
              struct memcached_st *arg1 = (struct memcached_st *) 0 ;
         
     | 
| 
      
 4946 
     | 
    
         
            +
              int32_t arg2 ;
         
     | 
| 
      
 4947 
     | 
    
         
            +
              void *argp1 = 0 ;
         
     | 
| 
      
 4948 
     | 
    
         
            +
              int res1 = 0 ;
         
     | 
| 
      
 4949 
     | 
    
         
            +
              void *argp2 ;
         
     | 
| 
      
 4950 
     | 
    
         
            +
              int res2 = 0 ;
         
     | 
| 
      
 4951 
     | 
    
         
            +
              
         
     | 
| 
      
 4952 
     | 
    
         
            +
              if ((argc < 1) || (argc > 1)) {
         
     | 
| 
      
 4953 
     | 
    
         
            +
                rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",argc); SWIG_fail;
         
     | 
| 
      
 4954 
     | 
    
         
            +
              }
         
     | 
| 
      
 4955 
     | 
    
         
            +
              res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_memcached_st, 0 |  0 );
         
     | 
| 
      
 4956 
     | 
    
         
            +
              if (!SWIG_IsOK(res1)) {
         
     | 
| 
      
 4957 
     | 
    
         
            +
                SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "struct memcached_st *","poll_max_retries", 1, self )); 
         
     | 
| 
      
 4958 
     | 
    
         
            +
              }
         
     | 
| 
      
 4959 
     | 
    
         
            +
              arg1 = (struct memcached_st *)(argp1);
         
     | 
| 
      
 4960 
     | 
    
         
            +
              {
         
     | 
| 
      
 4961 
     | 
    
         
            +
                res2 = SWIG_ConvertPtr(argv[0], &argp2, SWIGTYPE_p_int32_t,  0 );
         
     | 
| 
      
 4962 
     | 
    
         
            +
                if (!SWIG_IsOK(res2)) {
         
     | 
| 
      
 4963 
     | 
    
         
            +
                  SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "int32_t","poll_max_retries", 2, argv[0] )); 
         
     | 
| 
      
 4964 
     | 
    
         
            +
                }  
         
     | 
| 
      
 4965 
     | 
    
         
            +
                if (!argp2) {
         
     | 
| 
      
 4966 
     | 
    
         
            +
                  SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "int32_t","poll_max_retries", 2, argv[0]));
         
     | 
| 
      
 4967 
     | 
    
         
            +
                } else {
         
     | 
| 
      
 4968 
     | 
    
         
            +
                  arg2 = *((int32_t *)(argp2));
         
     | 
| 
      
 4969 
     | 
    
         
            +
                }
         
     | 
| 
      
 4970 
     | 
    
         
            +
              }
         
     | 
| 
      
 4971 
     | 
    
         
            +
              if (arg1) (arg1)->poll_max_retries = arg2;
         
     | 
| 
      
 4972 
     | 
    
         
            +
              return Qnil;
         
     | 
| 
      
 4973 
     | 
    
         
            +
            fail:
         
     | 
| 
      
 4974 
     | 
    
         
            +
              return Qnil;
         
     | 
| 
      
 4975 
     | 
    
         
            +
            }
         
     | 
| 
      
 4976 
     | 
    
         
            +
             
     | 
| 
      
 4977 
     | 
    
         
            +
             
     | 
| 
      
 4978 
     | 
    
         
            +
            SWIGINTERN VALUE
         
     | 
| 
      
 4979 
     | 
    
         
            +
            _wrap_MemcachedSt_poll_max_retries_get(int argc, VALUE *argv, VALUE self) {
         
     | 
| 
      
 4980 
     | 
    
         
            +
              struct memcached_st *arg1 = (struct memcached_st *) 0 ;
         
     | 
| 
      
 4981 
     | 
    
         
            +
              void *argp1 = 0 ;
         
     | 
| 
      
 4982 
     | 
    
         
            +
              int res1 = 0 ;
         
     | 
| 
      
 4983 
     | 
    
         
            +
              int32_t result;
         
     | 
| 
      
 4984 
     | 
    
         
            +
              VALUE vresult = Qnil;
         
     | 
| 
      
 4985 
     | 
    
         
            +
              
         
     | 
| 
      
 4986 
     | 
    
         
            +
              if ((argc < 0) || (argc > 0)) {
         
     | 
| 
      
 4987 
     | 
    
         
            +
                rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); SWIG_fail;
         
     | 
| 
      
 4988 
     | 
    
         
            +
              }
         
     | 
| 
      
 4989 
     | 
    
         
            +
              res1 = SWIG_ConvertPtr(self, &argp1,SWIGTYPE_p_memcached_st, 0 |  0 );
         
     | 
| 
      
 4990 
     | 
    
         
            +
              if (!SWIG_IsOK(res1)) {
         
     | 
| 
      
 4991 
     | 
    
         
            +
                SWIG_exception_fail(SWIG_ArgError(res1), Ruby_Format_TypeError( "", "struct memcached_st *","poll_max_retries", 1, self )); 
         
     | 
| 
      
 4992 
     | 
    
         
            +
              }
         
     | 
| 
      
 4993 
     | 
    
         
            +
              arg1 = (struct memcached_st *)(argp1);
         
     | 
| 
      
 4994 
     | 
    
         
            +
              result =  ((arg1)->poll_max_retries);
         
     | 
| 
      
 4995 
     | 
    
         
            +
              vresult = SWIG_NewPointerObj((int32_t *)memcpy((int32_t *)calloc(1,sizeof(int32_t)),&result,sizeof(int32_t)), SWIGTYPE_p_int32_t, SWIG_POINTER_OWN |  0 );
         
     | 
| 
       4801 
4996 
     | 
    
         
             
              return vresult;
         
     | 
| 
       4802 
4997 
     | 
    
         
             
            fail:
         
     | 
| 
       4803 
4998 
     | 
    
         
             
              return Qnil;
         
     | 
| 
         @@ -5328,7 +5523,7 @@ _wrap_MemcachedSt_poll_timeout_get(int argc, VALUE *argv, VALUE self) { 
     | 
|
| 
       5328 
5523 
     | 
    
         
             
              }
         
     | 
| 
       5329 
5524 
     | 
    
         
             
              arg1 = (struct memcached_st *)(argp1);
         
     | 
| 
       5330 
5525 
     | 
    
         
             
              result =  ((arg1)->poll_timeout);
         
     | 
| 
       5331 
     | 
    
         
            -
              vresult = SWIG_NewPointerObj((int32_t *)memcpy((int32_t *) 
     | 
| 
      
 5526 
     | 
    
         
            +
              vresult = SWIG_NewPointerObj((int32_t *)memcpy((int32_t *)calloc(1,sizeof(int32_t)),&result,sizeof(int32_t)), SWIGTYPE_p_int32_t, SWIG_POINTER_OWN |  0 );
         
     | 
| 
       5332 
5527 
     | 
    
         
             
              return vresult;
         
     | 
| 
       5333 
5528 
     | 
    
         
             
            fail:
         
     | 
| 
       5334 
5529 
     | 
    
         
             
              return Qnil;
         
     | 
| 
         @@ -5387,7 +5582,7 @@ _wrap_MemcachedSt_connect_timeout_get(int argc, VALUE *argv, VALUE self) { 
     | 
|
| 
       5387 
5582 
     | 
    
         
             
              }
         
     | 
| 
       5388 
5583 
     | 
    
         
             
              arg1 = (struct memcached_st *)(argp1);
         
     | 
| 
       5389 
5584 
     | 
    
         
             
              result =  ((arg1)->connect_timeout);
         
     | 
| 
       5390 
     | 
    
         
            -
              vresult = SWIG_NewPointerObj((int32_t *)memcpy((int32_t *) 
     | 
| 
      
 5585 
     | 
    
         
            +
              vresult = SWIG_NewPointerObj((int32_t *)memcpy((int32_t *)calloc(1,sizeof(int32_t)),&result,sizeof(int32_t)), SWIGTYPE_p_int32_t, SWIG_POINTER_OWN |  0 );
         
     | 
| 
       5391 
5586 
     | 
    
         
             
              return vresult;
         
     | 
| 
       5392 
5587 
     | 
    
         
             
            fail:
         
     | 
| 
       5393 
5588 
     | 
    
         
             
              return Qnil;
         
     | 
| 
         @@ -5446,7 +5641,7 @@ _wrap_MemcachedSt_retry_timeout_get(int argc, VALUE *argv, VALUE self) { 
     | 
|
| 
       5446 
5641 
     | 
    
         
             
              }
         
     | 
| 
       5447 
5642 
     | 
    
         
             
              arg1 = (struct memcached_st *)(argp1);
         
     | 
| 
       5448 
5643 
     | 
    
         
             
              result =  ((arg1)->retry_timeout);
         
     | 
| 
       5449 
     | 
    
         
            -
              vresult = SWIG_NewPointerObj((int32_t *)memcpy((int32_t *) 
     | 
| 
      
 5644 
     | 
    
         
            +
              vresult = SWIG_NewPointerObj((int32_t *)memcpy((int32_t *)calloc(1,sizeof(int32_t)),&result,sizeof(int32_t)), SWIGTYPE_p_int32_t, SWIG_POINTER_OWN |  0 );
         
     | 
| 
       5450 
5645 
     | 
    
         
             
              return vresult;
         
     | 
| 
       5451 
5646 
     | 
    
         
             
            fail:
         
     | 
| 
       5452 
5647 
     | 
    
         
             
              return Qnil;
         
     | 
| 
         @@ -5690,7 +5885,7 @@ _wrap_MemcachedSt_next_distribution_rebuild_set(int argc, VALUE *argv, VALUE sel 
     | 
|
| 
       5690 
5885 
     | 
    
         
             
                if (NIL_P(argv[0]))
         
     | 
| 
       5691 
5886 
     | 
    
         
             
                arg2 = (time_t)-1;
         
     | 
| 
       5692 
5887 
     | 
    
         
             
                else
         
     | 
| 
       5693 
     | 
    
         
            -
                arg2 = NUM2LONG( 
     | 
| 
      
 5888 
     | 
    
         
            +
                arg2 = NUM2LONG(rb_funcall2(argv[0], rb_intern("tv_sec"), 0, 0));
         
     | 
| 
       5694 
5889 
     | 
    
         
             
              }
         
     | 
| 
       5695 
5890 
     | 
    
         
             
              if (arg1) (arg1)->next_distribution_rebuild = arg2;
         
     | 
| 
       5696 
5891 
     | 
    
         
             
              return Qnil;
         
     | 
| 
         @@ -5883,7 +6078,7 @@ _wrap_MemcachedSt_result_get(int argc, VALUE *argv, VALUE self) { 
     | 
|
| 
       5883 
6078 
     | 
    
         
             
              }
         
     | 
| 
       5884 
6079 
     | 
    
         
             
              arg1 = (struct memcached_st *)(argp1);
         
     | 
| 
       5885 
6080 
     | 
    
         
             
              result =  ((arg1)->result);
         
     | 
| 
       5886 
     | 
    
         
            -
              vresult = SWIG_NewPointerObj((memcached_result_st *)memcpy((memcached_result_st *) 
     | 
| 
      
 6081 
     | 
    
         
            +
              vresult = SWIG_NewPointerObj((memcached_result_st *)memcpy((memcached_result_st *)calloc(1,sizeof(memcached_result_st)),&result,sizeof(memcached_result_st)), SWIGTYPE_p_memcached_result_st, SWIG_POINTER_OWN |  0 );
         
     | 
| 
       5887 
6082 
     | 
    
         
             
              return vresult;
         
     | 
| 
       5888 
6083 
     | 
    
         
             
            fail:
         
     | 
| 
       5889 
6084 
     | 
    
         
             
              return Qnil;
         
     | 
| 
         @@ -5995,7 +6190,7 @@ _wrap_MemcachedSt_on_clone_get(int argc, VALUE *argv, VALUE self) { 
     | 
|
| 
       5995 
6190 
     | 
    
         
             
              }
         
     | 
| 
       5996 
6191 
     | 
    
         
             
              arg1 = (struct memcached_st *)(argp1);
         
     | 
| 
       5997 
6192 
     | 
    
         
             
              result =  ((arg1)->on_clone);
         
     | 
| 
       5998 
     | 
    
         
            -
              vresult = SWIG_NewPointerObj((memcached_clone_func *)memcpy((memcached_clone_func *) 
     | 
| 
      
 6193 
     | 
    
         
            +
              vresult = SWIG_NewPointerObj((memcached_clone_func *)memcpy((memcached_clone_func *)calloc(1,sizeof(memcached_clone_func)),&result,sizeof(memcached_clone_func)), SWIGTYPE_p_memcached_clone_func, SWIG_POINTER_OWN |  0 );
         
     | 
| 
       5999 
6194 
     | 
    
         
             
              return vresult;
         
     | 
| 
       6000 
6195 
     | 
    
         
             
            fail:
         
     | 
| 
       6001 
6196 
     | 
    
         
             
              return Qnil;
         
     | 
| 
         @@ -6054,7 +6249,7 @@ _wrap_MemcachedSt_on_cleanup_get(int argc, VALUE *argv, VALUE self) { 
     | 
|
| 
       6054 
6249 
     | 
    
         
             
              }
         
     | 
| 
       6055 
6250 
     | 
    
         
             
              arg1 = (struct memcached_st *)(argp1);
         
     | 
| 
       6056 
6251 
     | 
    
         
             
              result =  ((arg1)->on_cleanup);
         
     | 
| 
       6057 
     | 
    
         
            -
              vresult = SWIG_NewPointerObj((memcached_cleanup_func *)memcpy((memcached_cleanup_func *) 
     | 
| 
      
 6252 
     | 
    
         
            +
              vresult = SWIG_NewPointerObj((memcached_cleanup_func *)memcpy((memcached_cleanup_func *)calloc(1,sizeof(memcached_cleanup_func)),&result,sizeof(memcached_cleanup_func)), SWIGTYPE_p_memcached_cleanup_func, SWIG_POINTER_OWN |  0 );
         
     | 
| 
       6058 
6253 
     | 
    
         
             
              return vresult;
         
     | 
| 
       6059 
6254 
     | 
    
         
             
            fail:
         
     | 
| 
       6060 
6255 
     | 
    
         
             
              return Qnil;
         
     | 
| 
         @@ -6113,7 +6308,7 @@ _wrap_MemcachedSt_call_free_get(int argc, VALUE *argv, VALUE self) { 
     | 
|
| 
       6113 
6308 
     | 
    
         
             
              }
         
     | 
| 
       6114 
6309 
     | 
    
         
             
              arg1 = (struct memcached_st *)(argp1);
         
     | 
| 
       6115 
6310 
     | 
    
         
             
              result =  ((arg1)->call_free);
         
     | 
| 
       6116 
     | 
    
         
            -
              vresult = SWIG_NewPointerObj((memcached_free_function *)memcpy((memcached_free_function *) 
     | 
| 
      
 6311 
     | 
    
         
            +
              vresult = SWIG_NewPointerObj((memcached_free_function *)memcpy((memcached_free_function *)calloc(1,sizeof(memcached_free_function)),&result,sizeof(memcached_free_function)), SWIGTYPE_p_memcached_free_function, SWIG_POINTER_OWN |  0 );
         
     | 
| 
       6117 
6312 
     | 
    
         
             
              return vresult;
         
     | 
| 
       6118 
6313 
     | 
    
         
             
            fail:
         
     | 
| 
       6119 
6314 
     | 
    
         
             
              return Qnil;
         
     | 
| 
         @@ -6172,7 +6367,7 @@ _wrap_MemcachedSt_call_malloc_get(int argc, VALUE *argv, VALUE self) { 
     | 
|
| 
       6172 
6367 
     | 
    
         
             
              }
         
     | 
| 
       6173 
6368 
     | 
    
         
             
              arg1 = (struct memcached_st *)(argp1);
         
     | 
| 
       6174 
6369 
     | 
    
         
             
              result =  ((arg1)->call_malloc);
         
     | 
| 
       6175 
     | 
    
         
            -
              vresult = SWIG_NewPointerObj((memcached_malloc_function *)memcpy((memcached_malloc_function *) 
     | 
| 
      
 6370 
     | 
    
         
            +
              vresult = SWIG_NewPointerObj((memcached_malloc_function *)memcpy((memcached_malloc_function *)calloc(1,sizeof(memcached_malloc_function)),&result,sizeof(memcached_malloc_function)), SWIGTYPE_p_memcached_malloc_function, SWIG_POINTER_OWN |  0 );
         
     | 
| 
       6176 
6371 
     | 
    
         
             
              return vresult;
         
     | 
| 
       6177 
6372 
     | 
    
         
             
            fail:
         
     | 
| 
       6178 
6373 
     | 
    
         
             
              return Qnil;
         
     | 
| 
         @@ -6231,7 +6426,7 @@ _wrap_MemcachedSt_call_realloc_get(int argc, VALUE *argv, VALUE self) { 
     | 
|
| 
       6231 
6426 
     | 
    
         
             
              }
         
     | 
| 
       6232 
6427 
     | 
    
         
             
              arg1 = (struct memcached_st *)(argp1);
         
     | 
| 
       6233 
6428 
     | 
    
         
             
              result =  ((arg1)->call_realloc);
         
     | 
| 
       6234 
     | 
    
         
            -
              vresult = SWIG_NewPointerObj((memcached_realloc_function *)memcpy((memcached_realloc_function *) 
     | 
| 
      
 6429 
     | 
    
         
            +
              vresult = SWIG_NewPointerObj((memcached_realloc_function *)memcpy((memcached_realloc_function *)calloc(1,sizeof(memcached_realloc_function)),&result,sizeof(memcached_realloc_function)), SWIGTYPE_p_memcached_realloc_function, SWIG_POINTER_OWN |  0 );
         
     | 
| 
       6235 
6430 
     | 
    
         
             
              return vresult;
         
     | 
| 
       6236 
6431 
     | 
    
         
             
            fail:
         
     | 
| 
       6237 
6432 
     | 
    
         
             
              return Qnil;
         
     | 
| 
         @@ -6290,7 +6485,7 @@ _wrap_MemcachedSt_call_calloc_get(int argc, VALUE *argv, VALUE self) { 
     | 
|
| 
       6290 
6485 
     | 
    
         
             
              }
         
     | 
| 
       6291 
6486 
     | 
    
         
             
              arg1 = (struct memcached_st *)(argp1);
         
     | 
| 
       6292 
6487 
     | 
    
         
             
              result =  ((arg1)->call_calloc);
         
     | 
| 
       6293 
     | 
    
         
            -
              vresult = SWIG_NewPointerObj((memcached_calloc_function *)memcpy((memcached_calloc_function *) 
     | 
| 
      
 6488 
     | 
    
         
            +
              vresult = SWIG_NewPointerObj((memcached_calloc_function *)memcpy((memcached_calloc_function *)calloc(1,sizeof(memcached_calloc_function)),&result,sizeof(memcached_calloc_function)), SWIGTYPE_p_memcached_calloc_function, SWIG_POINTER_OWN |  0 );
         
     | 
| 
       6294 
6489 
     | 
    
         
             
              return vresult;
         
     | 
| 
       6295 
6490 
     | 
    
         
             
            fail:
         
     | 
| 
       6296 
6491 
     | 
    
         
             
              return Qnil;
         
     | 
| 
         @@ -6349,7 +6544,7 @@ _wrap_MemcachedSt_get_key_failure_get(int argc, VALUE *argv, VALUE self) { 
     | 
|
| 
       6349 
6544 
     | 
    
         
             
              }
         
     | 
| 
       6350 
6545 
     | 
    
         
             
              arg1 = (struct memcached_st *)(argp1);
         
     | 
| 
       6351 
6546 
     | 
    
         
             
              result =  ((arg1)->get_key_failure);
         
     | 
| 
       6352 
     | 
    
         
            -
              vresult = SWIG_NewPointerObj((memcached_trigger_key *)memcpy((memcached_trigger_key *) 
     | 
| 
      
 6547 
     | 
    
         
            +
              vresult = SWIG_NewPointerObj((memcached_trigger_key *)memcpy((memcached_trigger_key *)calloc(1,sizeof(memcached_trigger_key)),&result,sizeof(memcached_trigger_key)), SWIGTYPE_p_memcached_trigger_key, SWIG_POINTER_OWN |  0 );
         
     | 
| 
       6353 
6548 
     | 
    
         
             
              return vresult;
         
     | 
| 
       6354 
6549 
     | 
    
         
             
            fail:
         
     | 
| 
       6355 
6550 
     | 
    
         
             
              return Qnil;
         
     | 
| 
         @@ -6408,7 +6603,7 @@ _wrap_MemcachedSt_delete_trigger_get(int argc, VALUE *argv, VALUE self) { 
     | 
|
| 
       6408 
6603 
     | 
    
         
             
              }
         
     | 
| 
       6409 
6604 
     | 
    
         
             
              arg1 = (struct memcached_st *)(argp1);
         
     | 
| 
       6410 
6605 
     | 
    
         
             
              result =  ((arg1)->delete_trigger);
         
     | 
| 
       6411 
     | 
    
         
            -
              vresult = SWIG_NewPointerObj((memcached_trigger_delete_key *)memcpy((memcached_trigger_delete_key *) 
     | 
| 
      
 6606 
     | 
    
         
            +
              vresult = SWIG_NewPointerObj((memcached_trigger_delete_key *)memcpy((memcached_trigger_delete_key *)calloc(1,sizeof(memcached_trigger_delete_key)),&result,sizeof(memcached_trigger_delete_key)), SWIGTYPE_p_memcached_trigger_delete_key, SWIG_POINTER_OWN |  0 );
         
     | 
| 
       6412 
6607 
     | 
    
         
             
              return vresult;
         
     | 
| 
       6413 
6608 
     | 
    
         
             
            fail:
         
     | 
| 
       6414 
6609 
     | 
    
         
             
              return Qnil;
         
     | 
| 
         @@ -6418,7 +6613,7 @@ fail: 
     | 
|
| 
       6418 
6613 
     | 
    
         
             
            SWIGINTERN VALUE
         
     | 
| 
       6419 
6614 
     | 
    
         
             
            _wrap_MemcachedSt_prefix_key_set(int argc, VALUE *argv, VALUE self) {
         
     | 
| 
       6420 
6615 
     | 
    
         
             
              struct memcached_st *arg1 = (struct memcached_st *) 0 ;
         
     | 
| 
       6421 
     | 
    
         
            -
              char *arg2 ;
         
     | 
| 
      
 6616 
     | 
    
         
            +
              char *arg2 = (char *) (char *)0 ;
         
     | 
| 
       6422 
6617 
     | 
    
         
             
              void *argp1 = 0 ;
         
     | 
| 
       6423 
6618 
     | 
    
         
             
              int res1 = 0 ;
         
     | 
| 
       6424 
6619 
     | 
    
         
             
              char temp2[MEMCACHED_PREFIX_KEY_MAX_SIZE] ;
         
     | 
| 
         @@ -6463,9 +6658,9 @@ _wrap_MemcachedSt_prefix_key_get(int argc, VALUE *argv, VALUE self) { 
     | 
|
| 
       6463 
6658 
     | 
    
         
             
              arg1 = (struct memcached_st *)(argp1);
         
     | 
| 
       6464 
6659 
     | 
    
         
             
              result = (char *)(char *) ((arg1)->prefix_key);
         
     | 
| 
       6465 
6660 
     | 
    
         
             
              {
         
     | 
| 
       6466 
     | 
    
         
            -
                size_t size = MEMCACHED_PREFIX_KEY_MAX_SIZE;
         
     | 
| 
      
 6661 
     | 
    
         
            +
                size_t size = SWIG_strnlen(result, MEMCACHED_PREFIX_KEY_MAX_SIZE);
         
     | 
| 
      
 6662 
     | 
    
         
            +
                
         
     | 
| 
       6467 
6663 
     | 
    
         | 
| 
       6468 
     | 
    
         
            -
                while (size && (result[size - 1] == '\0')) --size;
         
     | 
| 
       6469 
6664 
     | 
    
         | 
| 
       6470 
6665 
     | 
    
         
             
                vresult = SWIG_FromCharPtrAndSize(result, size);
         
     | 
| 
       6471 
6666 
     | 
    
         
             
              }
         
     | 
| 
         @@ -6756,22 +6951,20 @@ fail: 
     | 
|
| 
       6756 
6951 
     | 
    
         
             
            }
         
     | 
| 
       6757 
6952 
     | 
    
         | 
| 
       6758 
6953 
     | 
    
         | 
| 
       6759 
     | 
    
         
            -
            #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
         
     | 
| 
       6760 
6954 
     | 
    
         
             
            SWIGINTERN VALUE
         
     | 
| 
       6761 
     | 
    
         
            -
             
     | 
| 
      
 6955 
     | 
    
         
            +
            #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
         
     | 
| 
      
 6956 
     | 
    
         
            +
            _wrap_MemcachedSt_allocate(VALUE self)
         
     | 
| 
       6762 
6957 
     | 
    
         
             
            #else
         
     | 
| 
       6763 
     | 
    
         
            -
             
     | 
| 
       6764 
     | 
    
         
            -
              _wrap_MemcachedSt_allocate(int argc, VALUE *argv, VALUE self) {
         
     | 
| 
      
 6958 
     | 
    
         
            +
            _wrap_MemcachedSt_allocate(int argc, VALUE *argv, VALUE self)
         
     | 
| 
       6765 
6959 
     | 
    
         
             
            #endif
         
     | 
| 
       6766 
     | 
    
         
            -
             
     | 
| 
       6767 
     | 
    
         
            -
             
     | 
| 
       6768 
     | 
    
         
            -
                VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_memcached_st);
         
     | 
| 
      
 6960 
     | 
    
         
            +
            {
         
     | 
| 
      
 6961 
     | 
    
         
            +
              VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_memcached_st);
         
     | 
| 
       6769 
6962 
     | 
    
         
             
            #ifndef HAVE_RB_DEFINE_ALLOC_FUNC
         
     | 
| 
       6770 
     | 
    
         
            -
             
     | 
| 
      
 6963 
     | 
    
         
            +
              rb_obj_call_init(vresult, argc, argv);
         
     | 
| 
       6771 
6964 
     | 
    
         
             
            #endif
         
     | 
| 
       6772 
     | 
    
         
            -
             
     | 
| 
       6773 
     | 
    
         
            -
             
     | 
| 
       6774 
     | 
    
         
            -
             
     | 
| 
      
 6965 
     | 
    
         
            +
              return vresult;
         
     | 
| 
      
 6966 
     | 
    
         
            +
            }
         
     | 
| 
      
 6967 
     | 
    
         
            +
             
     | 
| 
       6775 
6968 
     | 
    
         | 
| 
       6776 
6969 
     | 
    
         
             
            SWIGINTERN VALUE
         
     | 
| 
       6777 
6970 
     | 
    
         
             
            _wrap_new_MemcachedSt(int argc, VALUE *argv, VALUE self) {
         
     | 
| 
         @@ -10265,7 +10458,7 @@ _wrap_MemcachedResultSt_value_get(int argc, VALUE *argv, VALUE self) { 
     | 
|
| 
       10265 
10458 
     | 
    
         
             
              }
         
     | 
| 
       10266 
10459 
     | 
    
         
             
              arg1 = (struct memcached_result_st *)(argp1);
         
     | 
| 
       10267 
10460 
     | 
    
         
             
              result =  ((arg1)->value);
         
     | 
| 
       10268 
     | 
    
         
            -
              vresult = SWIG_NewPointerObj((memcached_string_st *)memcpy((memcached_string_st *) 
     | 
| 
      
 10461 
     | 
    
         
            +
              vresult = SWIG_NewPointerObj((memcached_string_st *)memcpy((memcached_string_st *)calloc(1,sizeof(memcached_string_st)),&result,sizeof(memcached_string_st)), SWIGTYPE_p_memcached_string_st, SWIG_POINTER_OWN |  0 );
         
     | 
| 
       10269 
10462 
     | 
    
         
             
              return vresult;
         
     | 
| 
       10270 
10463 
     | 
    
         
             
            fail:
         
     | 
| 
       10271 
10464 
     | 
    
         
             
              return Qnil;
         
     | 
| 
         @@ -10275,7 +10468,7 @@ fail: 
     | 
|
| 
       10275 
10468 
     | 
    
         
             
            SWIGINTERN VALUE
         
     | 
| 
       10276 
10469 
     | 
    
         
             
            _wrap_MemcachedResultSt_key_set(int argc, VALUE *argv, VALUE self) {
         
     | 
| 
       10277 
10470 
     | 
    
         
             
              struct memcached_result_st *arg1 = (struct memcached_result_st *) 0 ;
         
     | 
| 
       10278 
     | 
    
         
            -
              char *arg2 ;
         
     | 
| 
      
 10471 
     | 
    
         
            +
              char *arg2 = (char *) (char *)0 ;
         
     | 
| 
       10279 
10472 
     | 
    
         
             
              void *argp1 = 0 ;
         
     | 
| 
       10280 
10473 
     | 
    
         
             
              int res1 = 0 ;
         
     | 
| 
       10281 
10474 
     | 
    
         
             
              char temp2[251] ;
         
     | 
| 
         @@ -10320,9 +10513,9 @@ _wrap_MemcachedResultSt_key_get(int argc, VALUE *argv, VALUE self) { 
     | 
|
| 
       10320 
10513 
     | 
    
         
             
              arg1 = (struct memcached_result_st *)(argp1);
         
     | 
| 
       10321 
10514 
     | 
    
         
             
              result = (char *)(char *) ((arg1)->key);
         
     | 
| 
       10322 
10515 
     | 
    
         
             
              {
         
     | 
| 
       10323 
     | 
    
         
            -
                size_t size = 251;
         
     | 
| 
      
 10516 
     | 
    
         
            +
                size_t size = SWIG_strnlen(result, 251);
         
     | 
| 
      
 10517 
     | 
    
         
            +
                
         
     | 
| 
       10324 
10518 
     | 
    
         | 
| 
       10325 
     | 
    
         
            -
                while (size && (result[size - 1] == '\0')) --size;
         
     | 
| 
       10326 
10519 
     | 
    
         | 
| 
       10327 
10520 
     | 
    
         
             
                vresult = SWIG_FromCharPtrAndSize(result, size);
         
     | 
| 
       10328 
10521 
     | 
    
         
             
              }
         
     | 
| 
         @@ -10332,22 +10525,20 @@ fail: 
     | 
|
| 
       10332 
10525 
     | 
    
         
             
            }
         
     | 
| 
       10333 
10526 
     | 
    
         | 
| 
       10334 
10527 
     | 
    
         | 
| 
       10335 
     | 
    
         
            -
            #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
         
     | 
| 
       10336 
10528 
     | 
    
         
             
            SWIGINTERN VALUE
         
     | 
| 
       10337 
     | 
    
         
            -
             
     | 
| 
      
 10529 
     | 
    
         
            +
            #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
         
     | 
| 
      
 10530 
     | 
    
         
            +
            _wrap_MemcachedResultSt_allocate(VALUE self)
         
     | 
| 
       10338 
10531 
     | 
    
         
             
            #else
         
     | 
| 
       10339 
     | 
    
         
            -
             
     | 
| 
       10340 
     | 
    
         
            -
              _wrap_MemcachedResultSt_allocate(int argc, VALUE *argv, VALUE self) {
         
     | 
| 
      
 10532 
     | 
    
         
            +
            _wrap_MemcachedResultSt_allocate(int argc, VALUE *argv, VALUE self)
         
     | 
| 
       10341 
10533 
     | 
    
         
             
            #endif
         
     | 
| 
       10342 
     | 
    
         
            -
             
     | 
| 
       10343 
     | 
    
         
            -
             
     | 
| 
       10344 
     | 
    
         
            -
                VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_memcached_result_st);
         
     | 
| 
      
 10534 
     | 
    
         
            +
            {
         
     | 
| 
      
 10535 
     | 
    
         
            +
              VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_memcached_result_st);
         
     | 
| 
       10345 
10536 
     | 
    
         
             
            #ifndef HAVE_RB_DEFINE_ALLOC_FUNC
         
     | 
| 
       10346 
     | 
    
         
            -
             
     | 
| 
      
 10537 
     | 
    
         
            +
              rb_obj_call_init(vresult, argc, argv);
         
     | 
| 
       10347 
10538 
     | 
    
         
             
            #endif
         
     | 
| 
       10348 
     | 
    
         
            -
             
     | 
| 
       10349 
     | 
    
         
            -
             
     | 
| 
       10350 
     | 
    
         
            -
             
     | 
| 
      
 10539 
     | 
    
         
            +
              return vresult;
         
     | 
| 
      
 10540 
     | 
    
         
            +
            }
         
     | 
| 
      
 10541 
     | 
    
         
            +
             
     | 
| 
       10351 
10542 
     | 
    
         | 
| 
       10352 
10543 
     | 
    
         
             
            SWIGINTERN VALUE
         
     | 
| 
       10353 
10544 
     | 
    
         
             
            _wrap_new_MemcachedResultSt(int argc, VALUE *argv, VALUE self) {
         
     | 
| 
         @@ -10365,7 +10556,8 @@ fail: 
     | 
|
| 
       10365 
10556 
     | 
    
         | 
| 
       10366 
10557 
     | 
    
         | 
| 
       10367 
10558 
     | 
    
         
             
            SWIGINTERN void
         
     | 
| 
       10368 
     | 
    
         
            -
            free_memcached_result_st( 
     | 
| 
      
 10559 
     | 
    
         
            +
            free_memcached_result_st(void *self) {
         
     | 
| 
      
 10560 
     | 
    
         
            +
                struct memcached_result_st *arg1 = (struct memcached_result_st *)self;
         
     | 
| 
       10369 
10561 
     | 
    
         
             
                free((char *) arg1);
         
     | 
| 
       10370 
10562 
     | 
    
         
             
            }
         
     | 
| 
       10371 
10563 
     | 
    
         | 
| 
         @@ -11309,10 +11501,10 @@ _wrap_MemcachedServerSt_read_ptr_set(int argc, VALUE *argv, VALUE self) { 
     | 
|
| 
       11309 
11501 
     | 
    
         
             
                SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "char *","read_ptr", 2, argv[0] ));
         
     | 
| 
       11310 
11502 
     | 
    
         
             
              }
         
     | 
| 
       11311 
11503 
     | 
    
         
             
              arg2 = (char *)(buf2);
         
     | 
| 
       11312 
     | 
    
         
            -
               
     | 
| 
      
 11504 
     | 
    
         
            +
              free((char*)arg1->read_ptr);
         
     | 
| 
       11313 
11505 
     | 
    
         
             
              if (arg2) {
         
     | 
| 
       11314 
11506 
     | 
    
         
             
                size_t size = strlen((const char *)(arg2)) + 1;
         
     | 
| 
       11315 
     | 
    
         
            -
                arg1->read_ptr = (char *)(char *)memcpy( 
     | 
| 
      
 11507 
     | 
    
         
            +
                arg1->read_ptr = (char *)(char *)memcpy(malloc((size)*sizeof(char)), (const char *)(arg2), sizeof(char)*(size));
         
     | 
| 
       11316 
11508 
     | 
    
         
             
              } else {
         
     | 
| 
       11317 
11509 
     | 
    
         
             
                arg1->read_ptr = 0;
         
     | 
| 
       11318 
11510 
     | 
    
         
             
              }
         
     | 
| 
         @@ -11371,10 +11563,10 @@ _wrap_MemcachedServerSt_cached_server_error_set(int argc, VALUE *argv, VALUE sel 
     | 
|
| 
       11371 
11563 
     | 
    
         
             
                SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "char *","cached_server_error", 2, argv[0] ));
         
     | 
| 
       11372 
11564 
     | 
    
         
             
              }
         
     | 
| 
       11373 
11565 
     | 
    
         
             
              arg2 = (char *)(buf2);
         
     | 
| 
       11374 
     | 
    
         
            -
               
     | 
| 
      
 11566 
     | 
    
         
            +
              free((char*)arg1->cached_server_error);
         
     | 
| 
       11375 
11567 
     | 
    
         
             
              if (arg2) {
         
     | 
| 
       11376 
11568 
     | 
    
         
             
                size_t size = strlen((const char *)(arg2)) + 1;
         
     | 
| 
       11377 
     | 
    
         
            -
                arg1->cached_server_error = (char *)(char *)memcpy( 
     | 
| 
      
 11569 
     | 
    
         
            +
                arg1->cached_server_error = (char *)(char *)memcpy(malloc((size)*sizeof(char)), (const char *)(arg2), sizeof(char)*(size));
         
     | 
| 
       11378 
11570 
     | 
    
         
             
              } else {
         
     | 
| 
       11379 
11571 
     | 
    
         
             
                arg1->cached_server_error = 0;
         
     | 
| 
       11380 
11572 
     | 
    
         
             
              }
         
     | 
| 
         @@ -11641,7 +11833,7 @@ _wrap_MemcachedServerSt_next_retry_set(int argc, VALUE *argv, VALUE self) { 
     | 
|
| 
       11641 
11833 
     | 
    
         
             
                if (NIL_P(argv[0]))
         
     | 
| 
       11642 
11834 
     | 
    
         
             
                arg2 = (time_t)-1;
         
     | 
| 
       11643 
11835 
     | 
    
         
             
                else
         
     | 
| 
       11644 
     | 
    
         
            -
                arg2 = NUM2LONG( 
     | 
| 
      
 11836 
     | 
    
         
            +
                arg2 = NUM2LONG(rb_funcall2(argv[0], rb_intern("tv_sec"), 0, 0));
         
     | 
| 
       11645 
11837 
     | 
    
         
             
              }
         
     | 
| 
       11646 
11838 
     | 
    
         
             
              if (arg1) (arg1)->next_retry = arg2;
         
     | 
| 
       11647 
11839 
     | 
    
         
             
              return Qnil;
         
     | 
| 
         @@ -11793,7 +11985,7 @@ fail: 
     | 
|
| 
       11793 
11985 
     | 
    
         
             
            SWIGINTERN VALUE
         
     | 
| 
       11794 
11986 
     | 
    
         
             
            _wrap_MemcachedServerSt_read_buffer_set(int argc, VALUE *argv, VALUE self) {
         
     | 
| 
       11795 
11987 
     | 
    
         
             
              struct memcached_server_st *arg1 = (struct memcached_server_st *) 0 ;
         
     | 
| 
       11796 
     | 
    
         
            -
              char *arg2 ;
         
     | 
| 
      
 11988 
     | 
    
         
            +
              char *arg2 = (char *) (char *)0 ;
         
     | 
| 
       11797 
11989 
     | 
    
         
             
              void *argp1 = 0 ;
         
     | 
| 
       11798 
11990 
     | 
    
         
             
              int res1 = 0 ;
         
     | 
| 
       11799 
11991 
     | 
    
         
             
              char temp2[8196] ;
         
     | 
| 
         @@ -11838,9 +12030,9 @@ _wrap_MemcachedServerSt_read_buffer_get(int argc, VALUE *argv, VALUE self) { 
     | 
|
| 
       11838 
12030 
     | 
    
         
             
              arg1 = (struct memcached_server_st *)(argp1);
         
     | 
| 
       11839 
12031 
     | 
    
         
             
              result = (char *)(char *) ((arg1)->read_buffer);
         
     | 
| 
       11840 
12032 
     | 
    
         
             
              {
         
     | 
| 
       11841 
     | 
    
         
            -
                size_t size = 8196;
         
     | 
| 
      
 12033 
     | 
    
         
            +
                size_t size = SWIG_strnlen(result, 8196);
         
     | 
| 
      
 12034 
     | 
    
         
            +
                
         
     | 
| 
       11842 
12035 
     | 
    
         | 
| 
       11843 
     | 
    
         
            -
                while (size && (result[size - 1] == '\0')) --size;
         
     | 
| 
       11844 
12036 
     | 
    
         | 
| 
       11845 
12037 
     | 
    
         
             
                vresult = SWIG_FromCharPtrAndSize(result, size);
         
     | 
| 
       11846 
12038 
     | 
    
         
             
              }
         
     | 
| 
         @@ -11853,7 +12045,7 @@ fail: 
     | 
|
| 
       11853 
12045 
     | 
    
         
             
            SWIGINTERN VALUE
         
     | 
| 
       11854 
12046 
     | 
    
         
             
            _wrap_MemcachedServerSt_write_buffer_set(int argc, VALUE *argv, VALUE self) {
         
     | 
| 
       11855 
12047 
     | 
    
         
             
              struct memcached_server_st *arg1 = (struct memcached_server_st *) 0 ;
         
     | 
| 
       11856 
     | 
    
         
            -
              char *arg2 ;
         
     | 
| 
      
 12048 
     | 
    
         
            +
              char *arg2 = (char *) (char *)0 ;
         
     | 
| 
       11857 
12049 
     | 
    
         
             
              void *argp1 = 0 ;
         
     | 
| 
       11858 
12050 
     | 
    
         
             
              int res1 = 0 ;
         
     | 
| 
       11859 
12051 
     | 
    
         
             
              char temp2[8196] ;
         
     | 
| 
         @@ -11898,9 +12090,9 @@ _wrap_MemcachedServerSt_write_buffer_get(int argc, VALUE *argv, VALUE self) { 
     | 
|
| 
       11898 
12090 
     | 
    
         
             
              arg1 = (struct memcached_server_st *)(argp1);
         
     | 
| 
       11899 
12091 
     | 
    
         
             
              result = (char *)(char *) ((arg1)->write_buffer);
         
     | 
| 
       11900 
12092 
     | 
    
         
             
              {
         
     | 
| 
       11901 
     | 
    
         
            -
                size_t size = 8196;
         
     | 
| 
      
 12093 
     | 
    
         
            +
                size_t size = SWIG_strnlen(result, 8196);
         
     | 
| 
      
 12094 
     | 
    
         
            +
                
         
     | 
| 
       11902 
12095 
     | 
    
         | 
| 
       11903 
     | 
    
         
            -
                while (size && (result[size - 1] == '\0')) --size;
         
     | 
| 
       11904 
12096 
     | 
    
         | 
| 
       11905 
12097 
     | 
    
         
             
                vresult = SWIG_FromCharPtrAndSize(result, size);
         
     | 
| 
       11906 
12098 
     | 
    
         
             
              }
         
     | 
| 
         @@ -11913,7 +12105,7 @@ fail: 
     | 
|
| 
       11913 
12105 
     | 
    
         
             
            SWIGINTERN VALUE
         
     | 
| 
       11914 
12106 
     | 
    
         
             
            _wrap_MemcachedServerSt_hostname_set(int argc, VALUE *argv, VALUE self) {
         
     | 
| 
       11915 
12107 
     | 
    
         
             
              struct memcached_server_st *arg1 = (struct memcached_server_st *) 0 ;
         
     | 
| 
       11916 
     | 
    
         
            -
              char *arg2 ;
         
     | 
| 
      
 12108 
     | 
    
         
            +
              char *arg2 = (char *) (char *)0 ;
         
     | 
| 
       11917 
12109 
     | 
    
         
             
              void *argp1 = 0 ;
         
     | 
| 
       11918 
12110 
     | 
    
         
             
              int res1 = 0 ;
         
     | 
| 
       11919 
12111 
     | 
    
         
             
              char temp2[64] ;
         
     | 
| 
         @@ -11958,9 +12150,9 @@ _wrap_MemcachedServerSt_hostname_get(int argc, VALUE *argv, VALUE self) { 
     | 
|
| 
       11958 
12150 
     | 
    
         
             
              arg1 = (struct memcached_server_st *)(argp1);
         
     | 
| 
       11959 
12151 
     | 
    
         
             
              result = (char *)(char *) ((arg1)->hostname);
         
     | 
| 
       11960 
12152 
     | 
    
         
             
              {
         
     | 
| 
       11961 
     | 
    
         
            -
                size_t size = 64;
         
     | 
| 
      
 12153 
     | 
    
         
            +
                size_t size = SWIG_strnlen(result, 64);
         
     | 
| 
      
 12154 
     | 
    
         
            +
                
         
     | 
| 
       11962 
12155 
     | 
    
         | 
| 
       11963 
     | 
    
         
            -
                while (size && (result[size - 1] == '\0')) --size;
         
     | 
| 
       11964 
12156 
     | 
    
         | 
| 
       11965 
12157 
     | 
    
         
             
                vresult = SWIG_FromCharPtrAndSize(result, size);
         
     | 
| 
       11966 
12158 
     | 
    
         
             
              }
         
     | 
| 
         @@ -11970,22 +12162,20 @@ fail: 
     | 
|
| 
       11970 
12162 
     | 
    
         
             
            }
         
     | 
| 
       11971 
12163 
     | 
    
         | 
| 
       11972 
12164 
     | 
    
         | 
| 
       11973 
     | 
    
         
            -
            #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
         
     | 
| 
       11974 
12165 
     | 
    
         
             
            SWIGINTERN VALUE
         
     | 
| 
       11975 
     | 
    
         
            -
             
     | 
| 
      
 12166 
     | 
    
         
            +
            #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
         
     | 
| 
      
 12167 
     | 
    
         
            +
            _wrap_MemcachedServerSt_allocate(VALUE self)
         
     | 
| 
       11976 
12168 
     | 
    
         
             
            #else
         
     | 
| 
       11977 
     | 
    
         
            -
             
     | 
| 
       11978 
     | 
    
         
            -
              _wrap_MemcachedServerSt_allocate(int argc, VALUE *argv, VALUE self) {
         
     | 
| 
      
 12169 
     | 
    
         
            +
            _wrap_MemcachedServerSt_allocate(int argc, VALUE *argv, VALUE self)
         
     | 
| 
       11979 
12170 
     | 
    
         
             
            #endif
         
     | 
| 
       11980 
     | 
    
         
            -
             
     | 
| 
       11981 
     | 
    
         
            -
             
     | 
| 
       11982 
     | 
    
         
            -
                VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_memcached_server_st);
         
     | 
| 
      
 12171 
     | 
    
         
            +
            {
         
     | 
| 
      
 12172 
     | 
    
         
            +
              VALUE vresult = SWIG_NewClassInstance(self, SWIGTYPE_p_memcached_server_st);
         
     | 
| 
       11983 
12173 
     | 
    
         
             
            #ifndef HAVE_RB_DEFINE_ALLOC_FUNC
         
     | 
| 
       11984 
     | 
    
         
            -
             
     | 
| 
      
 12174 
     | 
    
         
            +
              rb_obj_call_init(vresult, argc, argv);
         
     | 
| 
       11985 
12175 
     | 
    
         
             
            #endif
         
     | 
| 
       11986 
     | 
    
         
            -
             
     | 
| 
       11987 
     | 
    
         
            -
             
     | 
| 
       11988 
     | 
    
         
            -
             
     | 
| 
      
 12176 
     | 
    
         
            +
              return vresult;
         
     | 
| 
      
 12177 
     | 
    
         
            +
            }
         
     | 
| 
      
 12178 
     | 
    
         
            +
             
     | 
| 
       11989 
12179 
     | 
    
         | 
| 
       11990 
12180 
     | 
    
         
             
            SWIGINTERN VALUE
         
     | 
| 
       11991 
12181 
     | 
    
         
             
            _wrap_new_MemcachedServerSt(int argc, VALUE *argv, VALUE self) {
         
     | 
| 
         @@ -13046,27 +13236,27 @@ fail: 
     | 
|
| 
       13046 
13236 
     | 
    
         
             
            static swig_type_info _swigt__p_addrinfo = {"_p_addrinfo", "struct addrinfo *", 0, 0, (void*)0, 0};
         
     | 
| 
       13047 
13237 
     | 
    
         
             
            static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0};
         
     | 
| 
       13048 
13238 
     | 
    
         
             
            static swig_type_info _swigt__p_int32_t = {"_p_int32_t", "int32_t *", 0, 0, (void*)0, 0};
         
     | 
| 
       13049 
     | 
    
         
            -
            static swig_type_info _swigt__p_memcached_analysis_st = {"_p_memcached_analysis_st", "memcached_analysis_st *| 
     | 
| 
       13050 
     | 
    
         
            -
            static swig_type_info _swigt__p_memcached_behavior = {"_p_memcached_behavior", " 
     | 
| 
       13051 
     | 
    
         
            -
            static swig_type_info _swigt__p_memcached_callback = {"_p_memcached_callback", " 
     | 
| 
      
 13239 
     | 
    
         
            +
            static swig_type_info _swigt__p_memcached_analysis_st = {"_p_memcached_analysis_st", "struct memcached_analysis_st *|memcached_analysis_st *", 0, 0, (void*)0, 0};
         
     | 
| 
      
 13240 
     | 
    
         
            +
            static swig_type_info _swigt__p_memcached_behavior = {"_p_memcached_behavior", "memcached_behavior *|enum memcached_behavior *", 0, 0, (void*)0, 0};
         
     | 
| 
      
 13241 
     | 
    
         
            +
            static swig_type_info _swigt__p_memcached_callback = {"_p_memcached_callback", "memcached_callback *|enum memcached_callback *", 0, 0, (void*)0, 0};
         
     | 
| 
       13052 
13242 
     | 
    
         
             
            static swig_type_info _swigt__p_memcached_calloc_function = {"_p_memcached_calloc_function", "memcached_calloc_function *", 0, 0, (void*)0, 0};
         
     | 
| 
       13053 
13243 
     | 
    
         
             
            static swig_type_info _swigt__p_memcached_cleanup_func = {"_p_memcached_cleanup_func", "memcached_cleanup_func *", 0, 0, (void*)0, 0};
         
     | 
| 
       13054 
13244 
     | 
    
         
             
            static swig_type_info _swigt__p_memcached_clone_func = {"_p_memcached_clone_func", "memcached_clone_func *", 0, 0, (void*)0, 0};
         
     | 
| 
       13055 
     | 
    
         
            -
            static swig_type_info _swigt__p_memcached_connection = {"_p_memcached_connection", " 
     | 
| 
      
 13245 
     | 
    
         
            +
            static swig_type_info _swigt__p_memcached_connection = {"_p_memcached_connection", "memcached_connection *|enum memcached_connection *", 0, 0, (void*)0, 0};
         
     | 
| 
       13056 
13246 
     | 
    
         
             
            static swig_type_info _swigt__p_memcached_continuum_item_st = {"_p_memcached_continuum_item_st", "memcached_continuum_item_st *", 0, 0, (void*)0, 0};
         
     | 
| 
       13057 
13247 
     | 
    
         
             
            static swig_type_info _swigt__p_memcached_dump_func = {"_p_memcached_dump_func", "memcached_dump_func *", 0, 0, (void*)0, 0};
         
     | 
| 
       13058 
13248 
     | 
    
         
             
            static swig_type_info _swigt__p_memcached_execute_function = {"_p_memcached_execute_function", "memcached_execute_function *", 0, 0, (void*)0, 0};
         
     | 
| 
       13059 
13249 
     | 
    
         
             
            static swig_type_info _swigt__p_memcached_free_function = {"_p_memcached_free_function", "memcached_free_function *", 0, 0, (void*)0, 0};
         
     | 
| 
       13060 
     | 
    
         
            -
            static swig_type_info _swigt__p_memcached_hash = {"_p_memcached_hash", " 
     | 
| 
      
 13250 
     | 
    
         
            +
            static swig_type_info _swigt__p_memcached_hash = {"_p_memcached_hash", "memcached_hash *|enum memcached_hash *", 0, 0, (void*)0, 0};
         
     | 
| 
       13061 
13251 
     | 
    
         
             
            static swig_type_info _swigt__p_memcached_malloc_function = {"_p_memcached_malloc_function", "memcached_malloc_function *", 0, 0, (void*)0, 0};
         
     | 
| 
       13062 
13252 
     | 
    
         
             
            static swig_type_info _swigt__p_memcached_realloc_function = {"_p_memcached_realloc_function", "memcached_realloc_function *", 0, 0, (void*)0, 0};
         
     | 
| 
       13063 
     | 
    
         
            -
            static swig_type_info _swigt__p_memcached_result_st = {"_p_memcached_result_st", "memcached_result_st *| 
     | 
| 
       13064 
     | 
    
         
            -
            static swig_type_info _swigt__p_memcached_return = {"_p_memcached_return", " 
     | 
| 
       13065 
     | 
    
         
            -
            static swig_type_info _swigt__p_memcached_server_distribution = {"_p_memcached_server_distribution", " 
     | 
| 
      
 13253 
     | 
    
         
            +
            static swig_type_info _swigt__p_memcached_result_st = {"_p_memcached_result_st", "struct memcached_result_st *|memcached_result_st *", 0, 0, (void*)0, 0};
         
     | 
| 
      
 13254 
     | 
    
         
            +
            static swig_type_info _swigt__p_memcached_return = {"_p_memcached_return", "memcached_return *|enum memcached_return *", 0, 0, (void*)0, 0};
         
     | 
| 
      
 13255 
     | 
    
         
            +
            static swig_type_info _swigt__p_memcached_server_distribution = {"_p_memcached_server_distribution", "memcached_server_distribution *|enum memcached_server_distribution *", 0, 0, (void*)0, 0};
         
     | 
| 
       13066 
13256 
     | 
    
         
             
            static swig_type_info _swigt__p_memcached_server_function = {"_p_memcached_server_function", "memcached_server_function *", 0, 0, (void*)0, 0};
         
     | 
| 
       13067 
     | 
    
         
            -
            static swig_type_info _swigt__p_memcached_server_st = {"_p_memcached_server_st", "memcached_server_st *| 
     | 
| 
       13068 
     | 
    
         
            -
            static swig_type_info _swigt__p_memcached_st = {"_p_memcached_st", "memcached_st *| 
     | 
| 
       13069 
     | 
    
         
            -
            static swig_type_info _swigt__p_memcached_stat_st = {"_p_memcached_stat_st", "memcached_stat_st *| 
     | 
| 
      
 13257 
     | 
    
         
            +
            static swig_type_info _swigt__p_memcached_server_st = {"_p_memcached_server_st", "struct memcached_server_st *|memcached_server_st *", 0, 0, (void*)0, 0};
         
     | 
| 
      
 13258 
     | 
    
         
            +
            static swig_type_info _swigt__p_memcached_st = {"_p_memcached_st", "struct memcached_st *|memcached_st *", 0, 0, (void*)0, 0};
         
     | 
| 
      
 13259 
     | 
    
         
            +
            static swig_type_info _swigt__p_memcached_stat_st = {"_p_memcached_stat_st", "struct memcached_stat_st *|memcached_stat_st *", 0, 0, (void*)0, 0};
         
     | 
| 
       13070 
13260 
     | 
    
         
             
            static swig_type_info _swigt__p_memcached_string_st = {"_p_memcached_string_st", "memcached_string_st *", 0, 0, (void*)0, 0};
         
     | 
| 
       13071 
13261 
     | 
    
         
             
            static swig_type_info _swigt__p_memcached_trigger_delete_key = {"_p_memcached_trigger_delete_key", "memcached_trigger_delete_key *", 0, 0, (void*)0, 0};
         
     | 
| 
       13072 
13262 
     | 
    
         
             
            static swig_type_info _swigt__p_memcached_trigger_key = {"_p_memcached_trigger_key", "memcached_trigger_key *", 0, 0, (void*)0, 0};
         
     | 
| 
         @@ -13188,18 +13378,18 @@ static swig_cast_info *swig_cast_initial[] = { 
     | 
|
| 
       13188 
13378 
     | 
    
         | 
| 
       13189 
13379 
     | 
    
         
             
            /* -----------------------------------------------------------------------------
         
     | 
| 
       13190 
13380 
     | 
    
         
             
             * Type initialization:
         
     | 
| 
       13191 
     | 
    
         
            -
             * This problem is tough by the requirement that no dynamic 
     | 
| 
       13192 
     | 
    
         
            -
             * memory is used. Also, since swig_type_info structures store pointers to 
     | 
| 
      
 13381 
     | 
    
         
            +
             * This problem is tough by the requirement that no dynamic
         
     | 
| 
      
 13382 
     | 
    
         
            +
             * memory is used. Also, since swig_type_info structures store pointers to
         
     | 
| 
       13193 
13383 
     | 
    
         
             
             * swig_cast_info structures and swig_cast_info structures store pointers back
         
     | 
| 
       13194 
     | 
    
         
            -
             * to swig_type_info structures, we need some lookup code at initialization. 
     | 
| 
       13195 
     | 
    
         
            -
             * The idea is that swig generates all the structures that are needed. 
     | 
| 
       13196 
     | 
    
         
            -
             * The runtime then collects these partially filled structures. 
     | 
| 
       13197 
     | 
    
         
            -
             * The SWIG_InitializeModule function takes these initial arrays out of 
     | 
| 
      
 13384 
     | 
    
         
            +
             * to swig_type_info structures, we need some lookup code at initialization.
         
     | 
| 
      
 13385 
     | 
    
         
            +
             * The idea is that swig generates all the structures that are needed.
         
     | 
| 
      
 13386 
     | 
    
         
            +
             * The runtime then collects these partially filled structures.
         
     | 
| 
      
 13387 
     | 
    
         
            +
             * The SWIG_InitializeModule function takes these initial arrays out of
         
     | 
| 
       13198 
13388 
     | 
    
         
             
             * swig_module, and does all the lookup, filling in the swig_module.types
         
     | 
| 
       13199 
13389 
     | 
    
         
             
             * array with the correct data and linking the correct swig_cast_info
         
     | 
| 
       13200 
13390 
     | 
    
         
             
             * structures together.
         
     | 
| 
       13201 
13391 
     | 
    
         
             
             *
         
     | 
| 
       13202 
     | 
    
         
            -
             * The generated swig_type_info structures are assigned  
     | 
| 
      
 13392 
     | 
    
         
            +
             * The generated swig_type_info structures are assigned statically to an initial
         
     | 
| 
       13203 
13393 
     | 
    
         
             
             * array. We just loop through that array, and handle each type individually.
         
     | 
| 
       13204 
13394 
     | 
    
         
             
             * First we lookup if this type has been already loaded, and if so, use the
         
     | 
| 
       13205 
13395 
     | 
    
         
             
             * loaded structure instead of the generated one. Then we have to fill in the
         
     | 
| 
         @@ -13209,17 +13399,17 @@ static swig_cast_info *swig_cast_initial[] = { 
     | 
|
| 
       13209 
13399 
     | 
    
         
             
             * a column is one of the swig_cast_info structures for that type.
         
     | 
| 
       13210 
13400 
     | 
    
         
             
             * The cast_initial array is actually an array of arrays, because each row has
         
     | 
| 
       13211 
13401 
     | 
    
         
             
             * a variable number of columns. So to actually build the cast linked list,
         
     | 
| 
       13212 
     | 
    
         
            -
             * we find the array of casts associated with the type, and loop through it 
     | 
| 
      
 13402 
     | 
    
         
            +
             * we find the array of casts associated with the type, and loop through it
         
     | 
| 
       13213 
13403 
     | 
    
         
             
             * adding the casts to the list. The one last trick we need to do is making
         
     | 
| 
       13214 
13404 
     | 
    
         
             
             * sure the type pointer in the swig_cast_info struct is correct.
         
     | 
| 
       13215 
13405 
     | 
    
         
             
             *
         
     | 
| 
       13216 
     | 
    
         
            -
             * First off, we lookup the cast->type name to see if it is already loaded. 
     | 
| 
      
 13406 
     | 
    
         
            +
             * First off, we lookup the cast->type name to see if it is already loaded.
         
     | 
| 
       13217 
13407 
     | 
    
         
             
             * There are three cases to handle:
         
     | 
| 
       13218 
13408 
     | 
    
         
             
             *  1) If the cast->type has already been loaded AND the type we are adding
         
     | 
| 
       13219 
13409 
     | 
    
         
             
             *     casting info to has not been loaded (it is in this module), THEN we
         
     | 
| 
       13220 
13410 
     | 
    
         
             
             *     replace the cast->type pointer with the type pointer that has already
         
     | 
| 
       13221 
13411 
     | 
    
         
             
             *     been loaded.
         
     | 
| 
       13222 
     | 
    
         
            -
             *  2) If BOTH types (the one we are adding casting info to, and the 
     | 
| 
      
 13412 
     | 
    
         
            +
             *  2) If BOTH types (the one we are adding casting info to, and the
         
     | 
| 
       13223 
13413 
     | 
    
         
             
             *     cast->type) are loaded, THEN the cast info has already been loaded by
         
     | 
| 
       13224 
13414 
     | 
    
         
             
             *     the previous module so we just ignore it.
         
     | 
| 
       13225 
13415 
     | 
    
         
             
             *  3) Finally, if cast->type has not already been loaded, then we add that
         
     | 
| 
         @@ -13238,12 +13428,15 @@ extern "C" { 
     | 
|
| 
       13238 
13428 
     | 
    
         
             
            #define SWIGRUNTIME_DEBUG
         
     | 
| 
       13239 
13429 
     | 
    
         
             
            #endif
         
     | 
| 
       13240 
13430 
     | 
    
         | 
| 
      
 13431 
     | 
    
         
            +
            #ifndef SWIG_INIT_CLIENT_DATA_TYPE
         
     | 
| 
      
 13432 
     | 
    
         
            +
            #define SWIG_INIT_CLIENT_DATA_TYPE void *
         
     | 
| 
      
 13433 
     | 
    
         
            +
            #endif
         
     | 
| 
       13241 
13434 
     | 
    
         | 
| 
       13242 
13435 
     | 
    
         
             
            SWIGRUNTIME void
         
     | 
| 
       13243 
     | 
    
         
            -
            SWIG_InitializeModule( 
     | 
| 
      
 13436 
     | 
    
         
            +
            SWIG_InitializeModule(SWIG_INIT_CLIENT_DATA_TYPE clientdata) {
         
     | 
| 
       13244 
13437 
     | 
    
         
             
              size_t i;
         
     | 
| 
       13245 
13438 
     | 
    
         
             
              swig_module_info *module_head, *iter;
         
     | 
| 
       13246 
     | 
    
         
            -
              int  
     | 
| 
      
 13439 
     | 
    
         
            +
              int init;
         
     | 
| 
       13247 
13440 
     | 
    
         | 
| 
       13248 
13441 
     | 
    
         
             
              /* check to see if the circular list has been setup, if not, set it up */
         
     | 
| 
       13249 
13442 
     | 
    
         
             
              if (swig_module.next==0) {
         
     | 
| 
         @@ -13262,27 +13455,23 @@ SWIG_InitializeModule(void *clientdata) { 
     | 
|
| 
       13262 
13455 
     | 
    
         
             
                /* This is the first module loaded for this interpreter */
         
     | 
| 
       13263 
13456 
     | 
    
         
             
                /* so set the swig module into the interpreter */
         
     | 
| 
       13264 
13457 
     | 
    
         
             
                SWIG_SetModule(clientdata, &swig_module);
         
     | 
| 
       13265 
     | 
    
         
            -
                module_head = &swig_module;
         
     | 
| 
       13266 
13458 
     | 
    
         
             
              } else {
         
     | 
| 
       13267 
13459 
     | 
    
         
             
                /* the interpreter has loaded a SWIG module, but has it loaded this one? */
         
     | 
| 
       13268 
     | 
    
         
            -
                found=0;
         
     | 
| 
       13269 
13460 
     | 
    
         
             
                iter=module_head;
         
     | 
| 
       13270 
13461 
     | 
    
         
             
                do {
         
     | 
| 
       13271 
13462 
     | 
    
         
             
                  if (iter==&swig_module) {
         
     | 
| 
       13272 
     | 
    
         
            -
                     
     | 
| 
       13273 
     | 
    
         
            -
                     
     | 
| 
      
 13463 
     | 
    
         
            +
                    /* Our module is already in the list, so there's nothing more to do. */
         
     | 
| 
      
 13464 
     | 
    
         
            +
                    return;
         
     | 
| 
       13274 
13465 
     | 
    
         
             
                  }
         
     | 
| 
       13275 
13466 
     | 
    
         
             
                  iter=iter->next;
         
     | 
| 
       13276 
13467 
     | 
    
         
             
                } while (iter!= module_head);
         
     | 
| 
       13277 
13468 
     | 
    
         | 
| 
       13278 
     | 
    
         
            -
                /*  
     | 
| 
       13279 
     | 
    
         
            -
                if (found) return;
         
     | 
| 
       13280 
     | 
    
         
            -
                /* otherwise we must add out module into the list */
         
     | 
| 
      
 13469 
     | 
    
         
            +
                /* otherwise we must add our module into the list */
         
     | 
| 
       13281 
13470 
     | 
    
         
             
                swig_module.next = module_head->next;
         
     | 
| 
       13282 
13471 
     | 
    
         
             
                module_head->next = &swig_module;
         
     | 
| 
       13283 
13472 
     | 
    
         
             
              }
         
     | 
| 
       13284 
13473 
     | 
    
         | 
| 
       13285 
     | 
    
         
            -
              /* When multiple  
     | 
| 
      
 13474 
     | 
    
         
            +
              /* When multiple interpreters are used, a module could have already been initialized in
         
     | 
| 
       13286 
13475 
     | 
    
         
             
                 a different interpreter, but not yet have a pointer in this interpreter.
         
     | 
| 
       13287 
13476 
     | 
    
         
             
                 In this case, we do not want to continue adding types... everything should be
         
     | 
| 
       13288 
13477 
     | 
    
         
             
                 set up already */
         
     | 
| 
         @@ -13290,15 +13479,15 @@ SWIG_InitializeModule(void *clientdata) { 
     | 
|
| 
       13290 
13479 
     | 
    
         | 
| 
       13291 
13480 
     | 
    
         
             
              /* Now work on filling in swig_module.types */
         
     | 
| 
       13292 
13481 
     | 
    
         
             
            #ifdef SWIGRUNTIME_DEBUG
         
     | 
| 
       13293 
     | 
    
         
            -
              printf("SWIG_InitializeModule: size % 
     | 
| 
      
 13482 
     | 
    
         
            +
              printf("SWIG_InitializeModule: size %lu\n", (unsigned long)swig_module.size);
         
     | 
| 
       13294 
13483 
     | 
    
         
             
            #endif
         
     | 
| 
       13295 
13484 
     | 
    
         
             
              for (i = 0; i < swig_module.size; ++i) {
         
     | 
| 
       13296 
13485 
     | 
    
         
             
                swig_type_info *type = 0;
         
     | 
| 
       13297 
13486 
     | 
    
         
             
                swig_type_info *ret;
         
     | 
| 
       13298 
13487 
     | 
    
         
             
                swig_cast_info *cast;
         
     | 
| 
       13299 
     | 
    
         
            -
             
     | 
| 
      
 13488 
     | 
    
         
            +
             
     | 
| 
       13300 
13489 
     | 
    
         
             
            #ifdef SWIGRUNTIME_DEBUG
         
     | 
| 
       13301 
     | 
    
         
            -
                printf("SWIG_InitializeModule: type % 
     | 
| 
      
 13490 
     | 
    
         
            +
                printf("SWIG_InitializeModule: type %lu %s\n", (unsigned long)i, swig_module.type_initial[i]->name);
         
     | 
| 
       13302 
13491 
     | 
    
         
             
            #endif
         
     | 
| 
       13303 
13492 
     | 
    
         | 
| 
       13304 
13493 
     | 
    
         
             
                /* if there is another module already loaded */
         
     | 
| 
         @@ -13323,7 +13512,7 @@ SWIG_InitializeModule(void *clientdata) { 
     | 
|
| 
       13323 
13512 
     | 
    
         
             
                /* Insert casting types */
         
     | 
| 
       13324 
13513 
     | 
    
         
             
                cast = swig_module.cast_initial[i];
         
     | 
| 
       13325 
13514 
     | 
    
         
             
                while (cast->type) {
         
     | 
| 
       13326 
     | 
    
         
            -
             
     | 
| 
      
 13515 
     | 
    
         
            +
             
     | 
| 
       13327 
13516 
     | 
    
         
             
                  /* Don't need to add information already in the list */
         
     | 
| 
       13328 
13517 
     | 
    
         
             
                  ret = 0;
         
     | 
| 
       13329 
13518 
     | 
    
         
             
            #ifdef SWIGRUNTIME_DEBUG
         
     | 
| 
         @@ -13374,7 +13563,7 @@ SWIG_InitializeModule(void *clientdata) { 
     | 
|
| 
       13374 
13563 
     | 
    
         
             
              for (i = 0; i < swig_module.size; ++i) {
         
     | 
| 
       13375 
13564 
     | 
    
         
             
                int j = 0;
         
     | 
| 
       13376 
13565 
     | 
    
         
             
                swig_cast_info *cast = swig_module.cast_initial[i];
         
     | 
| 
       13377 
     | 
    
         
            -
                printf("SWIG_InitializeModule: type % 
     | 
| 
      
 13566 
     | 
    
         
            +
                printf("SWIG_InitializeModule: type %lu %s\n", (unsigned long)i, swig_module.type_initial[i]->name);
         
     | 
| 
       13378 
13567 
     | 
    
         
             
                while (cast->type) {
         
     | 
| 
       13379 
13568 
     | 
    
         
             
                  printf("SWIG_InitializeModule: cast type %s\n", cast->type->name);
         
     | 
| 
       13380 
13569 
     | 
    
         
             
                  cast++;
         
     | 
| 
         @@ -13542,6 +13731,8 @@ SWIGEXPORT void Init_rlibmemcached(void) { 
     | 
|
| 
       13542 
13731 
     | 
    
         
             
              rb_define_method(SwigClassMemcachedSt.klass, "snd_timeout", _wrap_MemcachedSt_snd_timeout_get, -1);
         
     | 
| 
       13543 
13732 
     | 
    
         
             
              rb_define_method(SwigClassMemcachedSt.klass, "rcv_timeout=", _wrap_MemcachedSt_rcv_timeout_set, -1);
         
     | 
| 
       13544 
13733 
     | 
    
         
             
              rb_define_method(SwigClassMemcachedSt.klass, "rcv_timeout", _wrap_MemcachedSt_rcv_timeout_get, -1);
         
     | 
| 
      
 13734 
     | 
    
         
            +
              rb_define_method(SwigClassMemcachedSt.klass, "poll_max_retries=", _wrap_MemcachedSt_poll_max_retries_set, -1);
         
     | 
| 
      
 13735 
     | 
    
         
            +
              rb_define_method(SwigClassMemcachedSt.klass, "poll_max_retries", _wrap_MemcachedSt_poll_max_retries_get, -1);
         
     | 
| 
       13545 
13736 
     | 
    
         
             
              rb_define_method(SwigClassMemcachedSt.klass, "server_failure_limit=", _wrap_MemcachedSt_server_failure_limit_set, -1);
         
     | 
| 
       13546 
13737 
     | 
    
         
             
              rb_define_method(SwigClassMemcachedSt.klass, "server_failure_limit", _wrap_MemcachedSt_server_failure_limit_get, -1);
         
     | 
| 
       13547 
13738 
     | 
    
         
             
              rb_define_method(SwigClassMemcachedSt.klass, "io_msg_watermark=", _wrap_MemcachedSt_io_msg_watermark_set, -1);
         
     |