]> git.saurik.com Git - wxWidgets.git/blame_incremental - src/msw/wince/crt.cpp
clean up wxEvtHandler::m_eventsLocker weirdness: there is no need to allocate it...
[wxWidgets.git] / src / msw / wince / crt.cpp
... / ...
CommitLineData
1/////////////////////////////////////////////////////////////////////////////
2// Name: wince/crt.cpp
3// Purpose: Implementation of CRT functions missing under Windows CE
4// Author: Vadim Zeitlin
5// Modified by:
6// Created: 03.04.04
7// RCS-ID:
8// Copyright: (c) 2004 Vadim Zeitlin <vadim@wxwindows.org>
9// Licence: wxWindows licence
10///////////////////////////////////////////////////////////////////////////////
11
12#include "wx/wxprec.h"
13
14#ifdef __BORLANDC__
15 #pragma hdrstop
16#endif
17
18#ifndef WX_PRECOMP
19 #include "wx/app.h"
20#endif
21
22#include "wx/msw/wince/missing.h"
23
24extern "C" void *
25bsearch(const void *key, const void *base, size_t num, size_t size,
26 int (wxCMPFUNC_CONV *cmp)(const void *, const void *))
27{
28 int res;
29 char *mid;
30
31 char *lo = (char *)base;
32 char *hi = lo + num*size;
33 while ( lo < hi )
34 {
35 mid = lo + (hi - lo)/2;
36
37 res = (*cmp)(key, mid);
38 if ( res < 0 )
39 hi = mid;
40 else if ( res > 0 )
41 lo = mid + size;
42 else // res == 0
43 return mid;
44 }
45
46 return NULL;
47}
48
49extern "C"
50void abort()
51{
52 wxString name;
53 if ( wxTheApp )
54 name = wxTheApp->GetAppDisplayName();
55 if ( name.empty() )
56 name = L"wxWidgets Application";
57
58 MessageBox(NULL, L"Abnormal program termination", name, MB_ICONHAND | MB_OK);
59
60 _exit(3);
61// ::ExitProcess(3);
62}
63
64extern "C"
65char *getenv(const char * WXUNUSED(name))
66{
67 // no way to implement it in Unicode-only environment without using
68 // wxCharBuffer and it is of no use in C code which uses this function
69 // (libjpeg)
70 return NULL;
71}
72
73int wxCRT_Rename(const wchar_t *src, const wchar_t *dst)
74{
75 return ::MoveFile(src, dst) ? 0 : -1;
76}
77
78int wxCRT_Remove(const wchar_t *path)
79{
80 return ::DeleteFile(path) ? 0 : -1;
81}
82