Changeset View
Changeset View
Standalone View
Standalone View
stand/ficl/words.c
Show First 20 Lines • Show All 3,457 Lines • ▼ Show 20 Lines | static void stringQuoteIm(FICL_VM *pVM) | ||||
FICL_DICT *dp = vmGetDict(pVM); | FICL_DICT *dp = vmGetDict(pVM); | ||||
if (pVM->state == INTERPRET) | if (pVM->state == INTERPRET) | ||||
{ | { | ||||
FICL_STRING *sp = (FICL_STRING *) dp->here; | FICL_STRING *sp = (FICL_STRING *) dp->here; | ||||
vmGetString(pVM, sp, '\"'); | vmGetString(pVM, sp, '\"'); | ||||
PUSHPTR(sp->text); | PUSHPTR(sp->text); | ||||
PUSHUNS(sp->count); | PUSHUNS(sp->count); | ||||
/* move HERE past string so it doesn't get overwritten */ | |||||
dictAllot(dp, sp->count + sizeof(FICL_COUNT)); | |||||
} | } | ||||
else /* COMPILE state */ | else /* COMPILE state */ | ||||
{ | { | ||||
dictAppendCell(dp, LVALUEtoCELL(pVM->pSys->pStringLit)); | dictAppendCell(dp, LVALUEtoCELL(pVM->pSys->pStringLit)); | ||||
dp->here = PTRtoCELL vmGetString(pVM, (FICL_STRING *)dp->here, '\"'); | dp->here = PTRtoCELL vmGetString(pVM, (FICL_STRING *)dp->here, '\"'); | ||||
dictAlign(dp); | dictAlign(dp); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 1,735 Lines • Show Last 20 Lines |