1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/wince/string_wce.c
uema2 5f0df51865 * wince/ : files removed.
(config, dll.mak, exe.mak, mswince-ruby17.def,
            io.c, process.c, signal.c, string.c, time.c)

* wince/ : files added.
         (assert.c, Makefile.sub, mkexports.rb, io_wce.c,
            process_wce.c, signal_wce.c, string_wce.c,
            time_wce.c)

* wince/configure.bat : like mswin32 style.

* wince/direct.c : remove "static" at _currentdir.

* wince/io.h : change definition.

* wince/stdio.c : _fdopen -> fdopen.

* wince/process.h : add_P_OVERLAY.

* wince/time.h : change definition.

* wince/wincemain.c : add wce_SetCurrentDir.

* wince/wince.c : add wce_SetCurrentDir and wce_fopen.
	                  fix GetModuleFileNameA to return correct "lpFileName".

* wince/wince.h : remove #ifdef.

* wince/sys/utime.h, utime.c : rename _utime to utime.

* wince/sys/stat.c : expand relative directory in stat.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3734 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-04-26 05:25:30 +00:00

69 lines
1.1 KiB
C

/***************************************************************
string.c
***************************************************************/
#include <windows.h>
#include "wince.h" /* for wce_mbtowc */
/* _strdup already exists in stdlib.h? */
char *strdup(const char * str)
{
char *p;
p = malloc( strlen(str)+1 );
strcpy( p, str );
return p;
}
char* strerror(int errno)
{
static char buf[32]="wince::strerror called.";
return buf;
}
/* strnicmp already exists in stdlib.h? */
int strnicmp( const char *s1, const char *s2, size_t count )
{
wchar_t *w1, *w2;
int n;
w1 = wce_mbtowc(s1);
w2 = wce_mbtowc(s2);
n = wcsnicmp(w1, w2, count);
free(w1);
free(w2);
return n;
}
#if _WIN32_WCE < 300
#include "..\missing\strtoul.c"
char *strrchr( const char *p, int c )
{
char *pp;
for( pp=(char*)p+strlen(p); pp!=p; p-- )
{
if( *pp==c ) break;
}
return pp==p ? NULL : pp;
}
int stricmp( const char *s1, const char *s2 )
{
wchar_t *w1, *w2;
int n;
w1 = wce_mbtowc(s1);
w2 = wce_mbtowc(s2);
n = wcsicmp(w1, w2);
free(w1);
free(w2);
return n;
}
#endif