vinted-memcached 1.8.2 → 1.8.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,13 +1,13 @@
1
1
  /* ----------------------------------------------------------------------------
2
- * This file was automatically generated by SWIG (http://www.swig.org).
3
- * Version 2.0.9
4
- *
5
- * This file is not intended to be easily readable and contains a number of
6
- * coding conventions designed to improve portability and efficiency. Do not make
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__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
81
- # ifndef GCC_HASCLASSVISIBILITY
82
- # define GCC_HASCLASSVISIBILITY
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__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
190
- # ifndef GCC_HASCLASSVISIBILITY
191
- # define GCC_HASCLASSVISIBILITY
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 to return the 'cast rank', for example, if you have this
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 temporal objects */
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 not equal, 1 if equal
536
+ Return 0 if equal, -1 if nb < tb, 1 if nb > tb
466
537
  */
467
538
  SWIGRUNTIME int
468
- SWIG_TypeEquiv(const char *nb, const char *tb) {
469
- int equiv = 0;
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 (!equiv && *ne) {
543
+ while (equiv != 0 && *ne) {
473
544
  for (nb = ne; *ne; ++ne) {
474
545
  if (*ne == '|') break;
475
546
  }
476
- equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0;
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, -1 if nb < tb, 1 if nb > tb
555
+ Return 0 if not equal, 1 if equal
485
556
  */
486
557
  SWIGRUNTIME int
487
- SWIG_TypeCompare(const char *nb, const char *tb) {
488
- int equiv = 0;
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. We choose
594
- to print the last name, as it is often (?) the most
595
- specific. */
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
- register size_t l = 0;
649
- register size_t r = iter->size - 1;
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
- register size_t i = (l + r) >> 1;
712
+ size_t i = (l + r) >> 1;
653
713
  const char *iname = iter->types[i]->name;
654
714
  if (iname) {
655
- register int compare = strcmp(name, iname);
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
- register size_t i = 0;
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
- register const unsigned char *u = (unsigned char *) ptr;
719
- register const unsigned char *eu = u + sz;
778
+ const unsigned char *u = (unsigned char *) ptr;
779
+ const unsigned char *eu = u + sz;
720
780
  for (; u != eu; ++u) {
721
- register unsigned char uu = *u;
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
- register unsigned char *u = (unsigned char *) ptr;
734
- register const unsigned char *eu = u + sz;
793
+ unsigned char *u = (unsigned char *) ptr;
794
+ const unsigned char *eu = u + sz;
735
795
  for (; u != eu; ++u) {
736
- register char d = *(c++);
737
- register unsigned char uu;
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
- /* Errors in SWIG */
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
- * Need to be very careful about how these macros are defined, especially
930
- * when compiling C++ code or C code with an ANSI C compiler.
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
- * VALUEFUNC(f) is a macro used to typecast a C function that implements
933
- * a Ruby method so that it can be passed as an argument to API functions
934
- * like rb_define_method() and rb_define_singleton_method().
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
- * VOIDFUNC(f) is a macro used to typecast a C function that implements
937
- * either the "mark" or "free" stuff for a Ruby Data object, so that it
938
- * can be passed as an argument to API functions like Data_Wrap_Struct()
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
- #ifdef __cplusplus
943
- # ifndef RUBY_METHOD_FUNC /* These definitions should work for Ruby 1.4.6 */
944
- # define PROTECTFUNC(f) ((VALUE (*)()) f)
945
- # define VALUEFUNC(f) ((VALUE (*)()) f)
946
- # define VOIDFUNC(f) ((void (*)()) f)
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
- sprintf( buf, "%d of type ", argn-1 );
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
- /* Global Ruby hash table to store Trackings from C/C++
1171
- structs to Ruby Objects.
1262
+ /* Global hash table to store Trackings from C/C++
1263
+ structs to Ruby Objects.
1172
1264
  */
1173
- static VALUE swig_ruby_trackings = Qnil;
1265
+ static st_table* swig_ruby_trackings = NULL;
1174
1266
 
1175
- /* Global variable that stores a reference to the ruby
1176
- hash table delete function. */
1177
- static ID swig_ruby_hash_delete;
1267
+ static VALUE swig_ruby_trackings_count(ID id, VALUE *var) {
1268
+ return SWIG2NUM(swig_ruby_trackings->num_entries);
1269
+ }
1178
1270
 
1179
- /* Setup a Ruby hash table to store Trackings */
1271
+
1272
+ /* Setup a hash table to store Trackings */
1180
1273
  SWIGRUNTIME void SWIG_RubyInitializeTrackings(void) {
1181
- /* Create a ruby hash table to store Trackings from C++
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
- ID trackings_id = rb_intern( "@__trackings__" );
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
- swig_ruby_trackings = rb_ivar_get( _mSWIG, trackings_id );
1289
+ trackings_value = rb_ivar_get( _mSWIG, trackings_id );
1194
1290
  rb_gv_set("VERBOSE", verbose);
1195
1291
 
1196
- /* No, it hasn't. Create one ourselves */
1197
- if ( swig_ruby_trackings == Qnil )
1198
- {
1199
- swig_ruby_trackings = rb_hash_new();
1200
- rb_ivar_set( _mSWIG, trackings_id, swig_ruby_trackings );
1201
- }
1202
-
1203
- /* Now store a reference to the hash table delete function
1204
- so that we only have to look it up once.*/
1205
- swig_ruby_hash_delete = rb_intern("delete");
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
- /* Convert the Ruby number to a Ruby object */
1234
- return NUM2SWIG(reference);
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
- rb_hash_aset(swig_ruby_trackings, key, value);
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 = rb_hash_aref(swig_ruby_trackings, key);
1263
-
1264
- if (value == Qnil) {
1265
- /* No object exists - return nil. */
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
- /* Get a reference to the pointer as a Ruby number */
1280
- VALUE key = SWIG_RubyPtrToReference(ptr);
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 ruby_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
- } else {
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
- VALUE klass;
1494
- char *klass_name = (char *) malloc(4 + strlen(type->name) + 1);
1495
- sprintf(klass_name, "TYPE%s", type->name);
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
- klass = rb_define_class_under(_mSWIG, klass_name, _cSWIG_Pointer);
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
- klass_name = (char *) malloc(4 + strlen(type->name) + 1);
1551
- sprintf(klass_name, "TYPE%s", type->name);
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 void (*ruby_owntype)(void*);
1582
-
1583
- SWIGRUNTIME ruby_owntype
1584
- SWIG_Ruby_AcquirePtr(VALUE obj, ruby_owntype own) {
1585
- if (obj) {
1586
- ruby_owntype oldown = RDATA(obj)->dfree;
1587
- RDATA(obj)->dfree = own;
1588
- return oldown;
1589
- } else {
1590
- return 0;
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, ruby_owntype *own)
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
- *ptr = 0;
1605
- return SWIG_OK;
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) *own = RDATA(obj)->dfree;
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
- int newmemory = 0;
1660
- *ptr = SWIG_TypeCast(tc, vptr, &newmemory);
1661
- assert(!newmemory); /* newmemory handling not yet implemented */
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
- *ptr = vptr;
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 value value */
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 ) == Qtrue )
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 ) == Qtrue )
1864
+ if ( rb_respond_to( proc, swig_arity_id ) )
1767
1865
  {
1768
- VALUE num = rb_funcall( proc, swig_arity_id, 0 );
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; } else
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
- // Ruby 1.9 changed the file name of this header
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(void)
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/local/share/swig/2.0.9/ruby/rubyprimtypes.swg,19,%ruby_aux_method@*/
1947
- SWIGINTERN VALUE SWIG_AUX_NUM2DBL(VALUE *args)
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(RUBY_METHOD_FUNC(SWIG_AUX_NUM2DBL), (VALUE)a, RUBY_METHOD_FUNC(SWIG_ruby_failed), 0) != Qnil) {
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((char *)malloc((size)*sizeof(char)), cstr, sizeof(char)*(size));
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
- if ((csize == size + 1) && cptr && !(cptr[csize-1])) --csize;
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
- /*@SWIG:/opt/local/share/swig/2.0.9/ruby/rubyprimtypes.swg,19,%ruby_aux_method@*/
2037
- SWIGINTERN VALUE SWIG_AUX_NUM2ULONG(VALUE *args)
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(RUBY_METHOD_FUNC(SWIG_AUX_NUM2ULONG), (VALUE)a, RUBY_METHOD_FUNC(SWIG_ruby_failed), 0) != Qnil) {
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/local/share/swig/2.0.9/ruby/rubyprimtypes.swg,19,%ruby_aux_method@*/
2096
- SWIGINTERN VALUE SWIG_AUX_NUM2LONG(VALUE *args)
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(RUBY_METHOD_FUNC(SWIG_AUX_NUM2LONG), (VALUE)a, RUBY_METHOD_FUNC(SWIG_ruby_failed), 0) != Qnil) {
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
- SWIGINTERNINLINE int
2168
- SWIG_AsVal_size_t (VALUE obj, size_t *val)
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
- SWIGINTERNINLINE VALUE
2178
- SWIG_From_size_t (size_t value)
2179
- {
2180
- return SWIG_From_unsigned_SS_long ((unsigned long)(value));
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
- return LL2NUM(value);
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
- str->as.heap.len = len;
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
- _wrap_MemcachedAnalysisSt_allocate(VALUE self) {
2951
+ #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
2952
+ _wrap_MemcachedAnalysisSt_allocate(VALUE self)
2812
2953
  #else
2813
- SWIGINTERN VALUE
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
- rb_obj_call_init(vresult, argc, argv);
2959
+ rb_obj_call_init(vresult, argc, argv);
2821
2960
  #endif
2822
- return vresult;
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(struct memcached_analysis_st *arg1) {
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
- _wrap_MemcachedStatSt_allocate(VALUE self) {
4452
+ #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
4453
+ _wrap_MemcachedStatSt_allocate(VALUE self)
4314
4454
  #else
4315
- SWIGINTERN VALUE
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
- rb_obj_call_init(vresult, argc, argv);
4460
+ rb_obj_call_init(vresult, argc, argv);
4323
4461
  #endif
4324
- return vresult;
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 *)malloc(sizeof(int32_t)),&result,sizeof(int32_t)), SWIGTYPE_p_int32_t, SWIG_POINTER_OWN | 0 );
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 *)malloc(sizeof(int32_t)),&result,sizeof(int32_t)), SWIGTYPE_p_int32_t, SWIG_POINTER_OWN | 0 );
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 *)malloc(sizeof(int32_t)),&result,sizeof(int32_t)), SWIGTYPE_p_int32_t, SWIG_POINTER_OWN | 0 );
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 *)malloc(sizeof(int32_t)),&result,sizeof(int32_t)), SWIGTYPE_p_int32_t, SWIG_POINTER_OWN | 0 );
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 *)malloc(sizeof(int32_t)),&result,sizeof(int32_t)), SWIGTYPE_p_int32_t, SWIG_POINTER_OWN | 0 );
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(rb_funcall(argv[0], rb_intern("tv_sec"), 0));
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 *)malloc(sizeof(memcached_result_st)),&result,sizeof(memcached_result_st)), SWIGTYPE_p_memcached_result_st, SWIG_POINTER_OWN | 0 );
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 *)malloc(sizeof(memcached_clone_func)),&result,sizeof(memcached_clone_func)), SWIGTYPE_p_memcached_clone_func, SWIG_POINTER_OWN | 0 );
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 *)malloc(sizeof(memcached_cleanup_func)),&result,sizeof(memcached_cleanup_func)), SWIGTYPE_p_memcached_cleanup_func, SWIG_POINTER_OWN | 0 );
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 *)malloc(sizeof(memcached_free_function)),&result,sizeof(memcached_free_function)), SWIGTYPE_p_memcached_free_function, SWIG_POINTER_OWN | 0 );
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 *)malloc(sizeof(memcached_malloc_function)),&result,sizeof(memcached_malloc_function)), SWIGTYPE_p_memcached_malloc_function, SWIG_POINTER_OWN | 0 );
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 *)malloc(sizeof(memcached_realloc_function)),&result,sizeof(memcached_realloc_function)), SWIGTYPE_p_memcached_realloc_function, SWIG_POINTER_OWN | 0 );
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 *)malloc(sizeof(memcached_calloc_function)),&result,sizeof(memcached_calloc_function)), SWIGTYPE_p_memcached_calloc_function, SWIG_POINTER_OWN | 0 );
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 *)malloc(sizeof(memcached_trigger_key)),&result,sizeof(memcached_trigger_key)), SWIGTYPE_p_memcached_trigger_key, SWIG_POINTER_OWN | 0 );
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 *)malloc(sizeof(memcached_trigger_delete_key)),&result,sizeof(memcached_trigger_delete_key)), SWIGTYPE_p_memcached_trigger_delete_key, SWIG_POINTER_OWN | 0 );
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
- _wrap_MemcachedSt_allocate(VALUE self) {
6955
+ #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
6956
+ _wrap_MemcachedSt_allocate(VALUE self)
6762
6957
  #else
6763
- SWIGINTERN VALUE
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
- rb_obj_call_init(vresult, argc, argv);
6963
+ rb_obj_call_init(vresult, argc, argv);
6771
6964
  #endif
6772
- return vresult;
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 *)malloc(sizeof(memcached_string_st)),&result,sizeof(memcached_string_st)), SWIGTYPE_p_memcached_string_st, SWIG_POINTER_OWN | 0 );
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
- _wrap_MemcachedResultSt_allocate(VALUE self) {
10529
+ #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
10530
+ _wrap_MemcachedResultSt_allocate(VALUE self)
10338
10531
  #else
10339
- SWIGINTERN VALUE
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
- rb_obj_call_init(vresult, argc, argv);
10537
+ rb_obj_call_init(vresult, argc, argv);
10347
10538
  #endif
10348
- return vresult;
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(struct memcached_result_st *arg1) {
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
- if (arg1->read_ptr) free((char*)arg1->read_ptr);
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((char *)malloc((size)*sizeof(char)), (const char *)(arg2), sizeof(char)*(size));
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
- if (arg1->cached_server_error) free((char*)arg1->cached_server_error);
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((char *)malloc((size)*sizeof(char)), (const char *)(arg2), sizeof(char)*(size));
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(rb_funcall(argv[0], rb_intern("tv_sec"), 0));
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
- _wrap_MemcachedServerSt_allocate(VALUE self) {
12166
+ #ifdef HAVE_RB_DEFINE_ALLOC_FUNC
12167
+ _wrap_MemcachedServerSt_allocate(VALUE self)
11976
12168
  #else
11977
- SWIGINTERN VALUE
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
- rb_obj_call_init(vresult, argc, argv);
12174
+ rb_obj_call_init(vresult, argc, argv);
11985
12175
  #endif
11986
- return vresult;
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 *|struct memcached_analysis_st *", 0, 0, (void*)0, 0};
13050
- static swig_type_info _swigt__p_memcached_behavior = {"_p_memcached_behavior", "enum memcached_behavior *|memcached_behavior *", 0, 0, (void*)0, 0};
13051
- static swig_type_info _swigt__p_memcached_callback = {"_p_memcached_callback", "enum memcached_callback *|memcached_callback *", 0, 0, (void*)0, 0};
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", "enum memcached_connection *|memcached_connection *", 0, 0, (void*)0, 0};
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", "enum memcached_hash *|memcached_hash *", 0, 0, (void*)0, 0};
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 *|struct memcached_result_st *", 0, 0, (void*)0, 0};
13064
- static swig_type_info _swigt__p_memcached_return = {"_p_memcached_return", "enum memcached_return *|memcached_return *", 0, 0, (void*)0, 0};
13065
- static swig_type_info _swigt__p_memcached_server_distribution = {"_p_memcached_server_distribution", "enum memcached_server_distribution *|memcached_server_distribution *", 0, 0, (void*)0, 0};
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 *|struct memcached_server_st *", 0, 0, (void*)0, 0};
13068
- static swig_type_info _swigt__p_memcached_st = {"_p_memcached_st", "memcached_st *|struct memcached_st *", 0, 0, (void*)0, 0};
13069
- static swig_type_info _swigt__p_memcached_stat_st = {"_p_memcached_stat_st", "memcached_stat_st *|struct memcached_stat_st *", 0, 0, (void*)0, 0};
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 staticly to an initial
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(void *clientdata) {
13436
+ SWIG_InitializeModule(SWIG_INIT_CLIENT_DATA_TYPE clientdata) {
13244
13437
  size_t i;
13245
13438
  swig_module_info *module_head, *iter;
13246
- int found, init;
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
- found=1;
13273
- break;
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
- /* if the is found in the list, then all is done and we may leave */
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 interpeters are used, a module could have already been initialized in
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 %d\n", swig_module.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 %d %s\n", i, swig_module.type_initial[i]->name);
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 %d %s\n", i, swig_module.type_initial[i]->name);
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);