コード例 #1
0
/**************************************************************************
                        W I D - S E T - N A M E
** ficl  ( wid c-addr -- )
** Set wid's name pointer to the \0 terminated string address supplied
**************************************************************************/
static void widSetName(FICL_VM *pVM)
{
    char *cp = (char *)vmPop(pVM).p;
    FICL_HASH *pHash = vmPop(pVM).p;
    pHash->name = cp;
    return;
}
コード例 #2
0
ファイル: vmCode.c プロジェクト: tctsigemura/C--
// スタックに積んだままなら捨てる
static void pop(struct Expr *c) {
  if (c->place==STKD) vmPop();                    // スタック利用なら解放
  if (c->place==STKW || c->place==STKB) {         // 意味のない式を書くと
    vmPop();                                      //   アドレスが残ることがある
    vmPop();
  }
}                                                 
コード例 #3
0
/**************************************************************************
                        W I D - G E T - N A M E
** ficl  ( wid -- c-addr u )
** Get wid's (optional) name and push onto stack as a counted string
**************************************************************************/
static void widGetName(FICL_VM *pVM)
{
    FICL_HASH *pHash = vmPop(pVM).p;
    char *cp = pHash->name;
    FICL_INT len = 0;
    
    if (cp)
        len = strlen(cp);

    vmPush(pVM, LVALUEtoCELL(cp));
    vmPush(pVM, LVALUEtoCELL(len));
    return;
}
コード例 #4
0
ファイル: mwseinstruction.cpp プロジェクト: europop/MGE-XE
const char * mwseInstruction::vmPopString()
{
	VMREGTYPE Arg;
	if(!vmPop(&Arg)) return 0;
	return vmGetString((void *)Arg);
}