Commit 24fbed052fbacb690f62bc4b0abfa29f668a35c2

Werner Lemberg 2016-01-20T21:10:41

Still handle `__FTERRORS_H__'. We need this for backwards compatibility. Problem reported by John Emmas <johne53@tiscali.co.uk>. * include/freetype/fterrors.h: Fix inclusion guard so that undefining either `FTERRORS_H_' or `__FTERRORS_H__' works as expected.

diff --git a/ChangeLog b/ChangeLog
index 721c5d9..d2fc27f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2016-01-20  Werner Lemberg  <wl@gnu.org>
+
+	Still handle `__FTERRORS_H__'.
+
+	We need this for backwards compatibility.
+
+	Problem reported by John Emmas <johne53@tiscali.co.uk>.
+
+	* include/freetype/fterrors.h: Fix inclusion guard so that
+	undefining either `FTERRORS_H_' or `__FTERRORS_H__' works as
+	expected.
+
 2016-01-19  Werner Lemberg  <wl@gnu.org>
 
 	[autofit] Fix handling of default script.
diff --git a/include/freetype/fterrors.h b/include/freetype/fterrors.h
index 64839b7..e15bfb0 100644
--- a/include/freetype/fterrors.h
+++ b/include/freetype/fterrors.h
@@ -99,8 +99,18 @@
 
   /* */
 
-#ifndef FTERRORS_H_
+  /* In previous FreeType versions we used `__FTERRORS_H__'.  However, */
+  /* using two successive underscores in a non-system symbol name      */
+  /* violates the C (and C++) standard, so it was changed to the       */
+  /* current form.  In spite of this, we have to make                  */
+  /*                                                                   */
+  /*   #undefine __FTERRORS_H__                                        */
+  /*                                                                   */
+  /* work for backwards compatibility.                                 */
+  /*                                                                   */
+#if !( defined( FTERRORS_H_ ) && defined ( __FTERRORS_H__ ) )
 #define FTERRORS_H_
+#define __FTERRORS_H__
 
 
   /* include module base error codes */
@@ -210,7 +220,7 @@
 #undef FT_ERR_PREFIX
 #endif
 
-#endif /* FTERRORS_H_ */
+#endif /* !(FTERRORS_H_ && __FTERRORS_H__) */
 
 
 /* END */