From 389a2ee285ef0d531207fe672eb664a9a66b4333 Mon Sep 17 00:00:00 2001 From: Spoike Date: Tue, 9 Sep 2014 11:23:41 +0000 Subject: [PATCH] I missed a trick. acc.fld.stridx should work properly now. git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4749 fc73d0e0-1445-4013-8a0c-d673dee63da5 --- engine/qclib/qcc_pr_comp.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/engine/qclib/qcc_pr_comp.c b/engine/qclib/qcc_pr_comp.c index 5dffa328c..983159259 100644 --- a/engine/qclib/qcc_pr_comp.c +++ b/engine/qclib/qcc_pr_comp.c @@ -5276,9 +5276,14 @@ static QCC_ref_t *QCC_PR_ParseField(QCC_ref_t *refbuf, QCC_ref_t *lhs) { if (acc->indexertype) { - QCC_PR_Expect("["); - index = QCC_PR_Expression (TOP_PRIORITY, 0); - QCC_PR_Expect("]"); + if (QCC_PR_CheckToken(".") || QCC_PR_CheckToken("->")) + index = QCC_MakeStringConst(QCC_PR_ParseName()); + else + { + QCC_PR_Expect("["); + index = QCC_PR_Expression (TOP_PRIORITY, 0); + QCC_PR_Expect("]"); + } } break; }