/programs/develop/open watcom/trunk/clib/alias/_icstrdu.asm |
---|
0,0 → 1,3 |
include mdef.inc |
alias_function strdup, __clib_strdup |
end |
/programs/develop/open watcom/trunk/clib/alias/_istrcmp.asm |
---|
0,0 → 1,3 |
include mdef.inc |
alias_function strcmpi, stricmp |
end |
/programs/develop/open watcom/trunk/clib/alias/_istrdup.asm |
---|
0,0 → 1,3 |
include mdef.inc |
alias_function _strdup, __clib_strdup |
end |
/programs/develop/open watcom/trunk/clib/alias/_istricm.asm |
---|
0,0 → 1,3 |
include mdef.inc |
alias_function _stricmp, stricmp |
end |
/programs/develop/open watcom/trunk/clib/crt/crwd386.asm |
---|
49,34 → 49,18 |
assume DS:DGROUP |
extrn ___cmdline : near |
extrn ___pgmname : near |
_LpCmdLine dd offset ___cmdline ; pointer to raw command line |
_LpPgmName dd offset ___pgmname ; pointer to program name (for argv[0]) |
ifndef __NETWARE__ |
_dynend dd 0 ; top of dynamic data area |
_curbrk dd 0 ; top of usable memory |
endif |
ifndef __QNX__ |
ifndef __LINUX__ |
ifndef _NETWARE_LIBC |
_LpCmdLine dd 0 ; pointer to raw command line |
_LpPgmName dd 0 ; pointer to program name (for argv[0]) |
endif |
ifdef __NT__ |
_LpDllName dd 0 ; pointer to dll name (for OS/2,WIN32) |
_LpwCmdLine dd 0 ; pointer to widechar raw command line |
_LpwPgmName dd 0 ; pointer to widechar program name (for argv[0]) |
_LpwDllName dd 0 ; pointer to widechar dll name (for OS/2,WIN32) |
endif |
ifdef __OS2__ |
_LpDllName dd 0 ; pointer to dll name (for OS/2,WIN32) |
_LpwCmdLine dd 0 ; pointer to widechar raw command line |
_LpwPgmName dd 0 ; pointer to widechar program name (for argv[0]) |
_LpwDllName dd 0 ; pointer to widechar dll name (for OS/2,WIN32) |
endif |
ifdef __DOS__ |
_psp dw 0,0 ; segment addr of program segment prefix |
__x386_stacklow label dword |
endif |
endif |
endif |
_STACKLOW dd 0 ; lowest address in stack |
_STACKTOP dd 0 ; highest address in stack |
__EFG_printf dd 0 |
83,11 → 67,13 |
__EFG_scanf dd 0 |
__ASTACKSIZ dd 0 ; alternate stack size |
__ASTACKPTR dd 0 ; alternate stack pointer |
ifndef __NETWARE__ |
_cbyte dd 0 ; used by getch, getche |
_cbyte2 dd 0 ; used by getch, getche |
_child dd 0 ; non-zero => a spawned process is running |
endif |
__no87 dw 0 ; non-zero => "NO87" environment var present |
ifndef __NETWARE__ |
ifdef __DOS__ |
141,10 → 127,6 |
public "C",_LpPgmName |
endif |
ifdef __NT__ |
public "C",_LpDllName |
public "C",_LpwCmdLine |
public "C",_LpwPgmName |
public "C",_LpwDllName |
public "C",_LpCmdLine |
public "C",_LpPgmName |
endif |
/programs/develop/open watcom/trunk/clib/crt/cstrtwnt.asm |
---|
39,10 → 39,9 |
extrn __NTMain : near |
extrn ___begtext : near |
extrn __LpCmdLine : near |
extrn __LpPgmName : near |
extrn __STACKLOW : near |
extrn __STACKTOP : near |
extrn ___stack_low : near |
_TEXT segment use32 word public 'CODE' |
55,14 → 54,8 |
mainCRTStartup: |
mov dword ptr [__STACKTOP], esp |
lea eax, [esp-40000h] |
mov dword ptr[__STACKLOW], eax |
mov dword ptr[__STACKLOW], offset ___stack_low |
mov eax, dword ptr [ds:0x1c] |
mov dword ptr [__LpCmdLine], eax |
mov eax, dword ptr [ds:0x20] |
mov dword ptr [__LpPgmName], eax |
jmp __NTMain |
dd ___begtext ; reference module with segment definitions |
; |
/programs/develop/open watcom/trunk/clib/crt/main2wnt.c |
---|
36,12 → 36,13 |
#include <string.h> |
#include <malloc.h> |
#include <windows.h> |
//#include "ntex.h" |
#include "kolibri.h" |
//#include "sigtab.h" |
#include "initfini.h" |
#include "initarg.h" |
void _stdcall InitHeap(int heap_size); |
int __appcwdlen; |
char* __appcwd; |
extern char *LpCmdLine; |
74,7 → 75,7 |
/***************************************/ |
{ |
InitHeap(0); |
init_heap(); |
__process_fini = &__FiniRtns; |
__InitRtns( 255 ); |
106,6 → 107,8 |
#endif |
#endif |
#pragma aux __exit aborts; |
_WCRTLINK void __exit( unsigned ret_code ) |
{ |
__FiniRtns( 0, FINI_PRIORITY_EXIT-1 ); |
/programs/develop/open watcom/trunk/clib/crt/segdefns.asm |
---|
40,17 → 40,13 |
assume nothing |
extrn _cstart_ : near |
extrn __STACKLOW : near |
extrn __STACKTOP : near |
if COMP_CFG_COFF |
DGROUP group _NULL,_AFTERNULL,CONST,_DATA,DATA,_BSS,STACK |
else |
ifdef __LINUX__ |
DGROUP group _NULL,_AFTERNULL,CONST,_DATA,DATA,TIB,TI,TIE,XIB,XI,XIE,YIB,YI,YIE,_BSS |
else |
DGROUP group _NULL,_AFTERNULL,CONST,_DATA,DATA,_BSS,STACK,TIB,TI,TIE,XIB,XI,XIE,YIB,YI,YIE |
endif |
endif |
DGROUP group _NULL,_AFTERNULL,CONST,_DATA,DATA,TIB,TI,TIE,XIB,XI,XIE,YIB,YI,YIE,_IEND,_BSS,STACK,MEMSIZE |
; this guarantees that no function pointer will equal NULL |
; (WLINK will keep segment 'BEGTEXT' in front) |
; This segment must be at least 4 bytes in size to avoid confusing the |
59,6 → 55,16 |
BEGTEXT segment use32 word public 'CODE' |
assume cs:BEGTEXT |
forever label near |
db 'MENUET01' |
dd 0x0001 |
dd offset _cstart_ |
dd offset ___iend |
dd offset MEMSIZE |
dd offset MEMSIZE |
dd offset ___cmdline |
dd offset ___pgmname |
int 3h |
jmp short forever |
; NOTE that __begtext needs to be at offset 3 |
123,17 → 129,31 |
DATA segment word public 'DATA' |
DATA ends |
_IEND segment word public 'IEND' |
___iend label byte |
_IEND ends |
_BSS segment word public 'BSS' |
public ___cmdline |
public ___pgmname |
___cmdline db 256 dup(?) ; pointer to raw command line |
___pgmname db 1024 dup (?) ; pointer to program name (for argv[0]) |
_BSS ends |
ifndef __LINUX__ |
STACK_SIZE equ 4096h |
STACK segment para stack 'STACK' |
STACK segment para stack 'STACK' |
db (STACK_SIZE) dup(?) |
___stack_low label byte |
public ___stack_low |
STACK ends |
endif |
MEMSIZE segment para stack 'STACK' |
MEMSIZE ends |
_TEXT segment use32 word public 'CODE' |
_TEXT ends |
/programs/develop/open watcom/trunk/clib/fpu/chipa32.asm |
---|
53,15 → 53,10 |
_TEXT SEGMENT PARA PUBLIC USE32 'CODE' |
_TEXT ENDS |
CONST SEGMENT DWORD PUBLIC USE32 'DATA' |
CONST ENDS |
CONST2 SEGMENT DWORD PUBLIC USE32 'DATA' |
CONST2 ENDS |
_DATA SEGMENT DWORD PUBLIC USE32 'DATA' |
DATA32 SEGMENT DWORD PUBLIC USE32 'DATA' |
Y EQU 0 |
X EQU 12 |
PREV_CW EQU 24 |
145,19 → 140,19 |
dd 0AC526641H, 0C0CE85B8H, 000003FFEH, 000000000H |
dd 02168C235H, 0C90FDAA2H, 000003FFEH, 000000000H |
DATA32 ENDS |
_DATA ENDS |
BSS32 SEGMENT DWORD PUBLIC USE32 'BSS' |
BSS32 ENDS |
_BSS SEGMENT DWORD PUBLIC USE32 'BSS' |
_BSS ENDS |
EXTRN __fdiv_fpr:NEAR |
DGROUP GROUP CONST,CONST2,DATA32,BSS32 |
DGROUP GROUP _DATA,_BSS |
_TEXT SEGMENT PARA PUBLIC USE32 'CODE' |
ASSUME CS:_TEXT,DS:DGROUP,ES:DGROUP, SS:nothing |
ASSUME CS:_TEXT,DS:DGROUP,ES:DGROUP, SS:DGROUP |
public __fpatan_chk |
defpe __fpatan_chk |
/programs/develop/open watcom/trunk/clib/fpu/chipd32.asm |
---|
167,19 → 167,19 |
_TEXT SEGMENT DWORD USE32 PUBLIC 'CODE' |
_TEXT ENDS |
DATA32 SEGMENT DWORD USE32 PUBLIC 'DATA' |
DATA32 ENDS |
_DATA SEGMENT DWORD USE32 PUBLIC 'DATA' |
_DATA ENDS |
CONST32 SEGMENT DWORD USE32 PUBLIC 'CONST' |
CONST32 ENDS |
CONST SEGMENT DWORD USE32 PUBLIC 'DATA' |
CONST ENDS |
BSS32 SEGMENT DWORD USE32 PUBLIC 'BSS' |
BSS32 ENDS |
_BSS SEGMENT DWORD USE32 PUBLIC 'BSS' |
_BSS ENDS |
DGROUP GROUP CONST32, BSS32, DATA32 |
DGROUP GROUP CONST,_DATA,_BSS |
DATA32 SEGMENT DWORD USE32 PUBLIC 'DATA' |
_DATA SEGMENT DWORD USE32 PUBLIC 'DATA' |
fdiv_risc_table DB 0, 1, 0, 0, 4, 0, 0, 7, 0, 0, 10, 0, 0, 13, 0, 0 |
fdiv_scale_1 DD 03f700000h ;0.9375 |
252,7 → 252,7 |
DD offset label62 |
DD offset label63 |
DATA32 ENDS |
_DATA ENDS |
_TEXT SEGMENT DWORD USE32 PUBLIC 'CODE' |
/programs/develop/open watcom/trunk/clib/fpu/chipr32.asm |
---|
63,7 → 63,7 |
ENDM |
DATA32 SEGMENT DWORD USE32 PUBLIC 'DATA' |
_DATA SEGMENT DWORD USE32 PUBLIC 'DATA' |
; |
; Stack variables for remainder routines. |
123,26 → 123,18 |
ENV_SIZE EQU 28 |
DATA32 ENDS |
_DATA ENDS |
_TEXT SEGMENT DWORD USE32 PUBLIC 'CODE' |
_TEXT ENDS |
DATA32 SEGMENT DWORD USE32 PUBLIC 'DATA' |
DATA32 ENDS |
CONST32 SEGMENT DWORD USE32 PUBLIC 'CONST' |
CONST32 ENDS |
DGROUP GROUP _DATA |
BSS32 SEGMENT DWORD USE32 PUBLIC 'BSS' |
BSS32 ENDS |
DGROUP GROUP CONST32, BSS32, DATA32 |
_TEXT SEGMENT DWORD USE32 PUBLIC 'CODE' |
CODE32 SEGMENT DWORD USE32 PUBLIC 'CODE' |
assume cs:_TEXT, ds:DGROUP, es:DGROUP, ss:nothing |
847,5 → 839,5 |
fpinit ENDP |
endif |
CODE32 ENDS |
_TEXT ENDS |
END |
/programs/develop/open watcom/trunk/clib/h/kolibri.h |
---|
23,6 → 23,7 |
#define FILE_NOT_FOUND 5 |
#define FILE_EOF 6 |
#if 0 |
typedef unsigned int DWORD; |
typedef unsigned short int WORD; |
62,10 → 63,6 |
DWORD size_high; |
} FILEINFO; |
void _stdcall InitHeap(int heap_size); |
void* _stdcall UserAlloc(int size); |
int _stdcall UserFree(void* p); |
void _stdcall GetNotify(void *event); |
void _stdcall CreateThread(void *fn, char *p_stack); |
85,7 → 82,8 |
int _cdecl get_button_id(); |
void delay(int val); |
//void delay(int val); |
int wait_for_event(int time); |
int wait_for_event_infinite(); |
void BeginDraw(void); |
99,6 → 97,37 |
void _stdcall draw_bar(int x, int y, int xsize, int ysize, int color); |
void _stdcall write_text(int x,int y,int color,char* text,int len); |
#endif |
unsigned init_heap(void); |
#pragma aux init_heap = \ |
"mov EAX, 68" \ |
"mov EBX, 11" \ |
"int 0x40" \ |
value [EAX] \ |
modify [ EBX ]; |
void *user_alloc(unsigned size); |
void *user_alloc(unsigned size); |
#pragma aux user_alloc = \ |
"mov EAX, 68" \ |
"mov EBX, 12" \ |
"int 0x40" \ |
parm [ ECX ] value [EAX] \ |
modify [ EBX ]; |
unsigned user_free(void *); |
#pragma aux user_free = \ |
"mov EAX, 68" \ |
"mov EBX, 13" \ |
"int 0x40" \ |
parm [ ECX ] value [EAX] \ |
modify [ EBX ]; |
#ifdef __cplusplus |
extern "C" |
} |
/programs/develop/open watcom/trunk/clib/h/locales.h |
---|
0,0 → 1,37 |
/**************************************************************************** |
* |
* Open Watcom Project |
* |
* Portions Copyright (c) 1983-2002 Sybase, Inc. All Rights Reserved. |
* |
* ======================================================================== |
* |
* This file contains Original Code and/or Modifications of Original |
* Code as defined in and that are subject to the Sybase Open Watcom |
* Public License version 1.0 (the 'License'). You may not use this file |
* except in compliance with the License. BY USING THIS FILE YOU AGREE TO |
* ALL TERMS AND CONDITIONS OF THE LICENSE. A copy of the License is |
* provided with the Original Code and Modifications, and is also |
* available at www.sybase.com/developer/opensource. |
* |
* The Original Code and all software distributed under the License are |
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER |
* EXPRESS OR IMPLIED, AND SYBASE AND ALL CONTRIBUTORS HEREBY DISCLAIM |
* ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF |
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR |
* NON-INFRINGEMENT. Please see the License for the specific language |
* governing rights and limitations under the License. |
* |
* ======================================================================== |
* |
* Description: WHEN YOU FIGURE OUT WHAT THIS FILE DOES, PLEASE |
* DESCRIBE IT HERE! |
* |
****************************************************************************/ |
/* locales.h */ |
#define C_LOCALE 0 |
#define NATIVE_LOCALE 1 |
#define INVALID_LOCALE 2 |
/programs/develop/open watcom/trunk/clib/h/localset.h |
---|
0,0 → 1,36 |
/**************************************************************************** |
* |
* Open Watcom Project |
* |
* Portions Copyright (c) 1983-2002 Sybase, Inc. All Rights Reserved. |
* |
* ======================================================================== |
* |
* This file contains Original Code and/or Modifications of Original |
* Code as defined in and that are subject to the Sybase Open Watcom |
* Public License version 1.0 (the 'License'). You may not use this file |
* except in compliance with the License. BY USING THIS FILE YOU AGREE TO |
* ALL TERMS AND CONDITIONS OF THE LICENSE. A copy of the License is |
* provided with the Original Code and Modifications, and is also |
* available at www.sybase.com/developer/opensource. |
* |
* The Original Code and all software distributed under the License are |
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER |
* EXPRESS OR IMPLIED, AND SYBASE AND ALL CONTRIBUTORS HEREBY DISCLAIM |
* ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF |
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR |
* NON-INFRINGEMENT. Please see the License for the specific language |
* governing rights and limitations under the License. |
* |
* ======================================================================== |
* |
* Description: WHEN YOU FIGURE OUT WHAT THIS FILE DOES, PLEASE |
* DESCRIBE IT HERE! |
* |
****************************************************************************/ |
extern char _LocaleSetting[]; |
#define _INITLOCALESETTING |
#define _LOCALESETTING _LocaleSetting |
/programs/develop/open watcom/trunk/clib/h/variety.h |
---|
291,3 → 291,6 |
#endif |
#endif |
#undef _WCRTLINKD |
#define _WCRTLINKD |
/programs/develop/open watcom/trunk/clib/handleio/creat.c |
---|
0,0 → 1,66 |
/**************************************************************************** |
* |
* Open Watcom Project |
* |
* Portions Copyright (c) 1983-2002 Sybase, Inc. All Rights Reserved. |
* |
* ======================================================================== |
* |
* This file contains Original Code and/or Modifications of Original |
* Code as defined in and that are subject to the Sybase Open Watcom |
* Public License version 1.0 (the 'License'). You may not use this file |
* except in compliance with the License. BY USING THIS FILE YOU AGREE TO |
* ALL TERMS AND CONDITIONS OF THE LICENSE. A copy of the License is |
* provided with the Original Code and Modifications, and is also |
* available at www.sybase.com/developer/opensource. |
* |
* The Original Code and all software distributed under the License are |
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER |
* EXPRESS OR IMPLIED, AND SYBASE AND ALL CONTRIBUTORS HEREBY DISCLAIM |
* ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF |
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR |
* NON-INFRINGEMENT. Please see the License for the specific language |
* governing rights and limitations under the License. |
* |
* ======================================================================== |
* |
* Description: Platform independent implementation of creat(). |
* |
****************************************************************************/ |
#include "variety.h" |
#include "widechar.h" |
#include <stdio.h> |
#include <errno.h> |
#include <unistd.h> |
#include <fcntl.h> |
#include <sys/types.h> |
#include <sys/stat.h> |
#include "seterrno.h" |
/* file attributes */ |
#define _A_RDONLY 0x01 |
_WCRTLINK int __F_NAME(creat,_wcreat)( const CHAR_TYPE *name, mode_t pmode ) |
{ |
#ifndef __NETWARE__ |
return( __F_NAME(open,_wopen)( name, O_RDWR | O_CREAT | O_TRUNC, pmode ) ); |
#else |
int acc; |
acc = O_CREAT | O_TRUNC; |
if( (pmode & S_IWRITE) && (pmode & S_IREAD) ) { |
acc |= O_RDWR; |
} else if( pmode & S_IWRITE ) { |
acc |= O_WRONLY; |
} else if( pmode & S_IREAD ) { |
acc |= O_RDONLY; |
} else if( !pmode ) { |
acc |= O_RDWR; |
} |
return( __F_NAME(open,_wopen)( name, acc, pmode ) ); |
#endif |
} |
/programs/develop/open watcom/trunk/clib/handleio/eof.c |
---|
0,0 → 1,56 |
/**************************************************************************** |
* |
* Open Watcom Project |
* |
* Portions Copyright (c) 1983-2002 Sybase, Inc. All Rights Reserved. |
* |
* ======================================================================== |
* |
* This file contains Original Code and/or Modifications of Original |
* Code as defined in and that are subject to the Sybase Open Watcom |
* Public License version 1.0 (the 'License'). You may not use this file |
* except in compliance with the License. BY USING THIS FILE YOU AGREE TO |
* ALL TERMS AND CONDITIONS OF THE LICENSE. A copy of the License is |
* provided with the Original Code and Modifications, and is also |
* available at www.sybase.com/developer/opensource. |
* |
* The Original Code and all software distributed under the License are |
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER |
* EXPRESS OR IMPLIED, AND SYBASE AND ALL CONTRIBUTORS HEREBY DISCLAIM |
* ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF |
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR |
* NON-INFRINGEMENT. Please see the License for the specific language |
* governing rights and limitations under the License. |
* |
* ======================================================================== |
* |
* Description: WHEN YOU FIGURE OUT WHAT THIS FILE DOES, PLEASE |
* DESCRIBE IT HERE! |
* |
****************************************************************************/ |
#include "variety.h" |
#include <stdio.h> |
#include <unistd.h> |
#include "rtcheck.h" |
extern long filelength(int); |
extern long tell(int); |
_WCRTLINK int eof( int handle ) /* determine if at EOF */ |
{ |
long current_posn, file_len; |
__handle_check( handle, -1 ); |
file_len = filelength( handle ); |
if( file_len == -1L ) |
return( -1 ); |
current_posn = tell( handle ); |
if( current_posn == -1L ) |
return( -1 ); |
if( current_posn == file_len ) |
return( 1 ); |
return( 0 ); |
} |
/programs/develop/open watcom/trunk/clib/heap/grownear.c |
---|
29,7 → 29,6 |
****************************************************************************/ |
//#include "dll.h" // needs to be first |
#include "variety.h" |
#include <stddef.h> |
#include <stdlib.h> |
45,9 → 44,7 |
// #include "tinyio.h" |
#endif |
#if defined(__WINDOWS_286__) || defined(__NT__) |
void* _stdcall UserAlloc(int size); |
// #include "windows.h" |
#include "kolibri.h" |
#endif |
#if defined(__OS2__) |
// #include <wos2.h> |
404,7 → 401,7 |
#elif defined(__NT__) |
// brk_value = (unsigned) VirtualAlloc( NULL, amount, MEM_COMMIT, |
// PAGE_EXECUTE_READWRITE ); |
brk_value = (unsigned) UserAlloc (amount ); |
brk_value = (unsigned) user_alloc(amount ); |
//brk_value = (unsigned) LocalAlloc( LMEM_FIXED, amount ); |
if( brk_value == 0 ) { |
/programs/develop/open watcom/trunk/clib/heap/nheapmin.c |
---|
29,7 → 29,6 |
****************************************************************************/ |
//#include "dll.h" // needs to be first |
#include "variety.h" |
#include <stddef.h> |
#include <stdlib.h> |
40,8 → 39,7 |
// #include "extender.h" |
#endif |
#if defined(__WINDOWS_286__) || defined(__NT__) |
int _stdcall UserFree(void* p); |
// #include "windows.h" |
#include "kolibri.h" |
#endif |
#if defined(__OS2__) |
// #include <wos2.h> |
77,42 → 75,7 |
defined(__WINDOWS_386__) || \ |
defined(__NT__) || \ |
defined(__CALL21__) |
static int __ReturnMemToSystem( mheapptr mhp ) |
{ |
mheapptr pnext; |
pnext = mhp->next; |
#if defined(__WARP__) |
if( DosFreeMem( (PBYTE)mhp ) ) return( -1 ); |
#elif defined(__NT__) |
//if( LocalFree( (HLOCAL)mhp ) != NULL ) return( -1 ); |
// if (!VirtualFree(mhp, 0, MEM_RELEASE)) |
// return -1; |
if(!UserFree(mhp)) |
return -1; |
#elif defined(__WINDOWS_386__) |
if( DPMIFree( (unsigned long)mhp ) != 0 ) return( -1 ); |
#elif defined(__WINDOWS_286__) |
if( LocalFree( (HLOCAL)mhp ) != NULL ) return( -1 ); |
#elif defined(__CALL21__) |
// No way to free storage under OSI |
if( mhp ) return( -1 ); |
#endif |
if( __MiniHeapRover == mhp ) { // Update rovers |
if( pnext ) { |
__MiniHeapRover = pnext; |
} else { |
__MiniHeapRover = __nheapbeg; |
__LargestSizeB4MiniHeapRover = 0; |
} |
} |
if( __MiniHeapFreeRover == mhp ) { |
__MiniHeapFreeRover = 0; |
} |
return( 0 ); // success |
} |
static void __ReleaseMiniHeap( mheapptr mhp ) |
{ |
mheapptr pprev; |
120,7 → 83,7 |
pprev = mhp->prev; |
pnext = mhp->next; |
if( __ReturnMemToSystem( mhp ) == 0 ) { |
if( user_free( mhp ) == 1 ) { |
if( pprev == NULL ) { |
__nheapbeg = pnext; |
} else { |
/programs/develop/open watcom/trunk/clib/heap/sbrkwnt.c |
---|
35,11 → 35,10 |
#include <stdlib.h> |
#include <errno.h> |
#include <dos.h> |
//#include <windows.h> |
#include "kolibri.h" |
void* _stdcall UserAlloc(int size); |
void* user_alloc(unsigned size); |
extern unsigned _curbrk; |
extern unsigned _STACKTOP; |
52,7 → 51,7 |
increment = ( increment + 0x0fff ) & ~0x0fff; |
//p = LocalAlloc( LMEM_FIXED, increment ); |
//p = VirtualAlloc(NULL, increment, MEM_COMMIT,PAGE_EXECUTE_READWRITE); |
p = UserAlloc(increment); |
p = user_alloc(increment); |
if( p != NULL ) return( p ); |
errno = ENOMEM; |
} |
/programs/develop/open watcom/trunk/clib/misc/locale.c |
---|
0,0 → 1,46 |
/**************************************************************************** |
* |
* Open Watcom Project |
* |
* Portions Copyright (c) 1983-2002 Sybase, Inc. All Rights Reserved. |
* |
* ======================================================================== |
* |
* This file contains Original Code and/or Modifications of Original |
* Code as defined in and that are subject to the Sybase Open Watcom |
* Public License version 1.0 (the 'License'). You may not use this file |
* except in compliance with the License. BY USING THIS FILE YOU AGREE TO |
* ALL TERMS AND CONDITIONS OF THE LICENSE. A copy of the License is |
* provided with the Original Code and Modifications, and is also |
* available at www.sybase.com/developer/opensource. |
* |
* The Original Code and all software distributed under the License are |
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER |
* EXPRESS OR IMPLIED, AND SYBASE AND ALL CONTRIBUTORS HEREBY DISCLAIM |
* ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF |
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR |
* NON-INFRINGEMENT. Please see the License for the specific language |
* governing rights and limitations under the License. |
* |
* ======================================================================== |
* |
* Description: WHEN YOU FIGURE OUT WHAT THIS FILE DOES, PLEASE |
* DESCRIBE IT HERE! |
* |
****************************************************************************/ |
#include "variety.h" |
#include "locales.h" |
char _LocaleSetting[] = { |
/* QNX */ |
C_LOCALE, /* LC_TYPE */ |
C_LOCALE, /* LC_NUMERIC */ |
C_LOCALE, /* LC_TIME */ |
C_LOCALE, /* LC_COLLATE */ |
C_LOCALE, /* LC_MONETARY */ |
C_LOCALE, /* LC_MESSAGES */ |
C_LOCALE /* LC_ALL */ |
}; |
/programs/develop/open watcom/trunk/clib/misc/setlocal.c |
---|
0,0 → 1,89 |
/**************************************************************************** |
* |
* Open Watcom Project |
* |
* Portions Copyright (c) 1983-2002 Sybase, Inc. All Rights Reserved. |
* |
* ======================================================================== |
* |
* This file contains Original Code and/or Modifications of Original |
* Code as defined in and that are subject to the Sybase Open Watcom |
* Public License version 1.0 (the 'License'). You may not use this file |
* except in compliance with the License. BY USING THIS FILE YOU AGREE TO |
* ALL TERMS AND CONDITIONS OF THE LICENSE. A copy of the License is |
* provided with the Original Code and Modifications, and is also |
* available at www.sybase.com/developer/opensource. |
* |
* The Original Code and all software distributed under the License are |
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER |
* EXPRESS OR IMPLIED, AND SYBASE AND ALL CONTRIBUTORS HEREBY DISCLAIM |
* ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF |
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR |
* NON-INFRINGEMENT. Please see the License for the specific language |
* governing rights and limitations under the License. |
* |
* ======================================================================== |
* |
* Description: WHEN YOU FIGURE OUT WHAT THIS FILE DOES, PLEASE |
* DESCRIBE IT HERE! |
* |
****************************************************************************/ |
#include "variety.h" |
#include "widechar.h" |
#include <stdio.h> |
#include <string.h> |
#include <locale.h> |
#include "locales.h" |
#include "localset.h" |
#ifdef __WIDECHAR__ |
static wchar_t *ValidLocales[] = { |
L"C", /* C_LOCALE */ |
L"", /* NATIVE_LOCALE */ |
NULL /* INVALID_LOCALE */ |
}; |
#else |
static char *ValidLocales[] = { |
"C", /* C_LOCALE */ |
"", /* NATIVE_LOCALE */ |
NULL /* INVALID_LOCALE */ |
}; |
#endif |
_WCRTLINK CHAR_TYPE *__F_NAME(setlocale,_wsetlocale)( int category, CHAR_TYPE const *locale ) |
{ |
register int i; |
_INITLOCALESETTING |
if( category < LC_CTYPE || category > LC_ALL ) { |
return( NULL ); |
} |
if( locale == NULL ) { |
i = _LOCALESETTING[category]; |
} else { |
i = C_LOCALE; |
if( *locale != __F_NAME('\0',L'\0') ) { |
for( ; ValidLocales[i]; ++i ) { |
if( __F_NAME(strcmp,wcscmp)( locale, ValidLocales[i] ) == 0 ) break; |
} |
} |
if( i != INVALID_LOCALE ) { |
_LOCALESETTING[category] = i; |
if( category == LC_ALL ) { |
_LOCALESETTING[LC_COLLATE] = i; |
_LOCALESETTING[LC_CTYPE] = i; |
_LOCALESETTING[LC_NUMERIC] = i; |
_LOCALESETTING[LC_TIME] = i; |
_LOCALESETTING[LC_MONETARY] = i; |
#if defined( __UNIX__ ) |
_LOCALESETTING[LC_MESSAGES] = i; |
#endif |
} |
} |
} |
return( ValidLocales[ i ] ); |
} |