Memory leak hunting, export more interfaces, updated the doc, Daniel.
diff --git a/error.c b/error.c
index 3a479ea..a00c2a4 100644
--- a/error.c
+++ b/error.c
@@ -40,10 +40,9 @@
base = ctxt->input->base;
while ((cur > base) && ((*cur == '\n') || (*cur == '\r'))) {
cur--;
- base--;
}
n = 0;
- while ((n++ < 60) && (cur > base) && (*cur != '\n') && (*cur != '\r'))
+ while ((n++ < 80) && (cur > base) && (*cur != '\n') && (*cur != '\r'))
cur--;
if ((*cur == '\n') || (*cur == '\r')) cur++;
base = cur;
@@ -57,7 +56,7 @@
while ((*cur == '\n') || (*cur == '\r'))
cur--;
n = 0;
- while ((cur != base) && (n++ < 60)) {
+ while ((cur != base) && (n++ < 80)) {
fprintf(stderr, " ");
base++;
}
@@ -92,10 +91,13 @@
va_end(ap);
cur = ctxt->input->cur;
base = ctxt->input->base;
+ while ((cur > base) && ((*cur == '\n') || (*cur == '\r'))) {
+ cur--;
+ }
n = 0;
- while ((n++ < 60) && (cur > base) && (*cur != '\n') && (*cur != '\r'))
+ while ((n++ < 80) && (cur > base) && (*cur != '\n') && (*cur != '\r'))
cur--;
- if ((*cur != '\n') || (*cur != '\r')) cur++;
+ if ((*cur == '\n') || (*cur == '\r')) cur++;
base = cur;
n = 0;
while ((*cur != 0) && (*cur != '\n') && (*cur != '\r') && (n < 79)) {
@@ -104,8 +106,10 @@
}
fprintf(stderr, "\n");
cur = ctxt->input->cur;
+ while ((*cur == '\n') || (*cur == '\r'))
+ cur--;
n = 0;
- while ((cur != base) && (n++ < 60)) {
+ while ((cur != base) && (n++ < 80)) {
fprintf(stderr, " ");
base++;
}