/* * This file apparently defines the basic variables for PerlQt * * Copyright (C) 1999, Ashley Winters * * You may distribute under the terms of the LGPL as specified in the * README.LICENSE file which should be included with this library. * */ #include "pigperl.h" PIG_DEFINE_VOID_FUNC_2(pig_scope_argument, pigscopefptr, void *) { pig_sub_scope *pigscope; pigscope = new pig_sub_scope; pigscope->pignext = pig_frame->pigscope; pig_frame->pigscope = pigscope; pigscope->pigfptr = pig0; pigscope->pigdata = pig1; } PIG_DEFINE_VOID_FUNC_2(pig_scope_virtual, pigscopefptr, void *) { static pigscopefptr pigfptr = 0; static void *pigptr = 0; if(pigptr) (*pigfptr)(pigptr); pigfptr = pig0; pigptr = pig1; } PIG_DEFINE_VOID_FUNC_1(pig_scope_leave, pig_sub_scope *) { pig_sub_scope *pigold; if(!pig0) return; while(pig0) { (*pig0->pigfptr)(pig0->pigdata); pigold = pig0; pig0 = pig0->pignext; delete pigold; } } #undef pig_frame PIG_DEFINE_VARIABLE(SV *, pig_virtual_return); PIG_DEFINE_VARIABLE(int, pig_argument_idx); PIG_DEFINE_VARIABLE(int, pig_argument_max_idx); PIG_DEFINE_VARIABLE(int, pig_depth); PIG_DEFINE_VARIABLE(struct pig_sub_frame *, pig_frame) = 0; PIG_EXPORT_TABLE(pigperl) PIG_EXPORT_VARIABLE(pig_frame) PIG_EXPORT_VARIABLE(pig_virtual_return) PIG_EXPORT_VARIABLE(pig_argument_idx) PIG_EXPORT_VARIABLE(pig_argument_max_idx) PIG_EXPORT_VARIABLE(pig_depth) PIG_EXPORT_FUNC(pig_scope_argument) PIG_EXPORT_FUNC(pig_scope_virtual) PIG_EXPORT_FUNC(pig_scope_leave) PIG_EXPORT_ENDTABLE