diff options
author | Sean Egan <seanegan@pidgin.im> | 2007-01-20 02:32:10 +0000 |
---|---|---|
committer | Sean Egan <seanegan@pidgin.im> | 2007-01-20 02:32:10 +0000 |
commit | 87b298a83b8bca7be01ddc853ea4cd15e455b44e (patch) | |
tree | 0fe4490ce85d4f60342ad371f49a5df37ae0aeda /libpurple/plugins/perl/common/fallback/const-c.inc | |
parent | 0979b409b87b353266d00be787749486024a840a (diff) | |
download | pidgin-87b298a83b8bca7be01ddc853ea4cd15e455b44e.tar.gz |
Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Diffstat (limited to 'libpurple/plugins/perl/common/fallback/const-c.inc')
-rw-r--r-- | libpurple/plugins/perl/common/fallback/const-c.inc | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/libpurple/plugins/perl/common/fallback/const-c.inc b/libpurple/plugins/perl/common/fallback/const-c.inc new file mode 100644 index 0000000000..4e1290d661 --- /dev/null +++ b/libpurple/plugins/perl/common/fallback/const-c.inc @@ -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; +} + |