include readtex.h
diff --git a/progs/demos/drawpix.c b/progs/demos/drawpix.c
index faa98ee..82d32b0 100644
--- a/progs/demos/drawpix.c
+++ b/progs/demos/drawpix.c
@@ -8,9 +8,10 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <math.h>
+#include <string.h>
 #include <GL/glut.h>
 
-#include "readtex.c"
+#include "readtex.h"
 
 #define IMAGE_FILE "../images/girl.rgb"
 
diff --git a/progs/demos/fogcoord.c b/progs/demos/fogcoord.c
index f4f8199..19a15f0 100644
--- a/progs/demos/fogcoord.c
+++ b/progs/demos/fogcoord.c
@@ -13,7 +13,7 @@
 #include <math.h>
 #include <GL/glut.h>
 
-#include "readtex.c" /* the compulsory hack  */
+#include "readtex.h"
 
 #define TEXTURE_FILE "../images/bw.rgb"
 
diff --git a/progs/demos/multiarb.c b/progs/demos/multiarb.c
index 6fe35e7..d963985 100644
--- a/progs/demos/multiarb.c
+++ b/progs/demos/multiarb.c
@@ -17,7 +17,7 @@
 #include <string.h>
 #include <GL/glut.h>
 
-#include "readtex.c"   /* I know, this is a hack. */
+#include "readtex.h"
 
 #define TEXTURE_1_FILE "../images/girl.rgb"
 #define TEXTURE_2_FILE "../images/reflect.rgb"
@@ -36,7 +36,6 @@
 static GLfloat Xrot = 20.0, Yrot = 30.0, Zrot = 0.0;
 
 
-
 static void Idle( void )
 {
    if (Animate) {
diff --git a/progs/demos/readpix.c b/progs/demos/readpix.c
index 71ce972..2dc92f9 100644
--- a/progs/demos/readpix.c
+++ b/progs/demos/readpix.c
@@ -9,6 +9,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <math.h>
+#include <string.h>
 #include <GL/glut.h>
 
 #include "readtex.h"
diff --git a/progs/demos/teapot.c b/progs/demos/teapot.c
index 67a64f9..5a50447 100644
--- a/progs/demos/teapot.c
+++ b/progs/demos/teapot.c
@@ -10,6 +10,7 @@
 #include <stdlib.h>
 #include <math.h>
 #include <time.h>
+#include <string.h>
 
 #ifdef WIN32
 #include <windows.h>