diff options
| -rw-r--r-- | renumbas.c | 17 | 
1 files changed, 12 insertions, 5 deletions
| @@ -75,7 +75,7 @@ CALLBACK(renumber_line) {  	if(lineno < limit || lineno == 32768) return;  	if(newno >= 32768) { -		fprintf(stderr, "Fatal: New line number %d out of range, renumber failed.\n", newno); +		fprintf(stderr, "%s: Fatal: New line number %d out of range, renumber failed.\n", self, newno);  		exit(1);  	} @@ -89,14 +89,21 @@ CALLBACK(renumber_line) {  	newno += increment;  } -void renumber(void) { -	int i; +void check_refs(void) { +	int i, j;  	for(i = 0; i < 32768; i++) { -		if(refcounts[i] && !lines_exist[i]) -			fprintf(stderr, "Warning: Line %d is referenced, but does not exist.\n", i); +		if(refcounts[i] && !lines_exist[i]) { +			for(j = 0; j < refcounts[i]; j++) { +				fprintf(stderr, "%s: Warning: Line %d references nonexistent line %d.\n", +						self, linerefs[i][j].lineno, i); +			} +		}  	} +} +void renumber(void) { +	check_refs();  	newno = startlineno;  	on_start_line = renumber_line;  	walk_all_code(); | 
