Changeset - r1773:5d285d2acb0f
[Not reviewed]
master
0 1 0
Darkvater - 19 years ago 2005-05-06 22:06:40
darkvater@openttd.org
(svn r2277) - Codechange: change sscanf() into stroul() Which Does The Right Thing tm. Thanks tron
1 file changed with 11 insertions and 9 deletions:
console.c
11
9
0 comments (0 inline, 0 general)
console.c
Show inline comments
 
@@ -448,17 +448,19 @@ void IConsoleError(const char* string)
 
 */
 
bool GetArgumentInteger(uint32 *value, const char *arg)
 
{
 
	int result = sscanf(arg, "%u", value);
 

	
 
	/* Hexadecimal numbers start with 0x, so at least the first number has been parsed */
 
	if (result == 1 && arg[0] == '0' && (arg[1] == 'x' || arg[1] == 'X'))
 
		result = sscanf(arg, "%x", value);
 
	char *endptr;
 

	
 
	if (result == 0 && (strcmp(arg, "on") == 0 || strcmp(arg, "true") == 0 )) {*value = 1; result = 1;}
 
	if (strcmp(arg, "on") == 0 || strcmp(arg, "true") == 0) {
 
		*value = 1;
 
		return true;
 
	}
 
	if (strcmp(arg, "off") == 0 || strcmp(arg, "false") == 0) {
 
		*value = 0;
 
		return true;
 
	}
 

	
 
	if (result == 0 && (strcmp(arg, "off") == 0 || strcmp(arg, "false") == 0)) {*value = 0; result = 1;}
 

	
 
	return !!result;
 
	*value = strtoul(arg, &endptr, 0);
 
	return (arg == endptr) ? false : true;
 
}
 

	
 
/**
0 comments (0 inline, 0 general)