File 0002-Fix-build.patch of Package orc.37278
From: Antonio Larrosa <alarrosa@suse.com>
The backporting of 0001-Use-vasprintf-if-available-for-error-messages-and.patch
needs some further changes to build. I prefer to keep those changes separate
for clarity.
Index: orc-0.4.21/orc/orcparse.c
===================================================================
--- orc-0.4.21.orig/orc/orcparse.c
+++ orc-0.4.21/orc/orcparse.c
@@ -378,7 +378,16 @@ orc_parse_log_valist (OrcParser *parser,
int len;
if (parser->error_program != parser->program) {
- sprintf(s, "In function %s:\n", parser->program->name);
+#ifdef HAVE_VASPRINTF
+ char *s = NULL;
+ asprintf (&s, "In function %s:\n", parser->program->name);
+#elif defined(_UCRT)
+ char s[100] = { '\0' };
+ snprintf_s (s, 100, _TRUNCATE, "In function %s:\n", parser->program->name);
+#else
+ char s[100] = { '\0' };
+ snprintf (s, sizeof (s), "In function %s:\n", parser->program->name);
+#endif
len = strlen(s);
if (parser->log_size + len + 1 >= parser->log_alloc) {
@@ -389,6 +398,9 @@ orc_parse_log_valist (OrcParser *parser,
strcpy (parser->log + parser->log_size, s);
parser->log_size += len;
parser->error_program = parser->program;
+#ifdef HAVE_VASPRINTF
+ free (s);
+#endif
}
#ifdef HAVE_VASPRINTF
Index: orc-0.4.21/configure.ac
===================================================================
--- orc-0.4.21.orig/configure.ac
+++ orc-0.4.21/configure.ac
@@ -65,6 +65,7 @@ AC_CHECK_HEADERS([sys/time.h])
AC_CHECK_HEADERS([unistd.h])
AC_CHECK_FUNCS([gettimeofday])
+AC_CHECK_FUNCS([vasprintf])
AC_CHECK_FUNCS([sigaction])
AC_CHECK_FUNCS([sigsetjmp])