- // Parse Line
- // - Type
- type = line;
- // - Number
- num = strchr(type, ' ');
- if(num) {
- while(*num == ' ' || *num == '\t') num ++;
- }
- else {
- fprintf(stderr, "Syntax error on line %i of item file\n", lineNum);
- continue;
- }
- // - Price
- price = strchr(num, ' ');
- if( price ) {
- while(*num == ' ' || *num == '\t') num ++;
- }
- else {
- fprintf(stderr, "Syntax error on line %i of item file\n", lineNum);
- continue;
+ if(strlen(line) == 0) continue;
+
+ // Pass regex over line
+ if( (i = regexec(®ex, line, 5, matches, 0)) ) {
+ size_t len = regerror(i, ®ex, NULL, 0);
+ char *errorStr = malloc(len);
+ regerror(i, ®ex, errorStr, len);
+ fprintf(stderr, "Syntax error on line %i of item file '%s'\n%s", lineNum, gsItemListFile, errorStr);
+ free(errorStr);
+ exit(-1);