diff --git a/srcpkgs/musl-legacy-compat/files/error.h b/srcpkgs/musl-legacy-compat/files/error.h index 835d0cb7f7d..9a4e1f8d006 100644 --- a/srcpkgs/musl-legacy-compat/files/error.h +++ b/srcpkgs/musl-legacy-compat/files/error.h @@ -30,4 +30,31 @@ static inline void error(int status, int errnum, const char* format, ...) exit(status); } +static int error_one_per_line = 0; + +static inline void error_at_line(int status, int errnum, const char *filename, + unsigned int linenum, const char *format, ...) +{ + va_list ap; + if (error_one_per_line) { + static const char *old_filename; + static int old_linenum; + if (linenum == old_linenum && filename == old_filename) + return; + old_filename = filename; + old_linenum = linenum; + } + fprintf(stderr, "%s: %s:%u: ", program_invocation_name, filename, linenum); + va_start(ap, format); + vfprintf(stderr, format, ap); + va_end(ap); + if (errnum) + fprintf(stderr, ": %s", strerror(errnum)); + fprintf(stderr, "\n"); + error_message_count++; + if (status) + exit(status); +} + + #endif /* _ERROR_H_ */ diff --git a/srcpkgs/musl-legacy-compat/template b/srcpkgs/musl-legacy-compat/template index a59d4e7683f..f68bd992251 100644 --- a/srcpkgs/musl-legacy-compat/template +++ b/srcpkgs/musl-legacy-compat/template @@ -1,7 +1,7 @@ # Template file for 'musl-legacy-compat' pkgname=musl-legacy-compat -version=0.4 -revision=2 +version=0.5 +revision=1 archs="*-musl" bootstrap=yes short_desc="Legacy compatibility headers for the musl libc"