{
char *token;
- token = strchr(*str, ',');
- if ( !token )
+ if ( !(*str) || !strchr(*str, ',') )
return 0;
- token++;
+ token = *str;
*seg = token_value(token);
token = strchr(token, ',') + 1;
*bus = token_value(token);
*dev = token_value(token);
token = strchr(token, ',') + 1;
*func = token_value(token);
+ token = strchr(token, ',');
+ *str = token ? token + 1 : NULL;
- *str = token;
return 1;
}
{
char *token;
- token = strchr(*str, ',');
- if ( !token )
+ if ( !(*str) || !strchr(*str, ',') )
return 0;
- token++;
+ token = *str;
*seg = token_value(token);
token = strchr(token, ',') + 1;
*bus = token_value(token);
*dev = token_value(token);
token = strchr(token, ',') + 1;
*func = token_value(token);
+ token = strchr(token, ',');
+ *str = token ? token + 1 : NULL;
- *str = token;
return 1;
}