⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fallback.xs

📁 关于Berkelay数据库的共享源码
💻 XS
字号:
voidconstant(sv)    PREINIT:#ifdef dXSTARG	dXSTARG; /* Faster if we have it.  */#else	dTARGET;#endif	STRLEN		len;        int		type;	IV		iv;	/* NV		nv;	Uncomment this if you need to return NVs */	/* const char	*pv;	Uncomment this if you need to return PVs */    INPUT:	SV *		sv;        const char *	s = SvPV(sv, len);    PPCODE:        /* Change this to constant(aTHX_ s, len, &iv, &nv);           if you need to return both NVs and IVs */	type = constant(aTHX_ s, len, &iv);      /* Return 1 or 2 items. First is error message, or undef if no error.           Second, if present, is found value */        switch (type) {        case PERL_constant_NOTFOUND:          sv = sv_2mortal(newSVpvf("%s is not a valid DB_File macro", s));          PUSHs(sv);          break;        case PERL_constant_NOTDEF:          sv = sv_2mortal(newSVpvf(	    "Your vendor has not defined DB_File macro %s, used", s));          PUSHs(sv);          break;        case PERL_constant_ISIV:          EXTEND(SP, 1);          PUSHs(&PL_sv_undef);          PUSHi(iv);          break;	/* Uncomment this if you need to return NOs        case PERL_constant_ISNO:          EXTEND(SP, 1);          PUSHs(&PL_sv_undef);          PUSHs(&PL_sv_no);          break; */	/* Uncomment this if you need to return NVs        case PERL_constant_ISNV:          EXTEND(SP, 1);          PUSHs(&PL_sv_undef);          PUSHn(nv);          break; */	/* Uncomment this if you need to return PVs        case PERL_constant_ISPV:          EXTEND(SP, 1);          PUSHs(&PL_sv_undef);          PUSHp(pv, strlen(pv));          break; */	/* Uncomment this if you need to return PVNs        case PERL_constant_ISPVN:          EXTEND(SP, 1);          PUSHs(&PL_sv_undef);          PUSHp(pv, iv);          break; */	/* Uncomment this if you need to return SVs        case PERL_constant_ISSV:          EXTEND(SP, 1);          PUSHs(&PL_sv_undef);          PUSHs(sv);          break; */	/* Uncomment this if you need to return UNDEFs        case PERL_constant_ISUNDEF:          break; */	/* Uncomment this if you need to return UVs        case PERL_constant_ISUV:          EXTEND(SP, 1);          PUSHs(&PL_sv_undef);          PUSHu((UV)iv);          break; */	/* Uncomment this if you need to return YESs        case PERL_constant_ISYES:          EXTEND(SP, 1);          PUSHs(&PL_sv_undef);          PUSHs(&PL_sv_yes);          break; */        default:          sv = sv_2mortal(newSVpvf(	    "Unexpected return type %d while processing DB_File macro %s, used",               type, s));          PUSHs(sv);        }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -