*** empty log message ***
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@1042 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
4cd6c927de
commit
2e9590e9ef
11 changed files with 146 additions and 133 deletions
|
|
@ -248,6 +248,41 @@ void wad_stack_debug(WadFrame *frame) {
|
|||
}
|
||||
|
||||
|
||||
/* -----------------------------------------------------------------------------
|
||||
* wad_steal_outarg()
|
||||
*
|
||||
* Steal an output argument
|
||||
* ----------------------------------------------------------------------------- */
|
||||
|
||||
long
|
||||
wad_steal_outarg(WadFrame *f, char *symbol, int argno, int *error) {
|
||||
long *regs;
|
||||
WadFrame *lastf = 0;
|
||||
|
||||
*error = 0;
|
||||
/* Start searching */
|
||||
while (f) {
|
||||
if (f->sym_name && (strcmp(f->sym_name,symbol) == 0)) {
|
||||
/* Got a match */
|
||||
if (lastf) {
|
||||
#ifdef WAD_SOLARIS
|
||||
regs = (long *) lastf->stack;
|
||||
return regs[8+argno];
|
||||
#endif
|
||||
#ifdef WAD_LINUX
|
||||
regs = (long *) f->stack;
|
||||
return regs[argno+2];
|
||||
#endif
|
||||
}
|
||||
}
|
||||
lastf = f;
|
||||
f = f->next;
|
||||
}
|
||||
*error = -1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue