Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 703 → Rev 704

/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 ] );
}