diff --git a/yxml.c b/yxml.c
index 214d6eb..a7a613f 100644
--- a/yxml.c
+++ b/yxml.c
@@ -322,10 +322,10 @@
 static inline int yxml_refattrval(yxml_t *x, unsigned ch) { return yxml_refend(x, YXML_ATTRVAL); }
 
 
-void yxml_init(yxml_t *x, char *stack, size_t stacksize) {
+void yxml_init(yxml_t *x, void *stack, size_t stacksize) {
 	memset(x, 0, sizeof(*x));
 	x->line = 1;
-	x->stack = (unsigned char *)stack;
+	x->stack = stack;
 	x->stacksize = stacksize;
 	*x->stack = 0;
 	x->elem = x->pi = (char *)x->stack;
diff --git a/yxml.c.in b/yxml.c.in
index 21f9c38..22e0e45 100644
--- a/yxml.c.in
+++ b/yxml.c.in
@@ -258,10 +258,10 @@
 static inline int yxml_refattrval(yxml_t *x, unsigned ch) { return yxml_refend(x, YXML_ATTRVAL); }
 
 
-void yxml_init(yxml_t *x, char *stack, size_t stacksize) {
+void yxml_init(yxml_t *x, void *stack, size_t stacksize) {
 	memset(x, 0, sizeof(*x));
 	x->line = 1;
-	x->stack = (unsigned char *)stack;
+	x->stack = stack;
 	x->stacksize = stacksize;
 	*x->stack = 0;
 	x->elem = x->pi = (char *)x->stack;
diff --git a/yxml.h b/yxml.h
index 101b5ec..cf7cf11 100644
--- a/yxml.h
+++ b/yxml.h
@@ -120,7 +120,7 @@
 } yxml_t;
 
 
-void yxml_init(yxml_t *, char *, size_t);
+void yxml_init(yxml_t *, void *, size_t);
 
 
 yxml_ret_t yxml_parse(yxml_t *, int);
diff --git a/yxml.pod b/yxml.pod
index 7cbfdf2..bb4c6ea 100644
--- a/yxml.pod
+++ b/yxml.pod
@@ -28,7 +28,7 @@
   typedef enum { /* .. */ } yxml_ret_t;
   typedef struct { /* .. */ } yxml_t;
 
-  void yxml_init(yxml_t *x, char *buf, size_t bufsize);
+  void yxml_init(yxml_t *x, void *buf, size_t bufsize);
   yxml_ret_t yxml_parse(yxml_t *x, int ch);
   yxml_ret_t yxml_eof(yxml_t *x);
 
@@ -50,7 +50,7 @@
 =head2 Initialization
 
   #define BUFSIZE 4096
-  char *buf = malloc(BUFSIZE);
+  void *buf = malloc(BUFSIZE);
   yxml_t x;
   yxml_init(&x, buf, BUFSIZE);
 
