Пример #1
0
_WCNORETURN void _OutOfMemoryExit( void )
{
    _OutOfMemory();
    while( _MessageLoop( FALSE ) )
        ;
    _WindowsExitRtn = NULL;
    exit( 0 );
    // never return
}
Пример #2
0
/*
 * _DoStdout - put stuff to stdout
 */
unsigned _DoStdout( LPWDATA w, const void *buff, unsigned size )
{

    if( w == NULL ) return( 0 );
    if( !w->active) _MakeWindowActive( w );
    _AddLine( w, buff, size );
    _MessageLoop( TRUE );
    return( size );

} /* _DoStdout */
Пример #3
0
/*
 * _DoPutch - put a character to stdout
 */
void _DoPutch( LPWDATA w, unsigned ch )
{
    char tmp[2];

    if( w == NULL ) return;
    if( !w->active) _MakeWindowActive( w );
    tmp[0] = ch;
    tmp[1] = 0;
    _AddLine( w, tmp, 1 );
    _MessageLoop( TRUE );

} /* _DoPutch */
Пример #4
0
/*
 * _KeyboardHit - test for a waiting key
 */
int _KeyboardHit( BOOL block )
{
    if( keyTop != keyBottom )
        return( TRUE );
    if( block ) {
        _BlockingMessageLoop( TRUE );
    } else {
        _MessageLoop( TRUE );
    }
    if( keyTop != keyBottom )
        return( TRUE );
    return( FALSE );

} /* _KeyboardHit */
Пример #5
0
/*
 * _MemReAlloc - allocate some memory
 */
void _WCI86FAR *_MemReAlloc( void _WCI86FAR *ptr, unsigned size )
{
    void _WCI86FAR      *tmp;

    tmp = FARrealloc( ptr, size );
    if( tmp == NULL ) {
        _OutOfMemory();
        while( _MessageLoop( FALSE ) );
        _WindowsExitRtn = NULL;
        exit( 0 );
    }
    return( tmp );

} /* _MemReAlloc */
Пример #6
0
/*
 * _MemAlloc - allocate some memory
 */
void _WCI86FAR *_MemAlloc( unsigned size )
{
    void _WCI86FAR      *tmp;

    tmp = FARmalloc( size );
    if( tmp == NULL ) {
        _OutOfMemory();
        while( _MessageLoop( FALSE ) );
        _WindowsExitRtn = NULL;
        exit( 0 );
    }
    FARmemset( tmp, 0, size );
    return( tmp );

} /* _MemAlloc */
Пример #7
0
/*
 * _BlockingMessageLoop
*/
int _BlockingMessageLoop( BOOL doexit )
{
    MSG         msg;
    WORD        rc=1;

    rc = GetMessage( &msg, (HWND)NULL, 0, 0 );
    if( !rc ) {
        if( doexit ) {
            _WindowsExitRtn = NULL;
            exit( msg.wParam );
        }
    } else {
        TranslateMessage( &msg );
        DispatchMessage( &msg );
    }
    return( _MessageLoop( doexit ) );

} /* _BlockingMessageLoop */
Пример #8
0
/*
 * _YieldControl - Calls _MessageLoop to yeild control to OS.
 */
int _YieldControl( void )
{
    _MessageLoop( TRUE );
    return( TRUE );
} /* _YieldControl */