I'm trying to fail when the string being parsed is 1. second field in string is too big, 2. Expected float is not a float, 3. more than 2 fields in string. What am I dong wrong?
Code:
static int parse_sscanf( const char *in_str, struct parse_s *parse_struct )
{

	char buffer[BUFFSIZE];
	int inx;
	strncpy(buffer, in_str, BUFFSIZE - 1);
	buffer[BUFFSIZE - 1] = '\000';

	if (inx = sscanf( buffer, "%lf%*c%s", &parse_struct->value, parse_struct->name ) != 2 )
	{
		return FALSE;
	}

	else

	return TRUE;
}
ouput...
Success parsed >>123.456 some-number-name<< to >>some-number-name<< and 123.456000
Success parsed >> 314.159 pi*100<< to >>pi*100<< and 314.159000
Success parsed >>314159 pi*100000<< to >>pi*100000<< and 314159.000000
Success parsed >>0.314159 pi/10<< to >>pi/10<< and 0.314159
Success parsed >>123.45 123.45 << to >>123.45<< and 123.450000
Success parsed >>314.159 pi*100 << to >>pi*100<< and 314.159000
Success parsed >>-123.456 a-neg-number << to >>a-neg-number<< and -123.456000
Success parsed >>0.0 zero-number<< to >>zero-number<< and 0.000000
Success parsed >>0 another-zero<< to >>another-zero<< and 0.000000
Success parsed >>123.456 some-really-long-name-string<< to >>some-really-long-name-string<< and 123.453150 (should have failed)
Success parsed >>3.1.4159 pi<< to >>4159<< and 3.100000 (should have failed)
Success parsed >>499.999 some-number 299.999 extra << to >>some-number<< and 499.999000 (should have failed)
Failed to parse >><<
Failed to parse >>no-num<<
Failed to parse >>invalid-num xxx<<
Failed to parse >>name-in-wrong-position 123.45<<
Failed to parse >>123.45 <<