From bae13155b4a434a05a3f0a21e462c047228b1cfb Mon Sep 17 00:00:00 2001 From: Bill Currie Date: Tue, 16 Jan 2001 03:15:23 +0000 Subject: [PATCH] fix a segmentation fault in PR_PrintStatement caused by bogus prototypes --- include/progs.h | 5 +++++ source/pr_edict.c | 3 --- source/pr_exec.c | 16 ++++++---------- source/sv_pr_cmds.c | 2 +- 4 files changed, 12 insertions(+), 14 deletions(-) diff --git a/include/progs.h b/include/progs.h index 1e11e35..0c051d9 100644 --- a/include/progs.h +++ b/include/progs.h @@ -143,6 +143,9 @@ void ED_PrintNum (progs_t *pr, int ent); void ED_Count (progs_t *pr); void PR_Profile (progs_t *pr); +char *PR_GlobalString (progs_t *pr, int ofs); +char *PR_GlobalStringNoContents (progs_t *pr, int ofs); + eval_t *GetEdictFieldValue(progs_t *pr, edict_t *ed, char *field); // @@ -156,6 +159,8 @@ int PR_SetString(progs_t *pr, char *s); // externaly supplied functions int ED_Parse_Extra_Fields (progs_t *pr, char *key, char *value); +void FindEdictFieldOffsets (progs_t *pr); + //============================================================================ diff --git a/source/pr_edict.c b/source/pr_edict.c index db9561c..2059ea2 100644 --- a/source/pr_edict.c +++ b/source/pr_edict.c @@ -52,9 +52,6 @@ cvar_t *r_skyname; cvar_t *pr_boundscheck; cvar_t *qwprog; -void SV_Error (char *error, ...); -void FindEdictFieldOffsets (progs_t *pr); - int type_size[8] = { 1, sizeof (void *) / 4, diff --git a/source/pr_exec.c b/source/pr_exec.c index 6123159..731c41d 100644 --- a/source/pr_exec.c +++ b/source/pr_exec.c @@ -132,10 +132,6 @@ char *pr_opnames[] = { "BITOR" }; -char *PR_GlobalString (int ofs); -char *PR_GlobalStringNoContents (int ofs); - - //============================================================================= /* @@ -154,21 +150,21 @@ PR_PrintStatement (progs_t *pr, dstatement_t *s) } if (s->op == OP_IF || s->op == OP_IFNOT) - Con_Printf ("%sbranch %i", PR_GlobalString ((unsigned short) s->a), + Con_Printf ("%sbranch %i", PR_GlobalString (pr, (unsigned short) s->a), s->b); else if (s->op == OP_GOTO) { Con_Printf ("branch %i", s->a); } else if ((unsigned int) (s->op - OP_STORE_F) < 6) { - Con_Printf ("%s", PR_GlobalString ((unsigned short) s->a)); - Con_Printf ("%s", PR_GlobalStringNoContents ((unsigned short) s->b)); + Con_Printf ("%s", PR_GlobalString (pr, (unsigned short) s->a)); + Con_Printf ("%s", PR_GlobalStringNoContents (pr, (unsigned short) s->b)); } else { if (s->a) - Con_Printf ("%s", PR_GlobalString ((unsigned short) s->a)); + Con_Printf ("%s", PR_GlobalString (pr, (unsigned short) s->a)); if (s->b) - Con_Printf ("%s", PR_GlobalString ((unsigned short) s->b)); + Con_Printf ("%s", PR_GlobalString (pr, (unsigned short) s->b)); if (s->c) Con_Printf ("%s", - PR_GlobalStringNoContents ((unsigned short) s->c)); + PR_GlobalStringNoContents (pr, (unsigned short) s->c)); } Con_Printf ("\n"); } diff --git a/source/sv_pr_cmds.c b/source/sv_pr_cmds.c index 0b1fef9..7df3f09 100644 --- a/source/sv_pr_cmds.c +++ b/source/sv_pr_cmds.c @@ -1,5 +1,5 @@ /* - pr_cmds.c + sv_pr_cmds.c (description)