
Pages:<< prev 1 next >>

Black Hand

GroupAdministrators
Posts3,707
JoinedJan 1, 2002
Bug: Improper comparison checks in do_weather command
Danger: Low, Causes undesirable messages to be shown with the weather command.
Found by: GCC 4.3
Fixed by: Samson
---
weather.c, do_weather
Locate:
Change to:
Locate:
Change to:
Locate:
Change to:
GCC 4.3 issues a compiler warning when trying to compile SmaugFUSS 1.9:
Previous versions of GCC do not pick up this warning and it's likely this mistake has been causing some unintended results, though since I've not really played with the weather code I'm not sure what the mistake actually affects other than possibly displaying an incorrect wind message to the players.
[Edit:] Adjusted the Danger, And yeah, no real effect other than showing the wrong messages. And once again we find one of those little stupid errors that you get when you write complex systems in the wee hours of the morning.
Danger: Low, Causes undesirable messages to be shown with the weather command.
Found by: GCC 4.3
Fixed by: Samson
---
weather.c, do_weather
Locate:
if( getWindX( cell ) != 0 && getWindY != 0 )
Change to:
if( getWindX( cell ) != 0 && getWindY( cell ) != 0 )
Locate:
else if( getWindX( cell ) != 0 && getWindY == 0 )
Change to:
else if( getWindX( cell ) != 0 && getWindY( cell ) == 0 )
Locate:
else if( getWindX( cell ) == 0 && getWindY != 0 )
Change to:
else if( getWindX( cell ) == 0 && getWindY( cell ) != 0 )
GCC 4.3 issues a compiler warning when trying to compile SmaugFUSS 1.9:
cc1plus: warnings being treated as errors
weather.c: In function 'void do_weather(CHAR_DATA*, const char*)':
weather.c:3278: error: the address of 'int getWindY(WeatherCell*)' will never be NULL
weather.c:3333: error: the address of 'int getWindY(WeatherCell*)' will never be NULL
weather.c:3361: error: the address of 'int getWindY(WeatherCell*)' will never be NULL
Previous versions of GCC do not pick up this warning and it's likely this mistake has been causing some unintended results, though since I've not really played with the weather code I'm not sure what the mistake actually affects other than possibly displaying an incorrect wind message to the players.
[Edit:] Adjusted the Danger, And yeah, no real effect other than showing the wrong messages. And once again we find one of those little stupid errors that you get when you write complex systems in the wee hours of the morning.

Pages:<< prev 1 next >>