summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/util-linux/util-linux/uuid-test-error-api.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-core/util-linux/util-linux/uuid-test-error-api.patch')
-rw-r--r--meta/recipes-core/util-linux/util-linux/uuid-test-error-api.patch99
1 files changed, 0 insertions, 99 deletions
diff --git a/meta/recipes-core/util-linux/util-linux/uuid-test-error-api.patch b/meta/recipes-core/util-linux/util-linux/uuid-test-error-api.patch
deleted file mode 100644
index a6fde5d9cb..0000000000
--- a/meta/recipes-core/util-linux/util-linux/uuid-test-error-api.patch
+++ /dev/null
@@ -1,99 +0,0 @@
1This patch adds error() API implementation for non-glibc system C libs
2
3Upstream-Status: Pending
4Signed-off-by: Khem Raj <raj.khem@gmail.com>
5
6---
7 misc-utils/test_uuidd.c | 62 ++++++++++++++++++++++++++++++++++++++++++++++++-
8 1 file changed, 61 insertions(+), 1 deletion(-)
9
10diff --git a/misc-utils/test_uuidd.c b/misc-utils/test_uuidd.c
11index 36f3b3d..7d579ce 100644
12--- a/misc-utils/test_uuidd.c
13+++ b/misc-utils/test_uuidd.c
14@@ -23,7 +23,6 @@
15 *
16 * make uuidd uuidgen localstatedir=/var
17 */
18-#include <error.h>
19 #include <pthread.h>
20 #include <stdio.h>
21 #include <stdlib.h>
22@@ -38,6 +37,17 @@
23 #include "xalloc.h"
24 #include "strutils.h"
25
26+#ifdef __GLIBC__
27+#include <error.h>
28+#else
29+extern void (*error_print_progname)(void);
30+extern unsigned int error_message_count;
31+extern int error_one_per_line;
32+
33+void error(int, int, const char *, ...);
34+void error_at_line(int, int, const char *, unsigned int, const char *, ...);
35+#endif
36+
37 #define LOG(level,args) if (loglev >= level) { fprintf args; }
38
39 size_t nprocesses = 4;
40@@ -256,6 +266,56 @@ static void object_dump(size_t idx, object_t *obj)
41 fprintf(stderr, "}\n");
42 }
43
44+#ifndef __GLIBC__
45+extern char *__progname;
46+
47+void (*error_print_progname)(void) = 0;
48+unsigned int error_message_count = 0;
49+int error_one_per_line = 0;
50+
51+static void eprint(int status, int e, const char *file, unsigned int line, const char *fmt, va_list ap)
52+{
53+ if (file && error_one_per_line) {
54+ static const char *oldfile;
55+ static unsigned int oldline;
56+ if (line == oldline && strcmp(file, oldfile) == 0)
57+ return;
58+ oldfile = file;
59+ oldline = line;
60+ }
61+ if (error_print_progname)
62+ error_print_progname();
63+ else
64+ fprintf(stderr, "%s: ", __progname);
65+ if (file)
66+ fprintf(stderr, "%s:%u: ", file, line);
67+ vfprintf(stderr, fmt, ap);
68+ if (e)
69+ fprintf(stderr, ": %s", strerror(e));
70+ putc('\n', stderr);
71+ fflush(stderr);
72+ error_message_count++;
73+ if (status)
74+ exit(status);
75+}
76+
77+void error(int status, int e, const char *fmt, ...)
78+{
79+ va_list ap;
80+ va_start(ap,fmt);
81+ eprint(status, e, 0, 0, fmt, ap);
82+ va_end(ap);
83+}
84+
85+void error_at_line(int status, int e, const char *file, unsigned int line, const char *fmt, ...)
86+{
87+ va_list ap;
88+ va_start(ap,fmt);
89+ eprint(status, e, file, line, fmt, ap);
90+ va_end(ap);
91+}
92+#endif /* __GLIBC__ */
93+
94 int main(int argc, char *argv[])
95 {
96 size_t i, nfailed = 0, nignored = 0;
97--
982.8.3
99