summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2023-04-12 21:55:27 +0300
committerSebastian Dröge <sebastian@centricular.com>2023-04-12 21:55:27 +0300
commit0b8ba0ba747b9123f9cecbbabfc021564850caeb (patch)
tree63eb7090c1d3f8c5c7ffebc3eb9185251396b91e
parent6301c6dce08f8eca77dc844a0abafce9d38a5ee5 (diff)
downloadorc-0b8ba0ba747b9123f9cecbbabfc021564850caeb.tar.gz
Fix error string allocation in legacy error output
And change it to the same format as used by orcc now. Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/30>
-rw-r--r--orc/orcparse.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/orc/orcparse.c b/orc/orcparse.c
index b53282e..6e1be10 100644
--- a/orc/orcparse.c
+++ b/orc/orcparse.c
@@ -343,16 +343,16 @@ orc_parse_splat_error (OrcParseError **errors, int n_errors, char **log)
{
int i;
int len = 0;
- int size = ORC_ERROR_LENGTH;
+ int size = 0;
char *_log = NULL;
for(i=0;i<n_errors;i++){
- int n = strlen (errors[i]->text + sizeof ("error: \n"));
+ int n = sizeof ("error: 123456789012345 \n") + strlen (errors[i]->source) + strlen (errors[i]->text);
if (len + n >= size) {
- size += ORC_ERROR_LENGTH;
+ size += MAX (n, 256);
_log = realloc(_log, size);
}
- len += sprintf (_log + len, "error: %s\n", errors[i]->text);
+ len += sprintf (_log + len, "%s @ %i: error: %s\n", errors[i]->source, errors[i]->line_number, errors[i]->text);
}
*log = _log;
}