|
@@ -360,15 +360,9 @@ enum line_compiled get_ccan_line_pp(struct pp_conditions *cond,
|
|
|
return ret;
|
|
return ret;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-void score_file_error(struct score *score, struct ccan_file *f, unsigned line,
|
|
|
|
|
- const char *errorfmt, ...)
|
|
|
|
|
|
|
+static void score_error_vfmt(struct score *score, const char *source,
|
|
|
|
|
+ const char *errorfmt, va_list ap)
|
|
|
{
|
|
{
|
|
|
- va_list ap;
|
|
|
|
|
-
|
|
|
|
|
- struct file_error *fe = tal(score, struct file_error);
|
|
|
|
|
- fe->file = f;
|
|
|
|
|
- fe->line = line;
|
|
|
|
|
- list_add_tail(&score->per_file_errors, &fe->list);
|
|
|
|
|
|
|
|
|
|
if (!score->error)
|
|
if (!score->error)
|
|
|
score->error = tal_strdup(score, "");
|
|
score->error = tal_strdup(score, "");
|
|
@@ -384,17 +378,45 @@ void score_file_error(struct score *score, struct ccan_file *f, unsigned line,
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ tal_append_fmt(&score->error, "%s:", source);
|
|
|
|
|
+ tal_append_vfmt(&score->error, errorfmt, ap);
|
|
|
|
|
+ score->error = tal_strcat(score, take(score->error), "\n");
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+void score_error(struct score *score, const char *source,
|
|
|
|
|
+ const char *errorfmt, ...)
|
|
|
|
|
+{
|
|
|
|
|
+ va_list ap;
|
|
|
|
|
+
|
|
|
|
|
+ va_start(ap, errorfmt);
|
|
|
|
|
+ score_error_vfmt(score, source, errorfmt, ap);
|
|
|
|
|
+ va_end(ap);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+void score_file_error(struct score *score, struct ccan_file *f, unsigned line,
|
|
|
|
|
+ const char *errorfmt, ...)
|
|
|
|
|
+{
|
|
|
|
|
+ va_list ap;
|
|
|
|
|
+ char *source;
|
|
|
|
|
+
|
|
|
|
|
+ struct file_error *fe = tal(score, struct file_error);
|
|
|
|
|
+ fe->file = f;
|
|
|
|
|
+ fe->line = line;
|
|
|
|
|
+ list_add_tail(&score->per_file_errors, &fe->list);
|
|
|
|
|
+
|
|
|
if (line)
|
|
if (line)
|
|
|
- tal_append_fmt(&score->error, "%s:%u:", f->fullname, line);
|
|
|
|
|
|
|
+ source = tal_fmt(score, "%s:%u", f->fullname, line);
|
|
|
else
|
|
else
|
|
|
- tal_append_fmt(&score->error, "%s:", f->fullname);
|
|
|
|
|
|
|
+ source = tal_fmt(score, "%s", f->fullname);
|
|
|
|
|
|
|
|
va_start(ap, errorfmt);
|
|
va_start(ap, errorfmt);
|
|
|
- tal_append_vfmt(&score->error, errorfmt, ap);
|
|
|
|
|
|
|
+ score_error_vfmt(score, source, errorfmt, ap);
|
|
|
va_end(ap);
|
|
va_end(ap);
|
|
|
- score->error = tal_strcat(score, take(score->error),"\n");
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+
|
|
|
char *get_or_compile_info(const void *ctx, const char *dir)
|
|
char *get_or_compile_info(const void *ctx, const char *dir)
|
|
|
{
|
|
{
|
|
|
struct manifest *m = get_manifest(NULL, dir);
|
|
struct manifest *m = get_manifest(NULL, dir);
|