111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* 211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Copyright (c) 1999 311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Boris Fomitchev 411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * 511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * This material is provided "as is", with absolutely no warranty expressed 611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * or implied. Any use is at your own risk. 711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * 811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Permission to use or copy this software for any purpose is hereby granted 911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * without fee, provided the above notices are retained on all copies. 1011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * Permission to modify the code and to distribute modified code is granted, 1111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * provided the above notices are retained, and a notice that the code was 1211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * modified is included with the above copyright notice. 1311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * 1411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */ 1511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 1611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef _STLP_INTERNAL_MBSTATE_T 1711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _STLP_INTERNAL_MBSTATE_T 1811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 1911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if (defined (__OpenBSD__) || defined (__FreeBSD__) || defined (__hpux)) && defined (__GNUC__) && !defined (_GLIBCPP_HAVE_MBSTATE_T) 2011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_CPP_MBSTATE_T /* mbstate_t defined in native <cwchar>, so not defined in C! */ 2111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 2211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 2311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if defined (_STLP_NO_NATIVE_MBSTATE_T) || defined (_STLP_CPP_MBSTATE_T) && !defined (_MBSTATE_T) 2411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _STLP_USE_OWN_MBSTATE_T 2511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# define _MBSTATE_T 2611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 2711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 2811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#if defined (_STLP_USE_OWN_MBSTATE_T) 2911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# if !defined (_STLP_CPP_MBSTATE_T) || !defined (__cplusplus) || !defined (_STLP_USE_NEW_C_HEADERS) 3011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# if !defined (__ANDROID__) /* mbstate_t conflicts with Android's definition */ 3111cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef int mbstate_t; 3211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# endif 3311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# endif 3411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 3511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# if !defined (_STLP_CPP_MBSTATE_T) && defined (__cplusplus) && defined (_STLP_USE_NAMESPACES) 3611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert_STLP_BEGIN_NAMESPACE 3711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertusing ::mbstate_t; 3811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert_STLP_END_NAMESPACE 3911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert# endif 4011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 4111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif /* _STLP_USE_OWN_MBSTATE_T */ 4211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 4311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif /* _STLP_INTERNAL_MBSTATE_T */ 44