[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Minios-devel] [UNIKRAFT PATCH v2 1/6] lib/nolibc: don't include stdarg.h from stdio.h



Reviewed-by: Simon Kuenzer <simon.kuenzer@xxxxxxxxx>

On 17.08.2018 09:56, Florian Schmidt wrote:
Signed-off-by: Florian Schmidt <florian.schmidt@xxxxxxxxx>
---
  lib/nolibc/include/stdio.h | 13 ++++++++++++-
  1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/lib/nolibc/include/stdio.h b/lib/nolibc/include/stdio.h
index 06690c8..df95c0c 100644
--- a/lib/nolibc/include/stdio.h
+++ b/lib/nolibc/include/stdio.h
@@ -37,7 +37,6 @@
  #define __STDIO_H__
#include <stddef.h>
-#include <stdarg.h>
  #include <uk/essentials.h>
#ifdef __cplusplus
@@ -51,6 +50,14 @@ extern FILE *stdin;
  extern FILE *stdout;
  extern FILE *stderr;
+/* stdio.h shall not define va_list if it is included, but it shall
+ * declare functions that use va_list.
+ */
+#ifndef va_list
+#define __STDIO_H_DEFINED_va_list
+#define va_list __builtin_va_list
+#endif
+
  int vsnprintf(char *str, size_t size, const char *fmt, va_list ap);
  int  snprintf(char *str, size_t size, const char *fmt, ...) __printf(3, 4);
@@ -70,6 +77,10 @@ int sscanf(const char *str, const char *fmt, ...) __scanf(2, 3);
  int vasprintf(char **str, const char *fmt, va_list ap);
  int  asprintf(char **str, const char *fmt, ...)             __printf(2, 3);
+#ifdef __STDIO_H_DEFINED_va_list
+#undef va_list
+#endif
+
  #ifdef __cplusplus
  }
  #endif


_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.