Commit 4b49a8079f23a0c6c8c8d9b92454780a19035947

Armin Hasitzka 2018-08-31T20:26:46

[errors] Refine the macro logic surrounding `FT_Error_String'. * include/freetype/fterrors.h (FT_INCLUDE_ERR_PROTOS, FT_ERR_PROTOS_DEFINED): Undefine `FT_INCLUDE_ERR_PROTOS' after checking it and introduce a new macro that takes proper care of multiple-inclusion protection.

diff --git a/ChangeLog b/ChangeLog
index 8e19af5..374881e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2018-08-31  Armin Hasitzka  <prince.cherusker@gmail.com>
+
+	[errors] Refine the macro logic surrounding `FT_Error_String'.
+
+	* include/freetype/fterrors.h (FT_INCLUDE_ERR_PROTOS,
+	FT_ERR_PROTOS_DEFINED): Undefine `FT_INCLUDE_ERR_PROTOS' after
+	checking it and introduce a new macro that takes proper care of
+	multiple-inclusion protection.
+
 2018-08-31  Werner Lemberg  <wl@gnu.org>
 
 	* src/base/ftdebug.c (FT_Throw): Restore missing `FT_UNUSED' calls.
diff --git a/include/freetype/fterrors.h b/include/freetype/fterrors.h
index bed67cb..1f72602 100644
--- a/include/freetype/fterrors.h
+++ b/include/freetype/fterrors.h
@@ -230,7 +230,16 @@
 #undef FT_ERR_PREFIX
 #endif
 
+  /* FT_INCLUDE_ERR_PROTOS:  Control if function prototypes should be       */
+  /*                         included with `#include FT_ERRORS_H'.  This is */
+  /*                         only true where `FT_ERRORDEF' is undefined.    */
+  /* FT_ERR_PROTOS_DEFINED:  Actual multiple-inclusion protection of        */
+  /*                         `fterrors.h'.                                  */
 #ifdef FT_INCLUDE_ERR_PROTOS
+#undef FT_INCLUDE_ERR_PROTOS
+
+#ifndef FT_ERR_PROTOS_DEFINED
+#define FT_ERR_PROTOS_DEFINED
 
 
   /**************************************************************************
@@ -264,6 +273,8 @@
   FT_Error_String( FT_Error  error_code );
 
 
+#endif /* FT_ERR_PROTOS_DEFINED */
+
 #endif /* FT_INCLUDE_ERR_PROTOS */
 
 #endif /* !(FTERRORS_H_ && __FTERRORS_H__) */