Code

check_snmp: Fix potential buffer overflow - enforce MAX_OIDS limit (John A. Barbuto)
[nagiosplug.git] / gl / wchar.in.h
index ee99a12d888e60e95565fa373e7ff76c1dd4a75c..cc436b14b0386eda6a4d9efd8e34e905201132e8 100644 (file)
@@ -30,7 +30,7 @@
 @PRAGMA_SYSTEM_HEADER@
 #endif
 
-#if defined __need_mbstate_t || (defined __hpux && ((defined _INTTYPES_INCLUDED && !defined strtoimax) || defined _GL_JUST_INCLUDE_SYSTEM_WCHAR_H))
+#if defined __need_mbstate_t || (defined __hpux && ((defined _INTTYPES_INCLUDED && !defined strtoimax) || defined _GL_JUST_INCLUDE_SYSTEM_WCHAR_H)) || defined _GL_ALREADY_INCLUDING_WCHAR_H
 /* Special invocation convention:
    - Inside uClibc header files.
    - On HP-UX 11.00 we have a sequence of nested includes
      once indirectly <stdint.h> -> <sys/types.h> -> <inttypes.h> -> <wchar.h>
      and once directly.  In both situations 'wint_t' is not yet defined,
      therefore we cannot provide the function overrides; instead include only
-     the system's <wchar.h>.  */
+     the system's <wchar.h>.
+   - On IRIX 6.5, similarly, we have an include <wchar.h> -> <wctype.h>, and
+     the latter includes <wchar.h>.  But here, we have no way to detect whether
+     <wctype.h> is completely included or is still being included.  */
 
 #@INCLUDE_NEXT@ @NEXT_WCHAR_H@
 
@@ -46,7 +49,8 @@
 /* Normal invocation convention.  */
 
 #ifndef _GL_WCHAR_H
-#define _GL_WCHAR_H
+
+#define _GL_ALREADY_INCLUDING_WCHAR_H
 
 /* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
    <wchar.h>.
 # @INCLUDE_NEXT@ @NEXT_WCHAR_H@
 #endif
 
+#undef _GL_ALREADY_INCLUDING_WCHAR_H
+
+#ifndef _GL_WCHAR_H
+#define _GL_WCHAR_H
+
 /* The definition of GL_LINK_WARNING is copied here.  */
 
 #ifdef __cplusplus
@@ -292,5 +301,6 @@ extern int wcwidth (int /* actually wchar_t */);
 }
 #endif
 
+#endif /* _GL_WCHAR_H */
 #endif /* _GL_WCHAR_H */
 #endif