libxml.h: Don't include stdio.h
diff --git a/chvalid.c b/chvalid.c
index f4fa44a..fb2c715 100644
--- a/chvalid.c
+++ b/chvalid.c
@@ -14,6 +14,8 @@
 #include "libxml.h"
 #include <libxml/chvalid.h>
 
+#include <stddef.h>
+
 /*
  * The initial tables ({func_name}_tab) are used to validate whether a
  * single-byte character is within the specified group.  Each table
diff --git a/genChRanges.py b/genChRanges.py
index 47b4609..4e229d1 100755
--- a/genChRanges.py
+++ b/genChRanges.py
@@ -279,6 +279,8 @@
 #include "libxml.h"
 #include <libxml/chvalid.h>
 
+#include <stddef.h>
+
 /*
  * The initial tables ({func_name}_tab) are used to validate whether a
  * single-byte character is within the specified group.  Each table
diff --git a/libxml.h b/libxml.h
index 31b90e1..722929f 100644
--- a/libxml.h
+++ b/libxml.h
@@ -34,15 +34,7 @@
   #define SYSCONFDIR "/etc"
 #endif
 
-#ifndef WITH_TRIO
-#include <stdio.h>
-#else
-/**
- * TRIO_REPLACE_STDIO:
- *
- * This macro is defined if the trio string formatting functions are to
- * be used instead of the default stdio ones.
- */
+#ifdef WITH_TRIO
 #define TRIO_REPLACE_STDIO
 #include "trio.h"
 #endif
diff --git a/xmllint.c b/xmllint.c
index d398cd5..2f0ada1 100644
--- a/xmllint.c
+++ b/xmllint.c
@@ -10,6 +10,7 @@
 
 #include <string.h>
 #include <stdarg.h>
+#include <stdio.h>
 #include <stdlib.h>
 #include <assert.h>
 #include <time.h>