From ebfcb03c31ffdcec0f091af0f66a66c9d30fb689 Mon Sep 17 00:00:00 2001 From: divverent Date: Tue, 15 Feb 2011 06:31:53 +0000 Subject: [PATCH] fix some instances detecting vector component names to ONLY match _x, _y, _z, but not e.g. _a; also fixes a bad memory access on one-letter global variable names git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@10845 d7cf8633-e32d-0410-b094-e92efae38249 --- prvm_edict.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/prvm_edict.c b/prvm_edict.c index ca54439d..aa34f78b 100644 --- a/prvm_edict.c +++ b/prvm_edict.c @@ -648,7 +648,7 @@ void PRVM_ED_Print(prvm_edict_t *ed, const char *wildcard_fieldname) { d = &prog->fielddefs[i]; name = PRVM_GetString(d->s_name); - if (name[strlen(name)-2] == '_') + if(strlen(name) > 1 && name[strlen(name)-2] == '_' && (name[strlen(name)-1] == 'x' || name[strlen(name)-1] == 'y' || name[strlen(name)-1] == 'z') continue; // skip _x, _y, _z vars // Check Field Name Wildcard @@ -732,7 +732,7 @@ void PRVM_ED_Write (qfile_t *f, prvm_edict_t *ed) if(developer_entityparsing.integer) Con_Printf("PRVM_ED_Write: at entity %d field %s\n", PRVM_NUM_FOR_EDICT(ed), name); - if (name[strlen(name)-2] == '_') + if(strlen(name) > 1 && name[strlen(name)-2] == '_' && (name[strlen(name)-1] == 'x' || name[strlen(name)-1] == 'y' || name[strlen(name)-1] == 'z') continue; // skip _x, _y, _z vars v = (int *)(ed->fields.vp + d->ofs); -- 2.39.2