for hexcoder
diff --git a/docs/ChangeLog b/docs/ChangeLog
index 62cef23..6172785 100644
--- a/docs/ChangeLog
+++ b/docs/ChangeLog
@@ -21,6 +21,7 @@
     FIFO or disk partition
   - reducing duplicate code in afl-fuzz
   - persistent mode for QEMU
+  - removed compile warnings from python internal stuff
   - updated documentation
 
 
diff --git a/include/afl-fuzz.h b/include/afl-fuzz.h
index aa879a4..ec896bd 100644
--- a/include/afl-fuzz.h
+++ b/include/afl-fuzz.h
@@ -454,8 +454,31 @@
 /* Python stuff */
 #ifdef USE_PYTHON
 
+// because Python sets stuff it should not ...
+#ifdef _POSIX_C_SOURCE
+  #define _SAVE_POSIX_C_SOURCE _POSIX_C_SOURCE
+  #undef _POSIX_C_SOURCE
+#endif
+#ifdef _XOPEN_SOURCE
+  #define _SAVE_XOPEN_SOURCE _XOPEN_SOURCE
+  #undef _XOPEN_SOURCE
+#endif
+
 #include <Python.h>
 
+#ifdef _SAVE_POSIX_C_SOURCE
+ #ifdef _POSIX_C_SOURCE
+  #undef _POSIX_C_SOURCE
+ #endif
+ #define _POSIX_C_SOURCE _SAVE_POSIX_C_SOURCE
+#endif
+#ifdef _SAVE_XOPEN_SOURCE
+ #ifdef _XOPEN_SOURCE
+  #undef _XOPEN_SOURCE
+ #endif
+ #define _XOPEN_SOURCE _SAVE_XOPEN_SOURCE
+#endif
+
 extern PyObject* py_module;
 
 enum {