mirror of https://github.com/pret/pokecrystal.git
Merge pull request #500 from yenatch/fix-scan-includes
Fix scan_includes matching the word "include" in strings.
This commit is contained in:
commit
0c446367ce
|
@ -48,9 +48,20 @@ void scan_file(char* filename) {
|
||||||
buffer = strchr(buffer, '\n');
|
buffer = strchr(buffer, '\n');
|
||||||
if (!buffer) {
|
if (!buffer) {
|
||||||
fprintf(stderr, "%s: no newline at end of file\n", filename);
|
fprintf(stderr, "%s: no newline at end of file\n", filename);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case '"':
|
||||||
|
buffer++;
|
||||||
|
buffer = strchr(buffer, '"');
|
||||||
|
if (!buffer) {
|
||||||
|
fprintf(stderr, "%s: unterminated string\n", filename);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
buffer++;
|
||||||
|
break;
|
||||||
|
|
||||||
case 'i':
|
case 'i':
|
||||||
case 'I':
|
case 'I':
|
||||||
if ((strncmp(buffer, "INCBIN", 6) == 0) || (strncmp(buffer, "incbin", 6) == 0)) {
|
if ((strncmp(buffer, "INCBIN", 6) == 0) || (strncmp(buffer, "incbin", 6) == 0)) {
|
||||||
|
@ -60,9 +71,10 @@ void scan_file(char* filename) {
|
||||||
}
|
}
|
||||||
if (is_incbin || is_include) {
|
if (is_incbin || is_include) {
|
||||||
buffer = strchr(buffer, '"');
|
buffer = strchr(buffer, '"');
|
||||||
if (!buffer++) {
|
if (!buffer) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
buffer++;
|
||||||
int length = strcspn(buffer, "\"");
|
int length = strcspn(buffer, "\"");
|
||||||
char *include = malloc(length + 1);
|
char *include = malloc(length + 1);
|
||||||
strncpy(include, buffer, length);
|
strncpy(include, buffer, length);
|
||||||
|
|
Loading…
Reference in New Issue