#include <stdio.h>
#include <string.h>
+#include "memdebug_debugger.h"
+
ParseError* ParseError_new(void) {
ParseError* pe = malloc(sizeof(ParseError));
if (pe) {
void ParseError_delete(ParseError* pe) {
if (pe) {
- free(pe->message);
+ if (pe->message) {
+ free(pe->message);
+ }
}
free(pe);
}
if (!pe->pos) {
/* Si hay mensaje. */
if (pe->message) {
- return fprintf(fp, "Error: %s.\n", pe->message);
+ return fprintf(fp, "Error en la línea %u: %s.\n", pe->line,
+ pe->message);
/* Si no hay mensaje. */
} else {
- return fprintf(fp, "Error no especificado.\n");
+ return fprintf(fp, "Error en la línea %u no especificado.\n",
+ pe->line);
}
/* Es un error de interpretación en una posición específica. */
} else {