* (bug 3427) Single Player causes SIGBUS on SGI IRIX (Patrick Baggett)

This commit is contained in:
Tim Angus 2008-02-20 19:41:52 +00:00
parent dc3d2457e0
commit fd69a32508
3 changed files with 15 additions and 15 deletions

View file

@ -1617,7 +1617,7 @@ typedef struct operator_s
typedef struct value_s
{
signed long int intvalue;
double floatvalue;
float floatvalue;
int parentheses;
struct value_s *prev, *next;
} value_t;
@ -1685,7 +1685,7 @@ int PC_OperatorPriority(int op)
#define FreeOperator(op)
int PC_EvaluateTokens(source_t *source, token_t *tokens, signed long int *intvalue,
double *floatvalue, int integer)
float *floatvalue, int integer)
{
operator_t *o, *firstoperator, *lastoperator;
value_t *v, *firstvalue, *lastvalue, *v1, *v2;
@ -1696,7 +1696,7 @@ int PC_EvaluateTokens(source_t *source, token_t *tokens, signed long int *intval
int lastwasvalue = 0;
int negativevalue = 0;
int questmarkintvalue = 0;
double questmarkfloatvalue = 0;
float questmarkfloatvalue = 0;
int gotquestmarkvalue = qfalse;
int lastoperatortype = 0;
//
@ -2139,7 +2139,7 @@ int PC_EvaluateTokens(source_t *source, token_t *tokens, signed long int *intval
// Changes Globals: -
//============================================================================
int PC_Evaluate(source_t *source, signed long int *intvalue,
double *floatvalue, int integer)
float *floatvalue, int integer)
{
token_t token, *firsttoken, *lasttoken;
token_t *t, *nexttoken;
@ -2238,7 +2238,7 @@ int PC_Evaluate(source_t *source, signed long int *intvalue,
// Changes Globals: -
//============================================================================
int PC_DollarEvaluate(source_t *source, signed long int *intvalue,
double *floatvalue, int integer)
float *floatvalue, int integer)
{
int indent, defined = qfalse;
token_t token, *firsttoken, *lasttoken;
@ -2468,7 +2468,7 @@ int PC_Directive_eval(source_t *source)
//============================================================================
int PC_Directive_evalfloat(source_t *source)
{
double value;
float value;
token_t token;
if (!PC_Evaluate(source, NULL, &value, qfalse)) return qfalse;
@ -2577,7 +2577,7 @@ int PC_DollarDirective_evalint(source_t *source)
//============================================================================
int PC_DollarDirective_evalfloat(source_t *source)
{
double value;
float value;
token_t token;
if (!PC_DollarEvaluate(source, NULL, &value, qfalse)) return qfalse;

View file

@ -554,7 +554,7 @@ int PS_ReadName(script_t *script, token_t *token)
// Changes Globals: -
//============================================================================
void NumberValue(char *string, int subtype, unsigned long int *intvalue,
double *floatvalue)
float *floatvalue)
{
unsigned long int dotfound = 0;
@ -573,13 +573,13 @@ void NumberValue(char *string, int subtype, unsigned long int *intvalue,
} //end if
if (dotfound)
{
*floatvalue = *floatvalue + (double) (*string - '0') /
(double) dotfound;
*floatvalue = *floatvalue + (float) (*string - '0') /
(float) dotfound;
dotfound *= 10;
} //end if
else
{
*floatvalue = *floatvalue * 10.0 + (double) (*string - '0');
*floatvalue = *floatvalue * 10.0 + (float) (*string - '0');
} //end else
string++;
} //end while
@ -1148,10 +1148,10 @@ void StripSingleQuotes(char *string)
// Returns: -
// Changes Globals: -
//============================================================================
double ReadSignedFloat(script_t *script)
float ReadSignedFloat(script_t *script)
{
token_t token;
double sign = 1.0;
float sign = 1.0;
PS_ExpectAnyToken(script, &token);
if (!strcmp(token.string, "-"))

View file

@ -161,7 +161,7 @@ typedef struct token_s
int subtype; //last read token sub type
#ifdef NUMBERVALUE
unsigned long int intvalue; //integer value
double floatvalue; //floating point value
float floatvalue; //floating point value
#endif //NUMBERVALUE
char *whitespace_p; //start of white space before token
char *endwhitespace_p; //start of white space before token
@ -218,7 +218,7 @@ void StripSingleQuotes(char *string);
//read a possible signed integer
signed long int ReadSignedInt(script_t *script);
//read a possible signed floating point number
double ReadSignedFloat(script_t *script);
float ReadSignedFloat(script_t *script);
//set an array with punctuations, NULL restores default C/C++ set
void SetScriptPunctuations(script_t *script, punctuation_t *p);
//set script flags