bsearch() is now available under CE, use it

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@26609 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2004-04-04 13:01:50 +00:00
parent f153c2b611
commit 0f8d646134

View File

@ -26,37 +26,34 @@
// conversion tables, generated by scripts in $(WXWIN)/misc/unictabl: // conversion tables, generated by scripts in $(WXWIN)/misc/unictabl:
#if defined( __BORLANDC__ ) || defined(__DARWIN__) #if defined( __BORLANDC__ ) || defined(__DARWIN__)
#include "../common/unictabl.inc" #include "../common/unictabl.inc"
#else #else
#include "unictabl.inc" #include "unictabl.inc"
#endif #endif
#if wxUSE_WCHAR_T #if wxUSE_WCHAR_T
typedef wchar_t tchar; typedef wchar_t tchar;
#else #else
typedef char tchar; typedef char tchar;
#endif
#ifdef __WXWINCE__
#undef LINKAGEMODE
#define LINKAGEMODE __cdecl
#endif #endif
#ifdef __WXMAC__ #ifdef __WXMAC__
#include <ATSUnicode.h>
#include <TextCommon.h>
#include <TextEncodingConverter.h>
#include <ATSUnicode.h> #include "wx/fontutil.h"
#include <TextCommon.h> #include "wx/mac/private.h" // includes mac headers
#include <TextEncodingConverter.h>
#include "wx/fontutil.h"
#include "wx/mac/private.h" // includes mac headers
wxUint16 gMacEncodings[wxFONTENCODING_MACMAX-wxFONTENCODING_MACMIN+1][128] ;
bool gMacEncodingsInited[wxFONTENCODING_MACMAX-wxFONTENCODING_MACMIN+1] ;
wxUint16 gMacEncodings[wxFONTENCODING_MACMAX-wxFONTENCODING_MACMIN+1][128] ;
bool gMacEncodingsInited[wxFONTENCODING_MACMAX-wxFONTENCODING_MACMIN+1] ;
#endif #endif
static wxUint16* LINKAGEMODE GetEncTable(wxFontEncoding enc) #ifdef __WXWINCE__
#include "wx/msw/wince/missing.h" // for bsearch()
#endif
static wxUint16* GetEncTable(wxFontEncoding enc)
{ {
#ifdef __WXMAC__ #ifdef __WXMAC__
if( enc >= wxFONTENCODING_MACMIN && enc <= wxFONTENCODING_MACMAX ) if( enc >= wxFONTENCODING_MACMIN && enc <= wxFONTENCODING_MACMAX )
@ -97,13 +94,14 @@ typedef struct {
wxUint8 c; wxUint8 c;
} CharsetItem; } CharsetItem;
extern "C" int LINKAGEMODE CompareCharsetItems(const void *i1, const void *i2) extern "C" int wxCMPFUNC_CONV
CompareCharsetItems(const void *i1, const void *i2)
{ {
return ( ((CharsetItem*)i1) -> u - ((CharsetItem*)i2) -> u ); return ( ((CharsetItem*)i1) -> u - ((CharsetItem*)i2) -> u );
} }
static CharsetItem* LINKAGEMODE BuildReverseTable(wxUint16 *tbl) static CharsetItem* BuildReverseTable(wxUint16 *tbl)
{ {
CharsetItem *rev = new CharsetItem[128]; CharsetItem *rev = new CharsetItem[128];
@ -178,8 +176,6 @@ bool wxEncodingConverter::Init(wxFontEncoding input_enc, wxFontEncoding output_e
for (i = 0; i < 128; i++) m_Table[128 + i] = (tchar)in_tbl[i]; for (i = 0; i < 128; i++) m_Table[128 + i] = (tchar)in_tbl[i];
return TRUE; return TRUE;
} }
// FIXME: write a substitute for bsearch
#ifndef __WXWINCE__
else // output !Unicode else // output !Unicode
{ {
CharsetItem *rev = BuildReverseTable(out_tbl); CharsetItem *rev = BuildReverseTable(out_tbl);
@ -205,7 +201,6 @@ bool wxEncodingConverter::Init(wxFontEncoding input_enc, wxFontEncoding output_e
delete[] rev; delete[] rev;
} }
#endif // !__WXWINCE__
} }
return TRUE; return TRUE;