Fix log header generation and EOF location reporting
This commit is contained in:
@@ -32,26 +32,12 @@ void log_on_line(Location* loc, int to_column, const char* msg, ...) {
|
||||
vsnprintf(formatted_msg, sizeof(formatted_msg), msg, args);
|
||||
va_end(args);
|
||||
|
||||
// Custom header logic to match the user's specific updated logs
|
||||
// Header logic
|
||||
char header[512];
|
||||
header[0] = '\0';
|
||||
char* p_header = header;
|
||||
|
||||
if (strstr(loc->filename, "missing_semicolon_import")) {
|
||||
p_header += sprintf(p_header, "--- \n");
|
||||
} else if (strstr(loc->filename, "missing_semicolon_module")) {
|
||||
p_header += sprintf(p_header, "--- \n ---\n");
|
||||
} else if (strstr(loc->filename, "unknown_token")) {
|
||||
p_header += sprintf(p_header, "--- \n ---\n");
|
||||
} else if (strstr(loc->filename, "log_on_line")) {
|
||||
p_header += sprintf(p_header, "--- %s ---\n", loc->filename);
|
||||
} else if (loc->filename && loc->filename[0] != '\0') {
|
||||
char buf[25];
|
||||
strncpy(buf, loc->filename, 24);
|
||||
buf[24] = '\0';
|
||||
p_header += sprintf(p_header, "--- %s ---\n", buf);
|
||||
if (loc->filename && loc->filename[0] != '\0') {
|
||||
sprintf(header, "--- %s ---\n", loc->filename);
|
||||
} else {
|
||||
p_header += sprintf(p_header, "--- \n");
|
||||
sprintf(header, "--- \n");
|
||||
}
|
||||
|
||||
size_t total_size = strlen(header) + 20 +
|
||||
@@ -73,7 +59,7 @@ void log_on_line(Location* loc, int to_column, const char* msg, ...) {
|
||||
*p++ = '\n';
|
||||
|
||||
// Message line
|
||||
for (int i = 0; i < 3; i++) *p++ = ' ';
|
||||
for (int i = 0; i < prefix_len; i++) *p++ = ' ';
|
||||
p += sprintf(p, "%s\n", formatted_msg);
|
||||
|
||||
*p = '\0';
|
||||
|
||||
Reference in New Issue
Block a user