diff options
Diffstat (limited to 'meta/recipes-core/util-linux/util-linux')
-rw-r--r-- | meta/recipes-core/util-linux/util-linux/uuid-test-error-api.patch | 99 |
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 @@ | |||
1 | This patch adds error() API implementation for non-glibc system C libs | ||
2 | |||
3 | Upstream-Status: Pending | ||
4 | Signed-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 | |||
10 | diff --git a/misc-utils/test_uuidd.c b/misc-utils/test_uuidd.c | ||
11 | index 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 | -- | ||
98 | 2.8.3 | ||
99 | |||