diff plugins/perl/common/fallback/const-c.inc @ 6678:eb95f31fa4eb

[gaim-migrate @ 7203] The perl plugin should now work with perl v5.6.0. This is not tested yet, but it compiles and should work now. committer: Tailor Script <tailor@pidgin.im>
author Christian Hammond <chipx86@chipx86.com>
date Mon, 01 Sep 2003 22:16:10 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/perl/common/fallback/const-c.inc	Mon Sep 01 22:16:10 2003 +0000
@@ -0,0 +1,115 @@
+#define PERL_constant_NOTFOUND	1
+#define PERL_constant_NOTDEF	2
+#define PERL_constant_ISIV	3
+#define PERL_constant_ISNO	4
+#define PERL_constant_ISNV	5
+#define PERL_constant_ISPV	6
+#define PERL_constant_ISPVN	7
+#define PERL_constant_ISSV	8
+#define PERL_constant_ISUNDEF	9
+#define PERL_constant_ISUV	10
+#define PERL_constant_ISYES	11
+
+#ifndef NVTYPE
+typedef double NV; /* 5.6 and later define NVTYPE, and typedef NV to it.  */
+#endif
+#ifndef aTHX_
+#define aTHX_ /* 5.6 or later define this for threading support.  */
+#endif
+#ifndef pTHX_
+#define pTHX_ /* 5.6 or later define this for threading support.  */
+#endif
+
+static int
+constant (pTHX_ const char *name, STRLEN len, IV *iv_return) {
+  /* Initially switch on the length of the name.  */
+  /* When generated this function returned values for the list of names given
+     in this section of perl code.  Rather than manually editing these functions
+     to add or remove constants, which would result in this comment and section
+     of code becoming inaccurate, we recommend that you edit this section of
+     code, and use it to regenerate a new set of constant functions which you
+     then use to replace the originals.
+
+     Regenerate these constant functions by feeding this entire source file to
+     perl -x
+
+#!/usr/bin/perl -w
+use ExtUtils::Constant qw (constant_types C_constant XS_constant);
+
+my $types = {map {($_, 1)} qw(IV)};
+my @names = (qw(),
+            {name=>"GAIM_DEBUG_ALL", type=>"IV", macro=>"1"},
+            {name=>"GAIM_DEBUG_ERROR", type=>"IV", macro=>"1"},
+            {name=>"GAIM_DEBUG_FATAL", type=>"IV", macro=>"1"},
+            {name=>"GAIM_DEBUG_INFO", type=>"IV", macro=>"1"},
+            {name=>"GAIM_DEBUG_MISC", type=>"IV", macro=>"1"},
+            {name=>"GAIM_DEBUG_WARNING", type=>"IV", macro=>"1"});
+
+print constant_types(); # macro defs
+foreach (C_constant ("Gaim::DebugLevel", 'constant', 'IV', $types, undef, 3, @names) ) {
+    print $_, "\n"; # C constant subs
+}
+print "#### XS Section:\n";
+print XS_constant ("Gaim::DebugLevel", $types);
+__END__
+   */
+
+  switch (len) {
+  case 14:
+    if (memEQ(name, "GAIM_DEBUG_ALL", 14)) {
+      *iv_return = GAIM_DEBUG_ALL;
+      return PERL_constant_ISIV;
+    }
+    break;
+  case 15:
+    /* Names all of length 15.  */
+    /* GAIM_DEBUG_INFO GAIM_DEBUG_MISC */
+    /* Offset 11 gives the best switch position.  */
+    switch (name[11]) {
+    case 'I':
+      if (memEQ(name, "GAIM_DEBUG_INFO", 15)) {
+      /*                          ^          */
+        *iv_return = GAIM_DEBUG_INFO;
+        return PERL_constant_ISIV;
+      }
+      break;
+    case 'M':
+      if (memEQ(name, "GAIM_DEBUG_MISC", 15)) {
+      /*                          ^          */
+        *iv_return = GAIM_DEBUG_MISC;
+        return PERL_constant_ISIV;
+      }
+      break;
+    }
+    break;
+  case 16:
+    /* Names all of length 16.  */
+    /* GAIM_DEBUG_ERROR GAIM_DEBUG_FATAL */
+    /* Offset 11 gives the best switch position.  */
+    switch (name[11]) {
+    case 'E':
+      if (memEQ(name, "GAIM_DEBUG_ERROR", 16)) {
+      /*                          ^           */
+        *iv_return = GAIM_DEBUG_ERROR;
+        return PERL_constant_ISIV;
+      }
+      break;
+    case 'F':
+      if (memEQ(name, "GAIM_DEBUG_FATAL", 16)) {
+      /*                          ^           */
+        *iv_return = GAIM_DEBUG_FATAL;
+        return PERL_constant_ISIV;
+      }
+      break;
+    }
+    break;
+  case 18:
+    if (memEQ(name, "GAIM_DEBUG_WARNING", 18)) {
+      *iv_return = GAIM_DEBUG_WARNING;
+      return PERL_constant_ISIV;
+    }
+    break;
+  }
+  return PERL_constant_NOTFOUND;
+}
+