1996-08-11 17:49:51 +02:00
|
|
|
/*
|
|
|
|
* The C RunTime DLL
|
|
|
|
*
|
|
|
|
* Implements C run-time functionality as known from UNIX.
|
|
|
|
*
|
|
|
|
* Copyright 1996 Marcus Meissner
|
1996-09-02 18:46:30 +02:00
|
|
|
* Copyright 1996 Jukka Iivonen
|
1996-08-11 17:49:51 +02:00
|
|
|
*/
|
|
|
|
|
|
|
|
#include <stdio.h>
|
|
|
|
#include <stdlib.h>
|
1996-08-18 18:21:52 +02:00
|
|
|
#include <string.h>
|
1996-08-11 17:49:51 +02:00
|
|
|
#include <unistd.h>
|
|
|
|
#include <time.h>
|
|
|
|
#include <ctype.h>
|
1996-09-02 18:46:30 +02:00
|
|
|
#include <math.h>
|
1996-08-11 17:49:51 +02:00
|
|
|
#include "win.h"
|
|
|
|
#include "windows.h"
|
|
|
|
#include "stddebug.h"
|
|
|
|
#include "debug.h"
|
|
|
|
#include "module.h"
|
|
|
|
#include "xmalloc.h"
|
1996-11-17 19:59:11 +01:00
|
|
|
#include "heap.h"
|
Release 961215
Sun Dec 15 16:18:15 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [graphics/x11drv/bitblt.c]
Fixed BITBLT_StretchImage for partially covered or inverted
bitmaps.
* [objects/dib.c]
Fixed the upside-down bitmap problem.
Sat Dec 14 02:49:57 1996 Thomas Sandford <t.d.g.sandford@prds-grn.demon.co.uk>
* [if1632/user32.spec]
IsMenu and RemoveMenu added (use existing Win16 functions).
* [include/windows.h]
Corrections to BITMAPINFOHEADER structure.
* [loader/module.c] [if1632/kernel32.spec]
New function GetModuleFileName32A (heavily based on original
Win16 version).
* [loader/pe_image.c]
Hack to allow files with short PE header to be loaded (e.g.
COMDLG32.DLL from Win32s).
* [misc/winsock_async.c]
#if out EIDRM case (not present in FreeBSD).
* [tools/build.c]
Remove trailing comments from .s files generated by build
as these break assembly when not run through pre-processor.
* [windows/graphics.c] [if1632/gdi32.spec]
New function Polyline32 - based on original Polyline. Needs
metafile support adding still.
Fri Dec 13 13:04:06 1996 Bruce Milner <Bruce.Milner@genetics.utah.edu>
* [win32/findfile.c] [if1632/kernel.spec]
FindFirstFile32A(): Use dos current directory for drive prefixes.
FindNextFile32A(): Fill in file attribute information.
Implement FindFirstFile16, FindNextFile16, FindClose16.
* [files/drive.c]
GetCurrentDirectory32A - Fix problem with null 3rd character in
string.
Tue Dec 10 14:49:07 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [windows/painting.c][windows/message.c]
Don't use linked lists to call SendMessage(), for it might destroy
the current listentry.
* [misc/registry.c]
Fixed temporary file saving (rename doesn't work across
partitions).
* [files/*.c]
GetFullPathName*,GetDriveType32A fixed, CreateDirectoryEx*,
GetVolumeInformation32W fixed.
* [win32/process.c][if1632/kernel.spec][if1632/kernel32.spec]
LoadLibrary* updated to new naming std., *32W added.
* [win32/console.c] [include/wincon.h]
Additions for NT commandline executables.
* [if1632/advapi32.spec][if1632/kernel32.spec][win32/init.c]
GetUserName32W added, GetComputerName32W added,
GetStartupInfo32W added, GetSystemInfo updated to NT standard.
* [windows/msgbox.c][misc/shell.c][windows/graphics.c]
MessageBox32W, ShellAbout32W, CommandLineToArgvW, Polygon32 added.
* [misc/crtdll.c][include/crtdll.h][if1632/crtdll.spec][misc/ntdll.c]
[if1632/ntdll.spec]
Lot of new unicode functions added (needed for NT).
* [loader/pe_image.c]
NtCurrentTeb added.
Tue Dec 10 22:39:33 1996 Albrecht Kleine <kleine@ak.sax.de>
* [windows/keyboard.c]
Rewrote function TranslateAccelerator().
Mon Dec 9 14:52:13 1996 Slaven Rezic <eserte@cs.tu-berlin.de>
* [windows/defwnd.c]
DEFWND_SetText(): Set icon name.
Sun Dec 8 23:30:00 1996 Alex Korobka <alex@trantor.pharm.sunysb.edu>
* [loader/signal.c] [misc/winsock.c] [misc/winsock_async.c]
[if1632/winsock.spec]
IPC resource cleanup, bugfixes.
* [windows/dialog.c] [windows/defdlg.c]
More DefDlgProc() fixes.
Sun Dec 8 14:01:42 1996 Vadim Strizhevsky <striv@ms.com>
* [misc/clipboard.c] [objects/font.c] [win32/init.c]
[win32/newfns.c] [windows/graphics.c]
Added a few WIN32 functions which needed to run some win32
accessories. Clock should now work almost as well as 16 bit version.
Add: RegisterClipboardFormat32W GetTextExtentExPoint32*
GetModuleHandleW, DisableThreadLibraryCalls (empty stub),
Polygon32
Fix: Polygon16 possible memory leak on error return.
1996-12-15 20:45:59 +01:00
|
|
|
#include "crtdll.h"
|
1997-02-02 20:01:52 +01:00
|
|
|
#include "drive.h"
|
1996-08-11 17:49:51 +02:00
|
|
|
|
|
|
|
UINT32 CRTDLL_argc_dll; /* CRTDLL.23 */
|
|
|
|
LPSTR *CRTDLL_argv_dll; /* CRTDLL.24 */
|
|
|
|
LPSTR CRTDLL_acmdln_dll; /* CRTDLL.38 */
|
|
|
|
UINT32 CRTDLL_basemajor_dll; /* CRTDLL.42 */
|
|
|
|
UINT32 CRTDLL_baseminor_dll; /* CRTDLL.43 */
|
|
|
|
UINT32 CRTDLL_baseversion_dll; /* CRTDLL.44 */
|
|
|
|
LPSTR CRTDLL_environ_dll; /* CRTDLL.75 */
|
|
|
|
UINT32 CRTDLL_osmajor_dll; /* CRTDLL.241 */
|
|
|
|
UINT32 CRTDLL_osminor_dll; /* CRTDLL.242 */
|
|
|
|
UINT32 CRTDLL_osver_dll; /* CRTDLL.244 */
|
|
|
|
UINT32 CRTDLL_osversion_dll; /* CRTDLL.245 */
|
|
|
|
UINT32 CRTDLL_winmajor_dll; /* CRTDLL.329 */
|
|
|
|
UINT32 CRTDLL_winminor_dll; /* CRTDLL.330 */
|
|
|
|
UINT32 CRTDLL_winver_dll; /* CRTDLL.331 */
|
|
|
|
|
Release 970112
Sat Jan 11 18:17:59 1997 Alexandre Julliard <julliard@lrc.epfl.ch>
* [controls/menu.c]
Updated to new Win32 types.
* [controls/listbox.c]
Fixed Winfile extended selection bug.
* [files/directory.c]
Changed DIR_SearchPath to return both long and short file names.
* [files/dos_fs.c]
Implemented VFAT ioctl to retrieve the original short filenames
from a VFAT filesystem (Linux only for now).
Replaced DOSFS_GetUnixFileName()/DOSFS_GetDosTrueName() by
DOS_GetFullName().
Properly implemented GetShortPathName() and GetFullPathName().
Made all functions re-entrant.
* [files/file.c] [misc/main.c]
Replaced -allowreadonly option by -failreadonly. The default is
now to report success when opening a read-only file for writing.
* [objects/metafile.c]
Fixed bug in DIB bitmaps pointer calculation.
* [scheduler/process.c]
Implemented environment strings and Get/SetStdHandle with process
environment block.
* [tools/build.c]
Rewrote BuildContext32() to avoid instructions that may not be
supported by all assemblers.
Fri Jan 10 17:11:09 1997 David Faure <david.faure@ifhamy.insa-lyon.fr>
* [windows/event.c]
Created table keyc2vkey, which associate a vkey(+extended bit) to
any keycode. Changed EVENT_event_to_vkey to use this table to
return the correct vkey. Changed EVENT_ToAscii to get the keycode
from this table too. Assigned OEM specific vkeys arbitrarily.
Fri Jan 10 09:26:17 1997 John Harvey <john@division.co.uk>
* [misc/winsock.c] [misc/winsoc_async.c]
Fixed svr4 header files.
Changed bzero() to memset().
* [tools/fnt2bdf.c]
Removed bcopy() and used memcpy() instead.
* [debugger/msc.c]
Include string.h instead of strings.h
* [debugger/stabs.c]
Include string.h instead of strings.h.
Define __ELF__ for svr4 systems.
* [loader/signal.c]
Use wait() instead of wait4() which doesnt exist on Unixware.
* [memory/global.c]
Use sysconf() instead of getpagesize() for svr4 systems.
Thu Jan 9 21:07:20 1997 Robert Pouliot <krynos@clic.net>
* [Make.rules.in] [Makefile.in] [make_os2.sh] [rc/Makefile.in]
[tools/Makefile.in] [documentation/wine_os2.txt]
Patches for OS/2 support. Note that it doesn't compile yet.
Tue Jan 7 20:03:53 1997 Eric Youngdale <eric@sub2304.jic.com>
* [debugger/*]
Many more debugger improvements (see debugger/README for details).
Tue Jan 7 15:12:21 1997 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [windows/graphics.c] [objects/text.c] [graphics/x11drv/*]
[graphics/metafiledrv/*]
Moved some device dependent code into the resp. subdirs.
* [include/gdi.h] [include/metafiledrv.h] [include/x11drv.h]
Prototypes added,
DC_FUNCTIONS: GetPixel added, some unnecessary functions removed.
* [objects/region.c]
CreatePolyPolygonRgn32 added.
* [files/dos_fs.c]
QueryDosDevice added.
* [misc/lstr.c]
FormatMessage: broken heap management fixed.
* [scheduler/process.c] [scheduler/thread.c]
Get/SetThreadPriority/PriorityClass added.
Mon Jan 6 21:55:30 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
* [misc/keyboard.c]
ToAscii : Use EVENT_ToAscii instead.
* [windows/event.c]
keypad_key : Do not convert XK_Mode_switch to VK_MENU; recognize
keypad cursor keys.
EVENT_event_to_vkey : New function, to transform a X keycode
into a MSwin vkey + extended bit.
EVENT_ToAscii : New function, to transform a vkey + extended bit
(+ key state table) into ascii char(s), using XLookupString, and
recognizing dead chars.
EVENT_key : Transform AltGr into Ctrl+Alt sequence; call
EVENT_event_to_vkey for keycode to vkey conversion; fixed
previous, context and extended bits.
* [windows/keyboard.c]
Include stddebug.h, to get -debugmsg messages.
GetKeyState : Handle VK_MBUTTON case.
GetKeyboardState, SetKeyboardState : Debugging messages added.
* [windows/message.c]
TranslateMessage : Handle dead chars.
Mon Jan 6 20:10:11 1997 Dominik Strasser <bm424953@muenchen.org>
* [if1632/crtdll.spec] [misc/crtdll.c]
C++ functions new/delete/set_new_handler implemented.
Mon Jan 6 15:48:15 1997 Frans van Dorsselaer <dorssel@rulhmpc49.LeidenUniv.nl>
* [controls/edit.c] [include/windows.h]
Moved the edit control to 32 bits.
Included new (win95) message definitions in windows.h
Implemented EM_SCROLLCARET, EM_SETMARGINS, EM_GETMARGINS,
EM_GETLIMITTEXT, EM_POSFROMCHAR, EM_CHARFROMPOS.
Broke EM_SETWORDBREAKPROC (internal wordwrap still works).
Fixed some bugs, introduced a couple of others.
Text buffer is now initially in 32-bit heap.
* [controls/EDIT.TODO] [controls/combo.c] [controls/widgets.c]
[if1632/wprocs.spec] [library/miscstubs.c] [windows/defdlg.c]
[misc/commdlg.c]
Updated to work with 32-bit edit control.
Sat Jan 4 22:07:27 1997 O.Flebbe <O.Flebbe@science-computing.uni-tuebingen.de>
* [loader/pe_image.c]
Use mmap rather then malloc. Better workaround for clean
segments.
1997-01-12 19:32:19 +01:00
|
|
|
typedef VOID (*new_handler_type)(VOID);
|
|
|
|
|
|
|
|
static new_handler_type new_handler;
|
1996-09-02 18:46:30 +02:00
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* _GetMainArgs (CRTDLL.022)
|
|
|
|
*/
|
1996-08-11 17:49:51 +02:00
|
|
|
DWORD
|
|
|
|
CRTDLL__GetMainArgs(LPDWORD argc,LPSTR **argv,LPSTR *environ,DWORD flag)
|
|
|
|
{
|
|
|
|
char *cmdline;
|
|
|
|
char **xargv;
|
|
|
|
int xargc,i,afterlastspace;
|
|
|
|
DWORD version;
|
|
|
|
|
|
|
|
dprintf_crtdll(stderr,"__GetMainArgs(%p,%p,%p,%ld).\n",
|
|
|
|
argc,argv,environ,flag
|
|
|
|
);
|
|
|
|
CRTDLL_acmdln_dll = cmdline = xstrdup( GetCommandLine32A() );
|
|
|
|
|
|
|
|
version = GetVersion32();
|
|
|
|
CRTDLL_osver_dll = version >> 16;
|
|
|
|
CRTDLL_winminor_dll = version & 0xFF;
|
|
|
|
CRTDLL_winmajor_dll = (version>>8) & 0xFF;
|
|
|
|
CRTDLL_baseversion_dll = version >> 16;
|
|
|
|
CRTDLL_winver_dll = ((version >> 8) & 0xFF) + ((version & 0xFF) << 8);
|
|
|
|
CRTDLL_baseminor_dll = (version >> 16) & 0xFF;
|
|
|
|
CRTDLL_basemajor_dll = (version >> 24) & 0xFF;
|
|
|
|
CRTDLL_osversion_dll = version & 0xFFFF;
|
|
|
|
CRTDLL_osminor_dll = version & 0xFF;
|
|
|
|
CRTDLL_osmajor_dll = (version>>8) & 0xFF;
|
|
|
|
|
|
|
|
/* missing threading init */
|
|
|
|
|
|
|
|
i=0;xargv=NULL;xargc=0;afterlastspace=0;
|
|
|
|
while (cmdline[i]) {
|
|
|
|
if (cmdline[i]==' ') {
|
|
|
|
xargv=(char**)xrealloc(xargv,sizeof(char*)*(++xargc));
|
|
|
|
cmdline[i]='\0';
|
|
|
|
xargv[xargc-1] = xstrdup(cmdline+afterlastspace);
|
|
|
|
i++;
|
|
|
|
while (cmdline[i]==' ')
|
|
|
|
i++;
|
|
|
|
if (cmdline[i])
|
|
|
|
afterlastspace=i;
|
|
|
|
} else
|
|
|
|
i++;
|
|
|
|
}
|
|
|
|
xargv=(char**)xrealloc(xargv,sizeof(char*)*(++xargc));
|
|
|
|
cmdline[i]='\0';
|
|
|
|
xargv[xargc-1] = xstrdup(cmdline+afterlastspace);
|
|
|
|
CRTDLL_argc_dll = xargc;
|
|
|
|
*argc = xargc;
|
|
|
|
CRTDLL_argv_dll = xargv;
|
|
|
|
*argv = xargv;
|
|
|
|
|
|
|
|
/* FIXME ... use real environment */
|
|
|
|
*environ = xmalloc(sizeof(LPSTR));
|
|
|
|
CRTDLL_environ_dll = *environ;
|
|
|
|
(*environ)[0] = NULL;
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
typedef void (*_INITTERMFUN)();
|
1996-09-02 18:46:30 +02:00
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* _initterm (CRTDLL.135)
|
|
|
|
*/
|
|
|
|
DWORD CRTDLL__initterm(_INITTERMFUN *start,_INITTERMFUN *end)
|
1996-08-11 17:49:51 +02:00
|
|
|
{
|
|
|
|
_INITTERMFUN *current;
|
|
|
|
|
|
|
|
dprintf_crtdll(stddeb,"_initterm(%p,%p)\n",start,end);
|
|
|
|
current=start;
|
|
|
|
while (current<end) {
|
1996-10-13 19:45:47 +02:00
|
|
|
if (*current) (*current)();
|
1996-08-11 17:49:51 +02:00
|
|
|
current++;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
1996-09-02 18:46:30 +02:00
|
|
|
/*********************************************************************
|
|
|
|
* srand (CRTDLL.460)
|
|
|
|
*/
|
|
|
|
void CRTDLL_srand(DWORD seed)
|
|
|
|
{
|
1996-08-11 17:49:51 +02:00
|
|
|
/* FIXME: should of course be thread? process? local */
|
|
|
|
srand(seed);
|
|
|
|
}
|
|
|
|
|
1996-09-02 18:46:30 +02:00
|
|
|
/*********************************************************************
|
|
|
|
* fprintf (CRTDLL.373)
|
|
|
|
*/
|
|
|
|
int CRTDLL_fprintf(DWORD *args)
|
|
|
|
{
|
1996-08-11 17:49:51 +02:00
|
|
|
/* FIXME: use args[0] */
|
|
|
|
return vfprintf(stderr,(LPSTR)(args[1]),args+2);
|
|
|
|
}
|
|
|
|
|
1996-09-02 18:46:30 +02:00
|
|
|
/*********************************************************************
|
|
|
|
* printf (CRTDLL.440)
|
|
|
|
*/
|
|
|
|
int CRTDLL_printf(DWORD *args)
|
|
|
|
{
|
1996-08-11 17:49:51 +02:00
|
|
|
return vfprintf(stdout,(LPSTR)(args[0]),args+1);
|
|
|
|
}
|
|
|
|
|
1996-11-17 19:59:11 +01:00
|
|
|
/*********************************************************************
|
|
|
|
* sprintf (CRTDLL.458)
|
|
|
|
*/
|
|
|
|
int CRTDLL_sprintf(DWORD *args)
|
|
|
|
{
|
|
|
|
return vsprintf((LPSTR)(args[0]),(LPSTR)(args[1]),args+2);
|
|
|
|
}
|
|
|
|
|
1996-09-02 18:46:30 +02:00
|
|
|
/*********************************************************************
|
|
|
|
* time (CRTDLL.488)
|
|
|
|
*/
|
|
|
|
time_t CRTDLL_time(time_t *timeptr)
|
|
|
|
{
|
1996-08-11 17:49:51 +02:00
|
|
|
time_t curtime = time(NULL);
|
|
|
|
|
|
|
|
if (timeptr)
|
|
|
|
*timeptr = curtime;
|
|
|
|
return curtime;
|
|
|
|
}
|
|
|
|
|
1996-09-02 18:46:30 +02:00
|
|
|
/*********************************************************************
|
|
|
|
* _isatty (CRTDLL.137)
|
|
|
|
*/
|
|
|
|
BOOL32 CRTDLL__isatty(DWORD x)
|
|
|
|
{
|
1996-08-11 17:49:51 +02:00
|
|
|
dprintf_crtdll(stderr,"CRTDLL__isatty(%ld)\n",x);
|
|
|
|
return TRUE;
|
|
|
|
}
|
|
|
|
|
1996-09-02 18:46:30 +02:00
|
|
|
/*********************************************************************
|
|
|
|
* _write (CRTDLL.332)
|
|
|
|
*/
|
|
|
|
INT32 CRTDLL__write(DWORD x,LPVOID buf,DWORD len)
|
|
|
|
{
|
1996-08-11 17:49:51 +02:00
|
|
|
if (x<=2)
|
|
|
|
return write(x,buf,len);
|
|
|
|
/* hmm ... */
|
|
|
|
dprintf_crtdll(stderr,"CRTDLL__write(%ld,%p,%ld)\n",x,buf,len);
|
|
|
|
return len;
|
|
|
|
}
|
|
|
|
|
1996-09-02 18:46:30 +02:00
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* exit (CRTDLL.359)
|
|
|
|
*/
|
|
|
|
void CRTDLL_exit(DWORD ret)
|
|
|
|
{
|
|
|
|
dprintf_crtdll(stderr,"CRTDLL_exit(%ld)\n",ret);
|
1996-08-11 17:49:51 +02:00
|
|
|
ExitProcess(ret);
|
|
|
|
}
|
|
|
|
|
1996-09-02 18:46:30 +02:00
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* fflush (CRTDLL.365)
|
|
|
|
*/
|
|
|
|
void CRTDLL_fflush(DWORD x)
|
|
|
|
{
|
|
|
|
dprintf_crtdll(stderr,"CRTDLL_fflush(%ld)\n",x);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* gets (CRTDLL.391)
|
|
|
|
*/
|
|
|
|
LPSTR CRTDLL_gets(LPSTR buf)
|
|
|
|
{
|
|
|
|
/* BAD, for the whole WINE process blocks... just done this way to test
|
|
|
|
* windows95's ftp.exe.
|
|
|
|
*/
|
|
|
|
return gets(buf);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* abs (CRTDLL.339)
|
|
|
|
*/
|
|
|
|
INT32 CRTDLL_abs(INT32 x)
|
|
|
|
{
|
|
|
|
return abs(x);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* acos (CRTDLL.340)
|
|
|
|
*/
|
|
|
|
float CRTDLL_acos(float x)
|
|
|
|
{
|
|
|
|
return acos(x);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* asin (CRTDLL.342)
|
|
|
|
*/
|
|
|
|
float CRTDLL_asin(float x)
|
|
|
|
{
|
|
|
|
return asin(x);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* atan (CRTDLL.343)
|
|
|
|
*/
|
|
|
|
float CRTDLL_atan(float x)
|
|
|
|
{
|
|
|
|
return atan(x);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* atan2 (CRTDLL.344)
|
|
|
|
*/
|
|
|
|
float CRTDLL_atan2(float x, float y)
|
|
|
|
{
|
|
|
|
return atan2(x,y);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* atof (CRTDLL.346)
|
|
|
|
*/
|
|
|
|
float CRTDLL_atof(LPCSTR x)
|
|
|
|
{
|
|
|
|
return atof(x);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* atoi (CRTDLL.347)
|
|
|
|
*/
|
|
|
|
INT32 CRTDLL_atoi(LPCSTR x)
|
|
|
|
{
|
|
|
|
return atoi(x);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* atol (CRTDLL.348)
|
|
|
|
*/
|
|
|
|
LONG CRTDLL_atol(LPCSTR x)
|
|
|
|
{
|
|
|
|
return atol(x);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* cos (CRTDLL.354)
|
|
|
|
*/
|
|
|
|
float CRTDLL_cos(float x)
|
|
|
|
{
|
|
|
|
return cos(x);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* cosh (CRTDLL.355)
|
|
|
|
*/
|
|
|
|
float CRTDLL_cosh(float x)
|
|
|
|
{
|
|
|
|
return cosh(x);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* exp (CRTDLL.360)
|
|
|
|
*/
|
|
|
|
float CRTDLL_exp(float x)
|
|
|
|
{
|
|
|
|
return exp(x);
|
1996-08-11 17:49:51 +02:00
|
|
|
}
|
|
|
|
|
1996-09-02 18:46:30 +02:00
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* fabs (CRTDLL.361)
|
1996-08-11 17:49:51 +02:00
|
|
|
*/
|
1996-09-02 18:46:30 +02:00
|
|
|
float CRTDLL_fabs(float x)
|
|
|
|
{
|
|
|
|
return fabs(x);
|
1996-08-11 17:49:51 +02:00
|
|
|
}
|
|
|
|
|
1996-08-24 20:26:35 +02:00
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* isalnum (CRTDLL.394)
|
|
|
|
*/
|
|
|
|
CHAR CRTDLL_isalnum(CHAR x)
|
|
|
|
{
|
|
|
|
return isalnum(x);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* isalpha (CRTDLL.395)
|
|
|
|
*/
|
|
|
|
CHAR CRTDLL_isalpha(CHAR x)
|
|
|
|
{
|
|
|
|
return isalpha(x);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* iscntrl (CRTDLL.396)
|
|
|
|
*/
|
|
|
|
CHAR CRTDLL_iscntrl(CHAR x)
|
|
|
|
{
|
|
|
|
return iscntrl(x);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* isdigit (CRTDLL.397)
|
|
|
|
*/
|
|
|
|
CHAR CRTDLL_isdigit(CHAR x)
|
|
|
|
{
|
|
|
|
return isdigit(x);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* isgraph (CRTDLL.398)
|
|
|
|
*/
|
|
|
|
CHAR CRTDLL_isgraph(CHAR x)
|
|
|
|
{
|
|
|
|
return isgraph(x);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* islower (CRTDLL.400)
|
|
|
|
*/
|
|
|
|
CHAR CRTDLL_islower(CHAR x)
|
|
|
|
{
|
|
|
|
return islower(x);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* isprint (CRTDLL.401)
|
|
|
|
*/
|
|
|
|
CHAR CRTDLL_isprint(CHAR x)
|
|
|
|
{
|
|
|
|
return isprint(x);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* ispunct (CRTDLL.402)
|
|
|
|
*/
|
|
|
|
CHAR CRTDLL_ispunct(CHAR x)
|
|
|
|
{
|
|
|
|
return ispunct(x);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* isspace (CRTDLL.403)
|
|
|
|
*/
|
|
|
|
CHAR CRTDLL_isspace(CHAR x)
|
|
|
|
{
|
|
|
|
return isspace(x);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* isupper (CRTDLL.404)
|
|
|
|
*/
|
|
|
|
CHAR CRTDLL_isupper(CHAR x)
|
|
|
|
{
|
|
|
|
return isupper(x);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
1996-09-02 18:46:30 +02:00
|
|
|
/*********************************************************************
|
|
|
|
* isxdigit (CRTDLL.418)
|
|
|
|
*/
|
|
|
|
CHAR CRTDLL_isxdigit(CHAR x)
|
|
|
|
{
|
|
|
|
return isxdigit(x);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* labs (CRTDLL.419)
|
|
|
|
*/
|
|
|
|
LONG CRTDLL_labs(LONG x)
|
|
|
|
{
|
|
|
|
return labs(x);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* log (CRTDLL.424)
|
|
|
|
*/
|
|
|
|
float CRTDLL_log(float x)
|
|
|
|
{
|
|
|
|
return log(x);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* log10 (CRTDLL.425)
|
|
|
|
*/
|
|
|
|
float CRTDLL_log10(float x)
|
|
|
|
{
|
|
|
|
return log10(x);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* pow (CRTDLL.439)
|
|
|
|
*/
|
|
|
|
float CRTDLL_pow(float x, float y)
|
|
|
|
{
|
|
|
|
return pow(x,y);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* rand (CRTDLL.446)
|
|
|
|
*/
|
|
|
|
INT32 CRTDLL_rand()
|
|
|
|
{
|
|
|
|
return rand();
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* sin (CRTDLL.456)
|
|
|
|
*/
|
|
|
|
float CRTDLL_sin(float x)
|
|
|
|
{
|
|
|
|
return sin(x);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* sinh (CRTDLL.457)
|
|
|
|
*/
|
|
|
|
float CRTDLL_sinh(float x)
|
|
|
|
{
|
|
|
|
return sinh(x);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* sqrt (CRTDLL.459)
|
|
|
|
*/
|
|
|
|
float CRTDLL_sqrt(float x)
|
|
|
|
{
|
|
|
|
return sqrt(x);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* tan (CRTDLL.486)
|
|
|
|
*/
|
|
|
|
float CRTDLL_tan(float x)
|
|
|
|
{
|
|
|
|
return tan(x);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* tanh (CRTDLL.487)
|
|
|
|
*/
|
|
|
|
float CRTDLL_tanh(float x)
|
|
|
|
{
|
|
|
|
return tanh(x);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
1996-08-24 20:26:35 +02:00
|
|
|
/*********************************************************************
|
|
|
|
* tolower (CRTDLL.491)
|
|
|
|
*/
|
|
|
|
CHAR CRTDLL_tolower(CHAR x)
|
|
|
|
{
|
|
|
|
return tolower(x);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* toupper (CRTDLL.492)
|
|
|
|
*/
|
1996-09-02 18:46:30 +02:00
|
|
|
CHAR CRTDLL_toupper(CHAR x)
|
|
|
|
{
|
|
|
|
return toupper(x);
|
1996-08-11 17:49:51 +02:00
|
|
|
}
|
|
|
|
|
1996-08-24 20:26:35 +02:00
|
|
|
|
1996-09-02 18:46:30 +02:00
|
|
|
/*********************************************************************
|
|
|
|
* putchar (CRTDLL.442)
|
|
|
|
*/
|
|
|
|
void CRTDLL_putchar(INT32 x)
|
|
|
|
{
|
|
|
|
putchar(x);
|
1996-08-11 17:49:51 +02:00
|
|
|
}
|
1996-08-18 18:21:52 +02:00
|
|
|
|
1996-09-02 18:46:30 +02:00
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* _mbsicmp (CRTDLL.204)
|
|
|
|
*/
|
|
|
|
int CRTDLL__mbsicmp(unsigned char *x,unsigned char *y)
|
1996-08-18 18:21:52 +02:00
|
|
|
{
|
1996-09-02 18:46:30 +02:00
|
|
|
do {
|
|
|
|
if (!*x)
|
|
|
|
return !!*y;
|
|
|
|
if (!*y)
|
|
|
|
return !!*x;
|
|
|
|
/* FIXME: MBCS handling... */
|
|
|
|
if (*x!=*y)
|
|
|
|
return 1;
|
|
|
|
x++;
|
|
|
|
y++;
|
|
|
|
} while (1);
|
1996-08-18 18:21:52 +02:00
|
|
|
}
|
|
|
|
|
1996-09-02 18:46:30 +02:00
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* _mbsinc (CRTDLL.205)
|
|
|
|
*/
|
|
|
|
unsigned char* CRTDLL__mbsinc(unsigned char *x)
|
1996-08-18 18:21:52 +02:00
|
|
|
{
|
|
|
|
/* FIXME: mbcs */
|
|
|
|
return x++;
|
|
|
|
}
|
|
|
|
|
1996-09-02 18:46:30 +02:00
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* vsprintf (CRTDLL.500)
|
|
|
|
*/
|
|
|
|
int CRTDLL_vsprintf(DWORD *args)
|
1996-08-18 18:21:52 +02:00
|
|
|
{
|
|
|
|
return vsprintf((char *)args[0],(char *)args[1],args+2);
|
|
|
|
}
|
|
|
|
|
Release 961215
Sun Dec 15 16:18:15 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [graphics/x11drv/bitblt.c]
Fixed BITBLT_StretchImage for partially covered or inverted
bitmaps.
* [objects/dib.c]
Fixed the upside-down bitmap problem.
Sat Dec 14 02:49:57 1996 Thomas Sandford <t.d.g.sandford@prds-grn.demon.co.uk>
* [if1632/user32.spec]
IsMenu and RemoveMenu added (use existing Win16 functions).
* [include/windows.h]
Corrections to BITMAPINFOHEADER structure.
* [loader/module.c] [if1632/kernel32.spec]
New function GetModuleFileName32A (heavily based on original
Win16 version).
* [loader/pe_image.c]
Hack to allow files with short PE header to be loaded (e.g.
COMDLG32.DLL from Win32s).
* [misc/winsock_async.c]
#if out EIDRM case (not present in FreeBSD).
* [tools/build.c]
Remove trailing comments from .s files generated by build
as these break assembly when not run through pre-processor.
* [windows/graphics.c] [if1632/gdi32.spec]
New function Polyline32 - based on original Polyline. Needs
metafile support adding still.
Fri Dec 13 13:04:06 1996 Bruce Milner <Bruce.Milner@genetics.utah.edu>
* [win32/findfile.c] [if1632/kernel.spec]
FindFirstFile32A(): Use dos current directory for drive prefixes.
FindNextFile32A(): Fill in file attribute information.
Implement FindFirstFile16, FindNextFile16, FindClose16.
* [files/drive.c]
GetCurrentDirectory32A - Fix problem with null 3rd character in
string.
Tue Dec 10 14:49:07 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [windows/painting.c][windows/message.c]
Don't use linked lists to call SendMessage(), for it might destroy
the current listentry.
* [misc/registry.c]
Fixed temporary file saving (rename doesn't work across
partitions).
* [files/*.c]
GetFullPathName*,GetDriveType32A fixed, CreateDirectoryEx*,
GetVolumeInformation32W fixed.
* [win32/process.c][if1632/kernel.spec][if1632/kernel32.spec]
LoadLibrary* updated to new naming std., *32W added.
* [win32/console.c] [include/wincon.h]
Additions for NT commandline executables.
* [if1632/advapi32.spec][if1632/kernel32.spec][win32/init.c]
GetUserName32W added, GetComputerName32W added,
GetStartupInfo32W added, GetSystemInfo updated to NT standard.
* [windows/msgbox.c][misc/shell.c][windows/graphics.c]
MessageBox32W, ShellAbout32W, CommandLineToArgvW, Polygon32 added.
* [misc/crtdll.c][include/crtdll.h][if1632/crtdll.spec][misc/ntdll.c]
[if1632/ntdll.spec]
Lot of new unicode functions added (needed for NT).
* [loader/pe_image.c]
NtCurrentTeb added.
Tue Dec 10 22:39:33 1996 Albrecht Kleine <kleine@ak.sax.de>
* [windows/keyboard.c]
Rewrote function TranslateAccelerator().
Mon Dec 9 14:52:13 1996 Slaven Rezic <eserte@cs.tu-berlin.de>
* [windows/defwnd.c]
DEFWND_SetText(): Set icon name.
Sun Dec 8 23:30:00 1996 Alex Korobka <alex@trantor.pharm.sunysb.edu>
* [loader/signal.c] [misc/winsock.c] [misc/winsock_async.c]
[if1632/winsock.spec]
IPC resource cleanup, bugfixes.
* [windows/dialog.c] [windows/defdlg.c]
More DefDlgProc() fixes.
Sun Dec 8 14:01:42 1996 Vadim Strizhevsky <striv@ms.com>
* [misc/clipboard.c] [objects/font.c] [win32/init.c]
[win32/newfns.c] [windows/graphics.c]
Added a few WIN32 functions which needed to run some win32
accessories. Clock should now work almost as well as 16 bit version.
Add: RegisterClipboardFormat32W GetTextExtentExPoint32*
GetModuleHandleW, DisableThreadLibraryCalls (empty stub),
Polygon32
Fix: Polygon16 possible memory leak on error return.
1996-12-15 20:45:59 +01:00
|
|
|
/*********************************************************************
|
|
|
|
* vsprintf (CRTDLL.500) (NTDLL.913)
|
|
|
|
*/
|
|
|
|
int CRTDLL_sscanf(DWORD *args)
|
|
|
|
{
|
|
|
|
return vsscanf((char *)args[0],(char *)args[1],args+2);
|
|
|
|
}
|
|
|
|
|
1996-09-02 18:46:30 +02:00
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* _mbscpy (CRTDLL.200)
|
|
|
|
*/
|
|
|
|
unsigned char* CRTDLL__mbscpy(unsigned char *x,unsigned char *y)
|
1996-08-18 18:21:52 +02:00
|
|
|
{
|
|
|
|
return strcpy(x,y);
|
|
|
|
}
|
|
|
|
|
1996-09-02 18:46:30 +02:00
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* _mbscat (CRTDLL.197)
|
|
|
|
*/
|
|
|
|
unsigned char* CRTDLL__mbscat(unsigned char *x,unsigned char *y)
|
1996-08-18 18:21:52 +02:00
|
|
|
{
|
|
|
|
return strcat(x,y);
|
|
|
|
}
|
1996-09-02 18:46:30 +02:00
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* _strupr (CRTDLL.300)
|
|
|
|
*/
|
Release 961215
Sun Dec 15 16:18:15 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [graphics/x11drv/bitblt.c]
Fixed BITBLT_StretchImage for partially covered or inverted
bitmaps.
* [objects/dib.c]
Fixed the upside-down bitmap problem.
Sat Dec 14 02:49:57 1996 Thomas Sandford <t.d.g.sandford@prds-grn.demon.co.uk>
* [if1632/user32.spec]
IsMenu and RemoveMenu added (use existing Win16 functions).
* [include/windows.h]
Corrections to BITMAPINFOHEADER structure.
* [loader/module.c] [if1632/kernel32.spec]
New function GetModuleFileName32A (heavily based on original
Win16 version).
* [loader/pe_image.c]
Hack to allow files with short PE header to be loaded (e.g.
COMDLG32.DLL from Win32s).
* [misc/winsock_async.c]
#if out EIDRM case (not present in FreeBSD).
* [tools/build.c]
Remove trailing comments from .s files generated by build
as these break assembly when not run through pre-processor.
* [windows/graphics.c] [if1632/gdi32.spec]
New function Polyline32 - based on original Polyline. Needs
metafile support adding still.
Fri Dec 13 13:04:06 1996 Bruce Milner <Bruce.Milner@genetics.utah.edu>
* [win32/findfile.c] [if1632/kernel.spec]
FindFirstFile32A(): Use dos current directory for drive prefixes.
FindNextFile32A(): Fill in file attribute information.
Implement FindFirstFile16, FindNextFile16, FindClose16.
* [files/drive.c]
GetCurrentDirectory32A - Fix problem with null 3rd character in
string.
Tue Dec 10 14:49:07 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [windows/painting.c][windows/message.c]
Don't use linked lists to call SendMessage(), for it might destroy
the current listentry.
* [misc/registry.c]
Fixed temporary file saving (rename doesn't work across
partitions).
* [files/*.c]
GetFullPathName*,GetDriveType32A fixed, CreateDirectoryEx*,
GetVolumeInformation32W fixed.
* [win32/process.c][if1632/kernel.spec][if1632/kernel32.spec]
LoadLibrary* updated to new naming std., *32W added.
* [win32/console.c] [include/wincon.h]
Additions for NT commandline executables.
* [if1632/advapi32.spec][if1632/kernel32.spec][win32/init.c]
GetUserName32W added, GetComputerName32W added,
GetStartupInfo32W added, GetSystemInfo updated to NT standard.
* [windows/msgbox.c][misc/shell.c][windows/graphics.c]
MessageBox32W, ShellAbout32W, CommandLineToArgvW, Polygon32 added.
* [misc/crtdll.c][include/crtdll.h][if1632/crtdll.spec][misc/ntdll.c]
[if1632/ntdll.spec]
Lot of new unicode functions added (needed for NT).
* [loader/pe_image.c]
NtCurrentTeb added.
Tue Dec 10 22:39:33 1996 Albrecht Kleine <kleine@ak.sax.de>
* [windows/keyboard.c]
Rewrote function TranslateAccelerator().
Mon Dec 9 14:52:13 1996 Slaven Rezic <eserte@cs.tu-berlin.de>
* [windows/defwnd.c]
DEFWND_SetText(): Set icon name.
Sun Dec 8 23:30:00 1996 Alex Korobka <alex@trantor.pharm.sunysb.edu>
* [loader/signal.c] [misc/winsock.c] [misc/winsock_async.c]
[if1632/winsock.spec]
IPC resource cleanup, bugfixes.
* [windows/dialog.c] [windows/defdlg.c]
More DefDlgProc() fixes.
Sun Dec 8 14:01:42 1996 Vadim Strizhevsky <striv@ms.com>
* [misc/clipboard.c] [objects/font.c] [win32/init.c]
[win32/newfns.c] [windows/graphics.c]
Added a few WIN32 functions which needed to run some win32
accessories. Clock should now work almost as well as 16 bit version.
Add: RegisterClipboardFormat32W GetTextExtentExPoint32*
GetModuleHandleW, DisableThreadLibraryCalls (empty stub),
Polygon32
Fix: Polygon16 possible memory leak on error return.
1996-12-15 20:45:59 +01:00
|
|
|
LPSTR CRTDLL__strupr(LPSTR x)
|
|
|
|
{
|
|
|
|
LPSTR y=x;
|
|
|
|
|
|
|
|
while (*y) {
|
|
|
|
*y=toupper(*y);
|
|
|
|
y++;
|
|
|
|
}
|
|
|
|
return x;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* _wcsupr (CRTDLL.328)
|
|
|
|
*/
|
|
|
|
LPWSTR CRTDLL__wcsupr(LPWSTR x)
|
1996-09-02 18:46:30 +02:00
|
|
|
{
|
Release 961215
Sun Dec 15 16:18:15 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [graphics/x11drv/bitblt.c]
Fixed BITBLT_StretchImage for partially covered or inverted
bitmaps.
* [objects/dib.c]
Fixed the upside-down bitmap problem.
Sat Dec 14 02:49:57 1996 Thomas Sandford <t.d.g.sandford@prds-grn.demon.co.uk>
* [if1632/user32.spec]
IsMenu and RemoveMenu added (use existing Win16 functions).
* [include/windows.h]
Corrections to BITMAPINFOHEADER structure.
* [loader/module.c] [if1632/kernel32.spec]
New function GetModuleFileName32A (heavily based on original
Win16 version).
* [loader/pe_image.c]
Hack to allow files with short PE header to be loaded (e.g.
COMDLG32.DLL from Win32s).
* [misc/winsock_async.c]
#if out EIDRM case (not present in FreeBSD).
* [tools/build.c]
Remove trailing comments from .s files generated by build
as these break assembly when not run through pre-processor.
* [windows/graphics.c] [if1632/gdi32.spec]
New function Polyline32 - based on original Polyline. Needs
metafile support adding still.
Fri Dec 13 13:04:06 1996 Bruce Milner <Bruce.Milner@genetics.utah.edu>
* [win32/findfile.c] [if1632/kernel.spec]
FindFirstFile32A(): Use dos current directory for drive prefixes.
FindNextFile32A(): Fill in file attribute information.
Implement FindFirstFile16, FindNextFile16, FindClose16.
* [files/drive.c]
GetCurrentDirectory32A - Fix problem with null 3rd character in
string.
Tue Dec 10 14:49:07 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [windows/painting.c][windows/message.c]
Don't use linked lists to call SendMessage(), for it might destroy
the current listentry.
* [misc/registry.c]
Fixed temporary file saving (rename doesn't work across
partitions).
* [files/*.c]
GetFullPathName*,GetDriveType32A fixed, CreateDirectoryEx*,
GetVolumeInformation32W fixed.
* [win32/process.c][if1632/kernel.spec][if1632/kernel32.spec]
LoadLibrary* updated to new naming std., *32W added.
* [win32/console.c] [include/wincon.h]
Additions for NT commandline executables.
* [if1632/advapi32.spec][if1632/kernel32.spec][win32/init.c]
GetUserName32W added, GetComputerName32W added,
GetStartupInfo32W added, GetSystemInfo updated to NT standard.
* [windows/msgbox.c][misc/shell.c][windows/graphics.c]
MessageBox32W, ShellAbout32W, CommandLineToArgvW, Polygon32 added.
* [misc/crtdll.c][include/crtdll.h][if1632/crtdll.spec][misc/ntdll.c]
[if1632/ntdll.spec]
Lot of new unicode functions added (needed for NT).
* [loader/pe_image.c]
NtCurrentTeb added.
Tue Dec 10 22:39:33 1996 Albrecht Kleine <kleine@ak.sax.de>
* [windows/keyboard.c]
Rewrote function TranslateAccelerator().
Mon Dec 9 14:52:13 1996 Slaven Rezic <eserte@cs.tu-berlin.de>
* [windows/defwnd.c]
DEFWND_SetText(): Set icon name.
Sun Dec 8 23:30:00 1996 Alex Korobka <alex@trantor.pharm.sunysb.edu>
* [loader/signal.c] [misc/winsock.c] [misc/winsock_async.c]
[if1632/winsock.spec]
IPC resource cleanup, bugfixes.
* [windows/dialog.c] [windows/defdlg.c]
More DefDlgProc() fixes.
Sun Dec 8 14:01:42 1996 Vadim Strizhevsky <striv@ms.com>
* [misc/clipboard.c] [objects/font.c] [win32/init.c]
[win32/newfns.c] [windows/graphics.c]
Added a few WIN32 functions which needed to run some win32
accessories. Clock should now work almost as well as 16 bit version.
Add: RegisterClipboardFormat32W GetTextExtentExPoint32*
GetModuleHandleW, DisableThreadLibraryCalls (empty stub),
Polygon32
Fix: Polygon16 possible memory leak on error return.
1996-12-15 20:45:59 +01:00
|
|
|
LPWSTR y=x;
|
1996-09-02 18:46:30 +02:00
|
|
|
|
|
|
|
while (*y) {
|
|
|
|
*y=toupper(*y);
|
|
|
|
y++;
|
|
|
|
}
|
|
|
|
return x;
|
|
|
|
}
|
|
|
|
|
Release 961215
Sun Dec 15 16:18:15 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [graphics/x11drv/bitblt.c]
Fixed BITBLT_StretchImage for partially covered or inverted
bitmaps.
* [objects/dib.c]
Fixed the upside-down bitmap problem.
Sat Dec 14 02:49:57 1996 Thomas Sandford <t.d.g.sandford@prds-grn.demon.co.uk>
* [if1632/user32.spec]
IsMenu and RemoveMenu added (use existing Win16 functions).
* [include/windows.h]
Corrections to BITMAPINFOHEADER structure.
* [loader/module.c] [if1632/kernel32.spec]
New function GetModuleFileName32A (heavily based on original
Win16 version).
* [loader/pe_image.c]
Hack to allow files with short PE header to be loaded (e.g.
COMDLG32.DLL from Win32s).
* [misc/winsock_async.c]
#if out EIDRM case (not present in FreeBSD).
* [tools/build.c]
Remove trailing comments from .s files generated by build
as these break assembly when not run through pre-processor.
* [windows/graphics.c] [if1632/gdi32.spec]
New function Polyline32 - based on original Polyline. Needs
metafile support adding still.
Fri Dec 13 13:04:06 1996 Bruce Milner <Bruce.Milner@genetics.utah.edu>
* [win32/findfile.c] [if1632/kernel.spec]
FindFirstFile32A(): Use dos current directory for drive prefixes.
FindNextFile32A(): Fill in file attribute information.
Implement FindFirstFile16, FindNextFile16, FindClose16.
* [files/drive.c]
GetCurrentDirectory32A - Fix problem with null 3rd character in
string.
Tue Dec 10 14:49:07 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [windows/painting.c][windows/message.c]
Don't use linked lists to call SendMessage(), for it might destroy
the current listentry.
* [misc/registry.c]
Fixed temporary file saving (rename doesn't work across
partitions).
* [files/*.c]
GetFullPathName*,GetDriveType32A fixed, CreateDirectoryEx*,
GetVolumeInformation32W fixed.
* [win32/process.c][if1632/kernel.spec][if1632/kernel32.spec]
LoadLibrary* updated to new naming std., *32W added.
* [win32/console.c] [include/wincon.h]
Additions for NT commandline executables.
* [if1632/advapi32.spec][if1632/kernel32.spec][win32/init.c]
GetUserName32W added, GetComputerName32W added,
GetStartupInfo32W added, GetSystemInfo updated to NT standard.
* [windows/msgbox.c][misc/shell.c][windows/graphics.c]
MessageBox32W, ShellAbout32W, CommandLineToArgvW, Polygon32 added.
* [misc/crtdll.c][include/crtdll.h][if1632/crtdll.spec][misc/ntdll.c]
[if1632/ntdll.spec]
Lot of new unicode functions added (needed for NT).
* [loader/pe_image.c]
NtCurrentTeb added.
Tue Dec 10 22:39:33 1996 Albrecht Kleine <kleine@ak.sax.de>
* [windows/keyboard.c]
Rewrote function TranslateAccelerator().
Mon Dec 9 14:52:13 1996 Slaven Rezic <eserte@cs.tu-berlin.de>
* [windows/defwnd.c]
DEFWND_SetText(): Set icon name.
Sun Dec 8 23:30:00 1996 Alex Korobka <alex@trantor.pharm.sunysb.edu>
* [loader/signal.c] [misc/winsock.c] [misc/winsock_async.c]
[if1632/winsock.spec]
IPC resource cleanup, bugfixes.
* [windows/dialog.c] [windows/defdlg.c]
More DefDlgProc() fixes.
Sun Dec 8 14:01:42 1996 Vadim Strizhevsky <striv@ms.com>
* [misc/clipboard.c] [objects/font.c] [win32/init.c]
[win32/newfns.c] [windows/graphics.c]
Added a few WIN32 functions which needed to run some win32
accessories. Clock should now work almost as well as 16 bit version.
Add: RegisterClipboardFormat32W GetTextExtentExPoint32*
GetModuleHandleW, DisableThreadLibraryCalls (empty stub),
Polygon32
Fix: Polygon16 possible memory leak on error return.
1996-12-15 20:45:59 +01:00
|
|
|
/*********************************************************************
|
|
|
|
* _wcslwr (CRTDLL.323)
|
|
|
|
*/
|
|
|
|
LPWSTR CRTDLL__wcslwr(LPWSTR x)
|
|
|
|
{
|
|
|
|
LPWSTR y=x;
|
|
|
|
|
|
|
|
while (*y) {
|
|
|
|
*y=tolower(*y);
|
|
|
|
y++;
|
|
|
|
}
|
|
|
|
return x;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
1996-09-02 18:46:30 +02:00
|
|
|
/*********************************************************************
|
|
|
|
* malloc (CRTDLL.427)
|
|
|
|
*/
|
|
|
|
VOID* CRTDLL_malloc(DWORD size)
|
|
|
|
{
|
|
|
|
return HeapAlloc(GetProcessHeap(),0,size);
|
|
|
|
}
|
|
|
|
|
Release 970112
Sat Jan 11 18:17:59 1997 Alexandre Julliard <julliard@lrc.epfl.ch>
* [controls/menu.c]
Updated to new Win32 types.
* [controls/listbox.c]
Fixed Winfile extended selection bug.
* [files/directory.c]
Changed DIR_SearchPath to return both long and short file names.
* [files/dos_fs.c]
Implemented VFAT ioctl to retrieve the original short filenames
from a VFAT filesystem (Linux only for now).
Replaced DOSFS_GetUnixFileName()/DOSFS_GetDosTrueName() by
DOS_GetFullName().
Properly implemented GetShortPathName() and GetFullPathName().
Made all functions re-entrant.
* [files/file.c] [misc/main.c]
Replaced -allowreadonly option by -failreadonly. The default is
now to report success when opening a read-only file for writing.
* [objects/metafile.c]
Fixed bug in DIB bitmaps pointer calculation.
* [scheduler/process.c]
Implemented environment strings and Get/SetStdHandle with process
environment block.
* [tools/build.c]
Rewrote BuildContext32() to avoid instructions that may not be
supported by all assemblers.
Fri Jan 10 17:11:09 1997 David Faure <david.faure@ifhamy.insa-lyon.fr>
* [windows/event.c]
Created table keyc2vkey, which associate a vkey(+extended bit) to
any keycode. Changed EVENT_event_to_vkey to use this table to
return the correct vkey. Changed EVENT_ToAscii to get the keycode
from this table too. Assigned OEM specific vkeys arbitrarily.
Fri Jan 10 09:26:17 1997 John Harvey <john@division.co.uk>
* [misc/winsock.c] [misc/winsoc_async.c]
Fixed svr4 header files.
Changed bzero() to memset().
* [tools/fnt2bdf.c]
Removed bcopy() and used memcpy() instead.
* [debugger/msc.c]
Include string.h instead of strings.h
* [debugger/stabs.c]
Include string.h instead of strings.h.
Define __ELF__ for svr4 systems.
* [loader/signal.c]
Use wait() instead of wait4() which doesnt exist on Unixware.
* [memory/global.c]
Use sysconf() instead of getpagesize() for svr4 systems.
Thu Jan 9 21:07:20 1997 Robert Pouliot <krynos@clic.net>
* [Make.rules.in] [Makefile.in] [make_os2.sh] [rc/Makefile.in]
[tools/Makefile.in] [documentation/wine_os2.txt]
Patches for OS/2 support. Note that it doesn't compile yet.
Tue Jan 7 20:03:53 1997 Eric Youngdale <eric@sub2304.jic.com>
* [debugger/*]
Many more debugger improvements (see debugger/README for details).
Tue Jan 7 15:12:21 1997 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [windows/graphics.c] [objects/text.c] [graphics/x11drv/*]
[graphics/metafiledrv/*]
Moved some device dependent code into the resp. subdirs.
* [include/gdi.h] [include/metafiledrv.h] [include/x11drv.h]
Prototypes added,
DC_FUNCTIONS: GetPixel added, some unnecessary functions removed.
* [objects/region.c]
CreatePolyPolygonRgn32 added.
* [files/dos_fs.c]
QueryDosDevice added.
* [misc/lstr.c]
FormatMessage: broken heap management fixed.
* [scheduler/process.c] [scheduler/thread.c]
Get/SetThreadPriority/PriorityClass added.
Mon Jan 6 21:55:30 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
* [misc/keyboard.c]
ToAscii : Use EVENT_ToAscii instead.
* [windows/event.c]
keypad_key : Do not convert XK_Mode_switch to VK_MENU; recognize
keypad cursor keys.
EVENT_event_to_vkey : New function, to transform a X keycode
into a MSwin vkey + extended bit.
EVENT_ToAscii : New function, to transform a vkey + extended bit
(+ key state table) into ascii char(s), using XLookupString, and
recognizing dead chars.
EVENT_key : Transform AltGr into Ctrl+Alt sequence; call
EVENT_event_to_vkey for keycode to vkey conversion; fixed
previous, context and extended bits.
* [windows/keyboard.c]
Include stddebug.h, to get -debugmsg messages.
GetKeyState : Handle VK_MBUTTON case.
GetKeyboardState, SetKeyboardState : Debugging messages added.
* [windows/message.c]
TranslateMessage : Handle dead chars.
Mon Jan 6 20:10:11 1997 Dominik Strasser <bm424953@muenchen.org>
* [if1632/crtdll.spec] [misc/crtdll.c]
C++ functions new/delete/set_new_handler implemented.
Mon Jan 6 15:48:15 1997 Frans van Dorsselaer <dorssel@rulhmpc49.LeidenUniv.nl>
* [controls/edit.c] [include/windows.h]
Moved the edit control to 32 bits.
Included new (win95) message definitions in windows.h
Implemented EM_SCROLLCARET, EM_SETMARGINS, EM_GETMARGINS,
EM_GETLIMITTEXT, EM_POSFROMCHAR, EM_CHARFROMPOS.
Broke EM_SETWORDBREAKPROC (internal wordwrap still works).
Fixed some bugs, introduced a couple of others.
Text buffer is now initially in 32-bit heap.
* [controls/EDIT.TODO] [controls/combo.c] [controls/widgets.c]
[if1632/wprocs.spec] [library/miscstubs.c] [windows/defdlg.c]
[misc/commdlg.c]
Updated to work with 32-bit edit control.
Sat Jan 4 22:07:27 1997 O.Flebbe <O.Flebbe@science-computing.uni-tuebingen.de>
* [loader/pe_image.c]
Use mmap rather then malloc. Better workaround for clean
segments.
1997-01-12 19:32:19 +01:00
|
|
|
/*********************************************************************
|
|
|
|
* new (CRTDLL.001)
|
|
|
|
*/
|
|
|
|
VOID* CRTDLL_new(DWORD size)
|
|
|
|
{
|
|
|
|
VOID* result;
|
|
|
|
if(!(result = HeapAlloc(GetProcessHeap(),0,size)) && new_handler)
|
|
|
|
(*new_handler)();
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* set_new_handler(CRTDLL.003)
|
|
|
|
*/
|
|
|
|
new_handler_type CRTDLL_set_new_handler(new_handler_type func)
|
|
|
|
{
|
|
|
|
new_handler_type old_handler = new_handler;
|
|
|
|
new_handler = func;
|
|
|
|
return old_handler;
|
|
|
|
}
|
|
|
|
|
Release 961201
Sat Nov 30 19:21:17 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [configure]
Re-generated with autoconf 2.11. Let me know if you have
problems.
* [controls/listbox.c] [controls/oldlbox.c]
Listboxes rewritten from scratch. Moved old code still used by
comboboxes to oldlbox.c
* [misc/registry.c]
Use temporary file when saving registry.
* [windows/dialog.c]
Implemented Win32 version of DlgDirList() and DlgDirListComboBox().
* [windows/winproc.c]
Added translation for listbox Win32 messages.
Sat Nov 30 21:00:00 Alex Korobka <alex@trantor.pharm.sunysb.edu>
* [controls/widgets.c] [controls/button.c]
Fixed some incompatibilities with CTL3D DLL.
* [windows/dialog.c]
Made dialog windows fit into the desktop.
* [misc/winsock.c] [misc/winsock_async.c]
New Winsock engine.
* [windows/message.c]
GetMessage() fixes.
* [windows/queue.c] [windows/hook.c] [windows/win.c]
SetMessageQueue() fixes.
Fri Nov 29 10:25:12 1996 Slaven Rezic <eserte@cs.tu-berlin.de>
* [objects/text.c]
DrawText16(): Fixed return value.
Tue Nov 26 14:47:09 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [files/profile.c] [*/*]
Added Win32 profile functions, updated to new naming standard.
* [objects/font.c] [if1632/thunk.c] [include/windows.h]
Added EnumFonts32*, EnumFontFamiliesEx*, changed prototypes and
structures.
* [misc/ole2nls.c] [if1632/thunk.c]
Added EnumSystemLocales() (winhelp.exe).
* [misc/registry.c]
Added Windows 3.1 registry loader supplied by Tor Sjxwall, tor@sn.no
* [win32/file.c]
Partially fixed CreateFileMapping(), added UnmapViewOfFile().
Sat Nov 23 23:36:05 1996 Ronan Waide <waider@waider.ie>
* [misc/shell.c]
Fixed some FIXMEs relating to ShellExec() and FindExecutable().
* [misc/main.c]
Implemented a few more of the SystemParametersInfo() cases.
Tue Nov 19 01:24:34 1996 Philippe De Muyter <phdm@info.ucl.ac.be>
* [include/keyboard.h]
New file, new macro WINE_VKEY_MAPPINGS (using code taken from event.c).
* [include/windows.h]
New [VK_A, VK_Z] and [VK_0, VK9] macros.
* [misc/keyboard.c]
Fixes in KeyTable and ToAscii.
* [objects/font.c]
FONT_init : Give default value for MSWIN "system" font.
FONT_MatchFont : Do not try every size of a font family if the
family does not exist.
* [windows/event.c]
lastEventChar hack removed.
KeyStateTable replaced by InputKeyStateTable (maintained in event.c)
and QueueKeyStateTable (maintained in message.c).
EVENT_key : Corrections to the extended bit setting.
* [windows/message.c] [windows/keyboard.c]
Implementation of a new QueueKeyStateTable : table of key states
valid when messages are retrieved by GetMessage or PeekMessage,
and valid for TranslateMessage.
TranslateMessage : Convert WM*KEY messages using QueueKeyStateTable
and ToAscii.
Mon Nov 18 16:59:01 1996 Robert Pouliot <krynos@clic.net>
* [graphics/Makefile.in] [graphics/wing.c]
[if1632/wing.spec]
Some functions for WinG support, mostly empty stubs.
* [misc/crtdll.c] [if1632/crtdll.spec]
Many functions added to CRTDLL, mostly calls to Unix C library.
1996-12-01 18:17:47 +01:00
|
|
|
/*********************************************************************
|
|
|
|
* calloc (CRTDLL.350)
|
|
|
|
*/
|
|
|
|
VOID* CRTDLL_calloc(DWORD size, DWORD count)
|
|
|
|
{
|
|
|
|
return HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY, size * count );
|
|
|
|
}
|
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* realloc (CRTDLL.447)
|
|
|
|
*/
|
|
|
|
VOID* CRTDLL_realloc( VOID *ptr, DWORD size )
|
|
|
|
{
|
|
|
|
return HeapReAlloc( GetProcessHeap(), 0, ptr, size );
|
|
|
|
}
|
|
|
|
|
1996-09-02 18:46:30 +02:00
|
|
|
/*********************************************************************
|
|
|
|
* free (CRTDLL.427)
|
|
|
|
*/
|
|
|
|
VOID CRTDLL_free(LPVOID ptr)
|
|
|
|
{
|
|
|
|
HeapFree(GetProcessHeap(),0,ptr);
|
|
|
|
}
|
1996-11-17 19:59:11 +01:00
|
|
|
|
Release 970112
Sat Jan 11 18:17:59 1997 Alexandre Julliard <julliard@lrc.epfl.ch>
* [controls/menu.c]
Updated to new Win32 types.
* [controls/listbox.c]
Fixed Winfile extended selection bug.
* [files/directory.c]
Changed DIR_SearchPath to return both long and short file names.
* [files/dos_fs.c]
Implemented VFAT ioctl to retrieve the original short filenames
from a VFAT filesystem (Linux only for now).
Replaced DOSFS_GetUnixFileName()/DOSFS_GetDosTrueName() by
DOS_GetFullName().
Properly implemented GetShortPathName() and GetFullPathName().
Made all functions re-entrant.
* [files/file.c] [misc/main.c]
Replaced -allowreadonly option by -failreadonly. The default is
now to report success when opening a read-only file for writing.
* [objects/metafile.c]
Fixed bug in DIB bitmaps pointer calculation.
* [scheduler/process.c]
Implemented environment strings and Get/SetStdHandle with process
environment block.
* [tools/build.c]
Rewrote BuildContext32() to avoid instructions that may not be
supported by all assemblers.
Fri Jan 10 17:11:09 1997 David Faure <david.faure@ifhamy.insa-lyon.fr>
* [windows/event.c]
Created table keyc2vkey, which associate a vkey(+extended bit) to
any keycode. Changed EVENT_event_to_vkey to use this table to
return the correct vkey. Changed EVENT_ToAscii to get the keycode
from this table too. Assigned OEM specific vkeys arbitrarily.
Fri Jan 10 09:26:17 1997 John Harvey <john@division.co.uk>
* [misc/winsock.c] [misc/winsoc_async.c]
Fixed svr4 header files.
Changed bzero() to memset().
* [tools/fnt2bdf.c]
Removed bcopy() and used memcpy() instead.
* [debugger/msc.c]
Include string.h instead of strings.h
* [debugger/stabs.c]
Include string.h instead of strings.h.
Define __ELF__ for svr4 systems.
* [loader/signal.c]
Use wait() instead of wait4() which doesnt exist on Unixware.
* [memory/global.c]
Use sysconf() instead of getpagesize() for svr4 systems.
Thu Jan 9 21:07:20 1997 Robert Pouliot <krynos@clic.net>
* [Make.rules.in] [Makefile.in] [make_os2.sh] [rc/Makefile.in]
[tools/Makefile.in] [documentation/wine_os2.txt]
Patches for OS/2 support. Note that it doesn't compile yet.
Tue Jan 7 20:03:53 1997 Eric Youngdale <eric@sub2304.jic.com>
* [debugger/*]
Many more debugger improvements (see debugger/README for details).
Tue Jan 7 15:12:21 1997 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [windows/graphics.c] [objects/text.c] [graphics/x11drv/*]
[graphics/metafiledrv/*]
Moved some device dependent code into the resp. subdirs.
* [include/gdi.h] [include/metafiledrv.h] [include/x11drv.h]
Prototypes added,
DC_FUNCTIONS: GetPixel added, some unnecessary functions removed.
* [objects/region.c]
CreatePolyPolygonRgn32 added.
* [files/dos_fs.c]
QueryDosDevice added.
* [misc/lstr.c]
FormatMessage: broken heap management fixed.
* [scheduler/process.c] [scheduler/thread.c]
Get/SetThreadPriority/PriorityClass added.
Mon Jan 6 21:55:30 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
* [misc/keyboard.c]
ToAscii : Use EVENT_ToAscii instead.
* [windows/event.c]
keypad_key : Do not convert XK_Mode_switch to VK_MENU; recognize
keypad cursor keys.
EVENT_event_to_vkey : New function, to transform a X keycode
into a MSwin vkey + extended bit.
EVENT_ToAscii : New function, to transform a vkey + extended bit
(+ key state table) into ascii char(s), using XLookupString, and
recognizing dead chars.
EVENT_key : Transform AltGr into Ctrl+Alt sequence; call
EVENT_event_to_vkey for keycode to vkey conversion; fixed
previous, context and extended bits.
* [windows/keyboard.c]
Include stddebug.h, to get -debugmsg messages.
GetKeyState : Handle VK_MBUTTON case.
GetKeyboardState, SetKeyboardState : Debugging messages added.
* [windows/message.c]
TranslateMessage : Handle dead chars.
Mon Jan 6 20:10:11 1997 Dominik Strasser <bm424953@muenchen.org>
* [if1632/crtdll.spec] [misc/crtdll.c]
C++ functions new/delete/set_new_handler implemented.
Mon Jan 6 15:48:15 1997 Frans van Dorsselaer <dorssel@rulhmpc49.LeidenUniv.nl>
* [controls/edit.c] [include/windows.h]
Moved the edit control to 32 bits.
Included new (win95) message definitions in windows.h
Implemented EM_SCROLLCARET, EM_SETMARGINS, EM_GETMARGINS,
EM_GETLIMITTEXT, EM_POSFROMCHAR, EM_CHARFROMPOS.
Broke EM_SETWORDBREAKPROC (internal wordwrap still works).
Fixed some bugs, introduced a couple of others.
Text buffer is now initially in 32-bit heap.
* [controls/EDIT.TODO] [controls/combo.c] [controls/widgets.c]
[if1632/wprocs.spec] [library/miscstubs.c] [windows/defdlg.c]
[misc/commdlg.c]
Updated to work with 32-bit edit control.
Sat Jan 4 22:07:27 1997 O.Flebbe <O.Flebbe@science-computing.uni-tuebingen.de>
* [loader/pe_image.c]
Use mmap rather then malloc. Better workaround for clean
segments.
1997-01-12 19:32:19 +01:00
|
|
|
/*********************************************************************
|
|
|
|
* delete (CRTDLL.002)
|
|
|
|
*/
|
|
|
|
VOID CRTDLL_delete(VOID* ptr)
|
|
|
|
{
|
|
|
|
HeapFree(GetProcessHeap(),0,ptr);
|
|
|
|
}
|
|
|
|
|
1996-11-17 19:59:11 +01:00
|
|
|
/*********************************************************************
|
|
|
|
* _strdup (CRTDLL.285)
|
|
|
|
*/
|
|
|
|
LPSTR CRTDLL__strdup(LPSTR ptr)
|
|
|
|
{
|
|
|
|
return HEAP_strdupA(GetProcessHeap(),0,ptr);
|
|
|
|
}
|
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* fclose (CRTDLL.362)
|
|
|
|
*/
|
|
|
|
DWORD CRTDLL_fclose(LPVOID x)
|
|
|
|
{
|
|
|
|
dprintf_crtdll(stdnimp,"fclose(%p)\n",x);
|
|
|
|
return 0;
|
|
|
|
}
|
Release 961215
Sun Dec 15 16:18:15 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [graphics/x11drv/bitblt.c]
Fixed BITBLT_StretchImage for partially covered or inverted
bitmaps.
* [objects/dib.c]
Fixed the upside-down bitmap problem.
Sat Dec 14 02:49:57 1996 Thomas Sandford <t.d.g.sandford@prds-grn.demon.co.uk>
* [if1632/user32.spec]
IsMenu and RemoveMenu added (use existing Win16 functions).
* [include/windows.h]
Corrections to BITMAPINFOHEADER structure.
* [loader/module.c] [if1632/kernel32.spec]
New function GetModuleFileName32A (heavily based on original
Win16 version).
* [loader/pe_image.c]
Hack to allow files with short PE header to be loaded (e.g.
COMDLG32.DLL from Win32s).
* [misc/winsock_async.c]
#if out EIDRM case (not present in FreeBSD).
* [tools/build.c]
Remove trailing comments from .s files generated by build
as these break assembly when not run through pre-processor.
* [windows/graphics.c] [if1632/gdi32.spec]
New function Polyline32 - based on original Polyline. Needs
metafile support adding still.
Fri Dec 13 13:04:06 1996 Bruce Milner <Bruce.Milner@genetics.utah.edu>
* [win32/findfile.c] [if1632/kernel.spec]
FindFirstFile32A(): Use dos current directory for drive prefixes.
FindNextFile32A(): Fill in file attribute information.
Implement FindFirstFile16, FindNextFile16, FindClose16.
* [files/drive.c]
GetCurrentDirectory32A - Fix problem with null 3rd character in
string.
Tue Dec 10 14:49:07 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [windows/painting.c][windows/message.c]
Don't use linked lists to call SendMessage(), for it might destroy
the current listentry.
* [misc/registry.c]
Fixed temporary file saving (rename doesn't work across
partitions).
* [files/*.c]
GetFullPathName*,GetDriveType32A fixed, CreateDirectoryEx*,
GetVolumeInformation32W fixed.
* [win32/process.c][if1632/kernel.spec][if1632/kernel32.spec]
LoadLibrary* updated to new naming std., *32W added.
* [win32/console.c] [include/wincon.h]
Additions for NT commandline executables.
* [if1632/advapi32.spec][if1632/kernel32.spec][win32/init.c]
GetUserName32W added, GetComputerName32W added,
GetStartupInfo32W added, GetSystemInfo updated to NT standard.
* [windows/msgbox.c][misc/shell.c][windows/graphics.c]
MessageBox32W, ShellAbout32W, CommandLineToArgvW, Polygon32 added.
* [misc/crtdll.c][include/crtdll.h][if1632/crtdll.spec][misc/ntdll.c]
[if1632/ntdll.spec]
Lot of new unicode functions added (needed for NT).
* [loader/pe_image.c]
NtCurrentTeb added.
Tue Dec 10 22:39:33 1996 Albrecht Kleine <kleine@ak.sax.de>
* [windows/keyboard.c]
Rewrote function TranslateAccelerator().
Mon Dec 9 14:52:13 1996 Slaven Rezic <eserte@cs.tu-berlin.de>
* [windows/defwnd.c]
DEFWND_SetText(): Set icon name.
Sun Dec 8 23:30:00 1996 Alex Korobka <alex@trantor.pharm.sunysb.edu>
* [loader/signal.c] [misc/winsock.c] [misc/winsock_async.c]
[if1632/winsock.spec]
IPC resource cleanup, bugfixes.
* [windows/dialog.c] [windows/defdlg.c]
More DefDlgProc() fixes.
Sun Dec 8 14:01:42 1996 Vadim Strizhevsky <striv@ms.com>
* [misc/clipboard.c] [objects/font.c] [win32/init.c]
[win32/newfns.c] [windows/graphics.c]
Added a few WIN32 functions which needed to run some win32
accessories. Clock should now work almost as well as 16 bit version.
Add: RegisterClipboardFormat32W GetTextExtentExPoint32*
GetModuleHandleW, DisableThreadLibraryCalls (empty stub),
Polygon32
Fix: Polygon16 possible memory leak on error return.
1996-12-15 20:45:59 +01:00
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* setlocale (CRTDLL.453)
|
|
|
|
*/
|
|
|
|
LPSTR CRTDLL_setlocale(INT32 category,LPCSTR locale)
|
|
|
|
{
|
|
|
|
LPSTR categorystr;
|
|
|
|
|
|
|
|
switch (category) {
|
|
|
|
case CRTDLL_LC_ALL: categorystr="LC_ALL";break;
|
|
|
|
case CRTDLL_LC_COLLATE: categorystr="LC_COLLATE";break;
|
|
|
|
case CRTDLL_LC_CTYPE: categorystr="LC_CTYPE";break;
|
|
|
|
case CRTDLL_LC_MONETARY: categorystr="LC_MONETARY";break;
|
|
|
|
case CRTDLL_LC_NUMERIC: categorystr="LC_NUMERIC";break;
|
|
|
|
case CRTDLL_LC_TIME: categorystr="LC_TIME";break;
|
|
|
|
default: categorystr = "UNKNOWN?";break;
|
|
|
|
}
|
|
|
|
fprintf(stderr,"CRTDLL.setlocale(%s,%s),stub!\n",categorystr,locale);
|
|
|
|
return "C";
|
|
|
|
}
|
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* wcsspn (CRTDLL.516)
|
|
|
|
*/
|
|
|
|
INT32 CRTDLL_wcsspn(LPWSTR str,LPWSTR accept)
|
|
|
|
{
|
|
|
|
LPWSTR s,t;
|
|
|
|
|
|
|
|
s=str;
|
|
|
|
do {
|
|
|
|
t=accept;
|
|
|
|
while (*t) { if (*t==*s) break;t++;}
|
|
|
|
if (!*t) break;
|
|
|
|
s++;
|
|
|
|
} while (*s);
|
|
|
|
return s-str; /* nr of wchars */
|
|
|
|
}
|
|
|
|
|
1997-02-02 20:01:52 +01:00
|
|
|
/*********************************************************************
|
|
|
|
* wcscspn (CRTDLL.508)
|
|
|
|
*/
|
|
|
|
INT32 CRTDLL_wcscspn(LPWSTR str,LPWSTR reject)
|
|
|
|
{
|
|
|
|
LPWSTR s,t;
|
|
|
|
|
|
|
|
s=str;
|
|
|
|
do {
|
|
|
|
t=reject;
|
|
|
|
while (*t) { if (*t==*s) break;t++;}
|
|
|
|
if (*t) break;
|
|
|
|
s++;
|
|
|
|
} while (*s);
|
|
|
|
return s-str; /* nr of wchars */
|
|
|
|
}
|
|
|
|
|
Release 961215
Sun Dec 15 16:18:15 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [graphics/x11drv/bitblt.c]
Fixed BITBLT_StretchImage for partially covered or inverted
bitmaps.
* [objects/dib.c]
Fixed the upside-down bitmap problem.
Sat Dec 14 02:49:57 1996 Thomas Sandford <t.d.g.sandford@prds-grn.demon.co.uk>
* [if1632/user32.spec]
IsMenu and RemoveMenu added (use existing Win16 functions).
* [include/windows.h]
Corrections to BITMAPINFOHEADER structure.
* [loader/module.c] [if1632/kernel32.spec]
New function GetModuleFileName32A (heavily based on original
Win16 version).
* [loader/pe_image.c]
Hack to allow files with short PE header to be loaded (e.g.
COMDLG32.DLL from Win32s).
* [misc/winsock_async.c]
#if out EIDRM case (not present in FreeBSD).
* [tools/build.c]
Remove trailing comments from .s files generated by build
as these break assembly when not run through pre-processor.
* [windows/graphics.c] [if1632/gdi32.spec]
New function Polyline32 - based on original Polyline. Needs
metafile support adding still.
Fri Dec 13 13:04:06 1996 Bruce Milner <Bruce.Milner@genetics.utah.edu>
* [win32/findfile.c] [if1632/kernel.spec]
FindFirstFile32A(): Use dos current directory for drive prefixes.
FindNextFile32A(): Fill in file attribute information.
Implement FindFirstFile16, FindNextFile16, FindClose16.
* [files/drive.c]
GetCurrentDirectory32A - Fix problem with null 3rd character in
string.
Tue Dec 10 14:49:07 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [windows/painting.c][windows/message.c]
Don't use linked lists to call SendMessage(), for it might destroy
the current listentry.
* [misc/registry.c]
Fixed temporary file saving (rename doesn't work across
partitions).
* [files/*.c]
GetFullPathName*,GetDriveType32A fixed, CreateDirectoryEx*,
GetVolumeInformation32W fixed.
* [win32/process.c][if1632/kernel.spec][if1632/kernel32.spec]
LoadLibrary* updated to new naming std., *32W added.
* [win32/console.c] [include/wincon.h]
Additions for NT commandline executables.
* [if1632/advapi32.spec][if1632/kernel32.spec][win32/init.c]
GetUserName32W added, GetComputerName32W added,
GetStartupInfo32W added, GetSystemInfo updated to NT standard.
* [windows/msgbox.c][misc/shell.c][windows/graphics.c]
MessageBox32W, ShellAbout32W, CommandLineToArgvW, Polygon32 added.
* [misc/crtdll.c][include/crtdll.h][if1632/crtdll.spec][misc/ntdll.c]
[if1632/ntdll.spec]
Lot of new unicode functions added (needed for NT).
* [loader/pe_image.c]
NtCurrentTeb added.
Tue Dec 10 22:39:33 1996 Albrecht Kleine <kleine@ak.sax.de>
* [windows/keyboard.c]
Rewrote function TranslateAccelerator().
Mon Dec 9 14:52:13 1996 Slaven Rezic <eserte@cs.tu-berlin.de>
* [windows/defwnd.c]
DEFWND_SetText(): Set icon name.
Sun Dec 8 23:30:00 1996 Alex Korobka <alex@trantor.pharm.sunysb.edu>
* [loader/signal.c] [misc/winsock.c] [misc/winsock_async.c]
[if1632/winsock.spec]
IPC resource cleanup, bugfixes.
* [windows/dialog.c] [windows/defdlg.c]
More DefDlgProc() fixes.
Sun Dec 8 14:01:42 1996 Vadim Strizhevsky <striv@ms.com>
* [misc/clipboard.c] [objects/font.c] [win32/init.c]
[win32/newfns.c] [windows/graphics.c]
Added a few WIN32 functions which needed to run some win32
accessories. Clock should now work almost as well as 16 bit version.
Add: RegisterClipboardFormat32W GetTextExtentExPoint32*
GetModuleHandleW, DisableThreadLibraryCalls (empty stub),
Polygon32
Fix: Polygon16 possible memory leak on error return.
1996-12-15 20:45:59 +01:00
|
|
|
/*********************************************************************
|
|
|
|
* wcschr (CRTDLL.504)
|
|
|
|
*/
|
|
|
|
LPWSTR CRTDLL_wcschr(LPWSTR str,WCHAR xchar)
|
|
|
|
{
|
|
|
|
LPWSTR s;
|
|
|
|
|
|
|
|
s=str;
|
|
|
|
do {
|
|
|
|
if (*s==xchar)
|
|
|
|
return s;
|
|
|
|
} while (*s++);
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* towupper (CRTDLL.494)
|
|
|
|
*/
|
|
|
|
WCHAR CRTDLL_towupper(WCHAR x)
|
|
|
|
{
|
|
|
|
return (WCHAR)toupper((CHAR)x);
|
|
|
|
}
|
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* swprintf (CRTDLL.483)
|
|
|
|
*/
|
|
|
|
DWORD CRTDLL_swprintf(DWORD *args)
|
|
|
|
{
|
|
|
|
return WIN32_wsprintf32W(args);
|
|
|
|
}
|
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* _wcsicoll (CRTDLL.322)
|
|
|
|
*/
|
|
|
|
DWORD CRTDLL__wcsicoll(LPWSTR a1,LPWSTR a2)
|
|
|
|
{
|
|
|
|
/* FIXME: handle collates */
|
|
|
|
return lstrcmpi32W(a1,a2);
|
|
|
|
}
|
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* wcscoll (CRTDLL.506)
|
|
|
|
*/
|
|
|
|
DWORD CRTDLL_wcscoll(LPWSTR a1,LPWSTR a2)
|
|
|
|
{
|
|
|
|
/* FIXME: handle collates */
|
|
|
|
return lstrcmp32W(a1,a2);
|
|
|
|
}
|
|
|
|
|
1997-02-15 15:29:56 +01:00
|
|
|
/*********************************************************************
|
|
|
|
* _wcsrev (CRTDLL.326)
|
|
|
|
*/
|
|
|
|
VOID CRTDLL__wcsrev(LPWSTR s) {
|
|
|
|
LPWSTR e;
|
|
|
|
|
|
|
|
e=s;
|
|
|
|
while (*e)
|
|
|
|
e++;
|
|
|
|
while (s<e) {
|
|
|
|
WCHAR a;
|
|
|
|
|
|
|
|
a=*s;*s=*e;*e=a;
|
|
|
|
s++;e--;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
Release 961215
Sun Dec 15 16:18:15 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [graphics/x11drv/bitblt.c]
Fixed BITBLT_StretchImage for partially covered or inverted
bitmaps.
* [objects/dib.c]
Fixed the upside-down bitmap problem.
Sat Dec 14 02:49:57 1996 Thomas Sandford <t.d.g.sandford@prds-grn.demon.co.uk>
* [if1632/user32.spec]
IsMenu and RemoveMenu added (use existing Win16 functions).
* [include/windows.h]
Corrections to BITMAPINFOHEADER structure.
* [loader/module.c] [if1632/kernel32.spec]
New function GetModuleFileName32A (heavily based on original
Win16 version).
* [loader/pe_image.c]
Hack to allow files with short PE header to be loaded (e.g.
COMDLG32.DLL from Win32s).
* [misc/winsock_async.c]
#if out EIDRM case (not present in FreeBSD).
* [tools/build.c]
Remove trailing comments from .s files generated by build
as these break assembly when not run through pre-processor.
* [windows/graphics.c] [if1632/gdi32.spec]
New function Polyline32 - based on original Polyline. Needs
metafile support adding still.
Fri Dec 13 13:04:06 1996 Bruce Milner <Bruce.Milner@genetics.utah.edu>
* [win32/findfile.c] [if1632/kernel.spec]
FindFirstFile32A(): Use dos current directory for drive prefixes.
FindNextFile32A(): Fill in file attribute information.
Implement FindFirstFile16, FindNextFile16, FindClose16.
* [files/drive.c]
GetCurrentDirectory32A - Fix problem with null 3rd character in
string.
Tue Dec 10 14:49:07 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [windows/painting.c][windows/message.c]
Don't use linked lists to call SendMessage(), for it might destroy
the current listentry.
* [misc/registry.c]
Fixed temporary file saving (rename doesn't work across
partitions).
* [files/*.c]
GetFullPathName*,GetDriveType32A fixed, CreateDirectoryEx*,
GetVolumeInformation32W fixed.
* [win32/process.c][if1632/kernel.spec][if1632/kernel32.spec]
LoadLibrary* updated to new naming std., *32W added.
* [win32/console.c] [include/wincon.h]
Additions for NT commandline executables.
* [if1632/advapi32.spec][if1632/kernel32.spec][win32/init.c]
GetUserName32W added, GetComputerName32W added,
GetStartupInfo32W added, GetSystemInfo updated to NT standard.
* [windows/msgbox.c][misc/shell.c][windows/graphics.c]
MessageBox32W, ShellAbout32W, CommandLineToArgvW, Polygon32 added.
* [misc/crtdll.c][include/crtdll.h][if1632/crtdll.spec][misc/ntdll.c]
[if1632/ntdll.spec]
Lot of new unicode functions added (needed for NT).
* [loader/pe_image.c]
NtCurrentTeb added.
Tue Dec 10 22:39:33 1996 Albrecht Kleine <kleine@ak.sax.de>
* [windows/keyboard.c]
Rewrote function TranslateAccelerator().
Mon Dec 9 14:52:13 1996 Slaven Rezic <eserte@cs.tu-berlin.de>
* [windows/defwnd.c]
DEFWND_SetText(): Set icon name.
Sun Dec 8 23:30:00 1996 Alex Korobka <alex@trantor.pharm.sunysb.edu>
* [loader/signal.c] [misc/winsock.c] [misc/winsock_async.c]
[if1632/winsock.spec]
IPC resource cleanup, bugfixes.
* [windows/dialog.c] [windows/defdlg.c]
More DefDlgProc() fixes.
Sun Dec 8 14:01:42 1996 Vadim Strizhevsky <striv@ms.com>
* [misc/clipboard.c] [objects/font.c] [win32/init.c]
[win32/newfns.c] [windows/graphics.c]
Added a few WIN32 functions which needed to run some win32
accessories. Clock should now work almost as well as 16 bit version.
Add: RegisterClipboardFormat32W GetTextExtentExPoint32*
GetModuleHandleW, DisableThreadLibraryCalls (empty stub),
Polygon32
Fix: Polygon16 possible memory leak on error return.
1996-12-15 20:45:59 +01:00
|
|
|
/*********************************************************************
|
|
|
|
* wcsstr (CRTDLL.517)
|
|
|
|
*/
|
|
|
|
LPWSTR CRTDLL_wcsstr(LPWSTR s,LPWSTR b)
|
|
|
|
{
|
|
|
|
LPWSTR x,y,c;
|
|
|
|
|
|
|
|
x=s;
|
|
|
|
while (*x) {
|
|
|
|
if (*x==*b) {
|
|
|
|
y=x;c=b;
|
|
|
|
while (*y && *c && *y==*c) { c++;y++; }
|
|
|
|
if (!*c)
|
|
|
|
return x;
|
|
|
|
}
|
|
|
|
x++;
|
|
|
|
}
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* wcsrchr (CRTDLL.515)
|
|
|
|
*/
|
|
|
|
LPWSTR CRTDLL_wcsrchr(LPWSTR str,WCHAR xchar)
|
|
|
|
{
|
|
|
|
LPWSTR s;
|
|
|
|
|
|
|
|
s=str+lstrlen32W(str);
|
|
|
|
do {
|
|
|
|
if (*s==xchar)
|
|
|
|
return s;
|
|
|
|
s--;
|
|
|
|
} while (s>=str);
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
Release 970120
Sun Jan 19 11:46:48 1997 Alexandre Julliard <julliard@lrc.epfl.ch>
* [loader/module.c]
Fixed LoadModule() to always call the DLL initialization code.
* [windows/event.c]
Moved all the keyboard stuff to windows/keyboard.c
* [tools/build.c]
Fixed Win32 register functions.
Sat Jan 18 22:24:41 1997 David Makepeace <D.Makepeace@mailbox.uq.oz.au>
* [tools/makedep.c]
Fixed bug which causes SEGV on Solaris x86.
Fri Jan 17 18:32:27 1997 Frans van Dorsselaer <dorssel@rulhmpc49.LeidenUniv.nl>
* [controls/edit.c]
Implemented WM_UNDO, WM_CONTEXTMENU (temporary using WM_RBUTTONUP),
WM_COMMAND, WM_INITPOPUPMENU, WM_SYSKEYDOWN.
Fixed EM_SETSEL and some minor bugs (features).
Hence: fully functional undo and a win95 menu with the right mouse
button.
* [include/resources.h] [resources/TODO] [resources/sysres_??.rc]
Added a context menu for the edit control.
Translations, please ...
Fri Jan 17 08:29:52 1997 David Faure <david.faure@ifhamy.insa-lyon.fr>
* [windows/event.c]
Move EVENT_ToAscii to windows/keyboard.c (where name ToAscii)
Fixed Keypad keys 0-9 and . in EVENT_event_to_vkey.
Added 3-state handling of toggle keys (CapsLock, NumLock) in order
to make them work with any X server.
Toggle keys now generate WM_KEYDOWN and WM_KEYUP on each pressing.
* [include/keyboard.h]
Totally replaced the file (formerly containing the vkcase definitions)
by the declaration of 'extern' variables contained by event.c and used
by keyboard.c
* [windows/keyboard.c]
Started to rewrite VkKeyScan and MapVirtualKey, to make them use the
table keyc2vkey or X functions only.
ToAscii : added keypad 0-9 and . special case.
Changed toggle keys active mask from 0x80 to 0x1.
* [misc/keyboard.c]
File deleted. Contents moved to windows/keyboard.c.
* [misc/main.c]
Added putenv XKB_DISABLE to disable XKB extension (which, when
present, causes AltGr to change keyboard group instead of being a
modifier).
Tue Jan 14 22:56:43 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
* [windows/event.c]
Do not assume NumLockMask is Mod2Mask, but compute it by scanning
output of XGetModifierMapping for XK_Num_Lock.
Tue Jan 14 15:49:49 1997 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [loader/pe_*.c] [include/peexe.h] [include/resource32.h]
[debugger/*.c]
General clean up.
Changed defines/structures to match Windows NT SDK.
* [loader/main.c]
Don't crash on empty command-line.
* [windows/winpos.c]
winpos.c made win32 clean.
* [misc/ntdll.c]
Some string conversion additions.
* [files/file.c]
GetFileAttributes/GetTempFileName fixed.
* [misc/ver.c]
VerInstallFile implemented.
Mon Jan 13 15:03:11 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
* [tools/build.c]: Use PREFIX also in stabs messages.
Mon Jan 13 10:40:33 1997 John Harvey <john@division.co.uk>
* [graphics/win16drv/*] [include/win16drv.h]
Many fixes and some new features.
* [graphics/x11drv/font.c] [graphics/x11drv/init.c]
[include/x11drv.h] [objects/font.c]
GetTextMetrics() moved to graphics driver.
* [if1632/gdi.spec] [misc/fontengine.c] [misc/Makefile.in]
New dummy EngineEnumerateFont, EngineRealizeFont functions.
* [include/windows.h]
TEXTFORM16 and FONTINFO16 structure definitions moved here from
include/win16drv.h
1997-01-20 20:43:45 +01:00
|
|
|
/*********************************************************************
|
|
|
|
* _setmode (CRTDLL.265)
|
|
|
|
* FIXME: dunno what this is.
|
|
|
|
*/
|
|
|
|
DWORD
|
|
|
|
CRTDLL__setmode(LPVOID x,INT32 y) {
|
|
|
|
/* FIXME */
|
|
|
|
fprintf(stdnimp,"CRTDLL._setmode(%p,%d), STUB.\n",x,y);
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* atexit (CRTDLL.345)
|
|
|
|
*/
|
|
|
|
INT32
|
|
|
|
CRTDLL_atexit(LPVOID x) {
|
|
|
|
/* FIXME */
|
|
|
|
fprintf(stdnimp,"CRTDLL.atexit(%p), STUB.\n",x);
|
|
|
|
return 0; /* successful */
|
|
|
|
}
|
1997-02-02 20:01:52 +01:00
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* mbtowc (CRTDLL.430)
|
|
|
|
* FIXME: check multibyte support
|
|
|
|
*/
|
|
|
|
WCHAR
|
|
|
|
CRTDLL_mbtowc(CHAR a) {
|
|
|
|
return a;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* _isctype (CRTDLL.138)
|
|
|
|
*/
|
|
|
|
BOOL32
|
|
|
|
CRTDLL__isctype(CHAR x,CHAR type) {
|
|
|
|
if ((type & CRTDLL_SPACE) && isspace(x))
|
|
|
|
return TRUE;
|
|
|
|
if ((type & CRTDLL_PUNCT) && ispunct(x))
|
|
|
|
return TRUE;
|
|
|
|
if ((type & CRTDLL_LOWER) && islower(x))
|
|
|
|
return TRUE;
|
|
|
|
if ((type & CRTDLL_UPPER) && isupper(x))
|
|
|
|
return TRUE;
|
|
|
|
if ((type & CRTDLL_ALPHA) && isalpha(x))
|
|
|
|
return TRUE;
|
|
|
|
if ((type & CRTDLL_DIGIT) && isdigit(x))
|
|
|
|
return TRUE;
|
|
|
|
if ((type & CRTDLL_CONTROL) && iscntrl(x))
|
|
|
|
return TRUE;
|
|
|
|
/* check CRTDLL_LEADBYTE */
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* _chdrive (CRTDLL.52)
|
|
|
|
*/
|
|
|
|
BOOL32
|
|
|
|
CRTDLL__chdrive(INT32 newdrive) {
|
|
|
|
/* FIXME: generates errnos */
|
|
|
|
return DRIVE_SetCurrentDrive(newdrive);
|
|
|
|
}
|
|
|
|
|
1997-03-29 18:20:20 +01:00
|
|
|
/*********************************************************************
|
|
|
|
* _chdir (CRTDLL.51)
|
|
|
|
*/
|
|
|
|
INT32
|
|
|
|
CRTDLL__chdir(LPCSTR newdir) {
|
|
|
|
if (!SetCurrentDirectory32A(newdir))
|
|
|
|
return -1;
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
* _mkdir (CRTDLL.234)
|
|
|
|
*/
|
|
|
|
INT32
|
|
|
|
CRTDLL__mkdir(LPCSTR newdir) {
|
|
|
|
if (!CreateDirectory32A(newdir,NULL))
|
|
|
|
return -1;
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
1997-02-02 20:01:52 +01:00
|
|
|
/*********************************************************************
|
|
|
|
* _errno (CRTDLL.52)
|
|
|
|
* Yes, this is a function.
|
|
|
|
*/
|
|
|
|
LPINT32
|
|
|
|
CRTDLL__errno() {
|
|
|
|
static int crtdllerrno;
|
|
|
|
extern int LastErrorToErrno(DWORD);
|
|
|
|
|
|
|
|
/* FIXME: we should set the error at the failing function call time */
|
|
|
|
crtdllerrno = LastErrorToErrno(GetLastError());
|
|
|
|
return &crtdllerrno;
|
|
|
|
}
|