Exemplo n.º 1
0
int SampWrite( void FAR_PTR *buff, unsigned len )
{
    unsigned    written;
    int         handle;
    int         rc;

    _fstrcpy( SampName, SharedMemory->SampName );
    if( SharedMemory->SampleHandle == 0 ) {
        handle = SysCreate( SampName );
        SharedMemory->SampleHandle = 1;
    } else {
        handle = SysOpen( SampName );
        if( handle >= 0 ) SysSeek( handle, SharedMemory->SampOffset );
    }
    if( handle == -1 ) {
        SharedMemory->FarWriteProblem = 1;
        return( -1 );
    }

    written = SysWrite( handle, buff, len );
    if( written == len ) {
        SharedMemory->SampOffset += len;
        rc = 0;
    } else {
        SysSeek( handle, SharedMemory->SampOffset );
        SysWrite( handle, "", 0 );
        SharedMemory->FarWriteProblem = 1;
        rc = -1;
    }
    SysClose( handle );
    return( rc );

} /* SampWrite */
Exemplo n.º 2
0
int  SampCreate( char *name )
{
    SampOffset = 0;
    SampIsDOS = FALSE;
    if( DOSPresent() ) {
        SampIsDOS = ( name[0] != '\0' && name[ 1 ] == ':' );
    }
    if( SampIsDOS ) {
        return( DOSCreate( name, &SampleHandle ) );
    } else {
        SampleHandle = SysCreate( name );
        return( SampleHandle == -1 );
    }
}