[PATCH 02/16] xfuncs: add wrapper for wchar strdup functions
Michael Olbrich
m.olbrich at pengutronix.de
Fri Jul 17 12:22:35 PDT 2015
Signed-off-by: Michael Olbrich <m.olbrich at pengutronix.de>
---
include/xfuncs.h | 5 +++++
lib/xfuncs.c | 31 +++++++++++++++++++++++++++++++
2 files changed, 36 insertions(+)
diff --git a/include/xfuncs.h b/include/xfuncs.h
index c7c0203f375b..b53cfdcddd31 100644
--- a/include/xfuncs.h
+++ b/include/xfuncs.h
@@ -3,6 +3,7 @@
#include <linux/types.h>
#include <stdarg.h>
+#include <wchar.h>
void *xmalloc(size_t size);
void *xrealloc(void *ptr, size_t size);
@@ -13,4 +14,8 @@ void* xmemdup(const void *orig, size_t size);
char *xasprintf(const char *fmt, ...) __attribute__ ((format(__printf__, 1, 2)));
char *xvasprintf(const char *fmt, va_list ap);
+wchar_t *xstrdup_wchar(const wchar_t *src);
+wchar_t *xstrdup_char_to_wchar(const char *src);
+char *xstrdup_wchar_to_char(const wchar_t *src);
+
#endif /* __XFUNCS_H */
diff --git a/lib/xfuncs.c b/lib/xfuncs.c
index ce89169547a4..c8c1da7dad7f 100644
--- a/lib/xfuncs.c
+++ b/lib/xfuncs.c
@@ -22,6 +22,7 @@
#include <common.h>
#include <malloc.h>
#include <module.h>
+#include <wchar.h>
void *xmalloc(size_t size)
{
@@ -105,3 +106,33 @@ char *xasprintf(const char *fmt, ...)
return p;
}
EXPORT_SYMBOL(xasprintf);
+
+wchar_t *xstrdup_wchar(const wchar_t *s)
+{
+ wchar_t *p = strdup_wchar(s);
+
+ if (!p)
+ panic("ERROR: out of memory\n");
+ return p;
+}
+EXPORT_SYMBOL(xstrdup_wchar);
+
+wchar_t *xstrdup_char_to_wchar(const char *s)
+{
+ wchar_t *p = strdup_char_to_wchar(s);
+
+ if (!p)
+ panic("ERROR: out of memory\n");
+ return p;
+}
+EXPORT_SYMBOL(xstrdup_char_to_wchar);
+
+char *xstrdup_wchar_to_char(const wchar_t *s)
+{
+ char *p = strdup_wchar_to_char(s);
+
+ if (!p)
+ panic("ERROR: out of memory\n");
+ return p;
+}
+EXPORT_SYMBOL(xstrdup_wchar_to_char);
--
2.1.4
More information about the barebox
mailing list