Ignore:
Timestamp:
Oct 23, 2000, 3:42:47 PM (25 years ago)
Author:
sandervl
Message:

Vio fix for high memory + fixes&updates for dll name lookup with extension

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kernel32/conbuffervio.cpp

    r4502 r4523  
    1 /* $Id: conbuffervio.cpp,v 1.1 2000-10-20 11:46:45 sandervl Exp $ */
     1/* $Id: conbuffervio.cpp,v 1.2 2000-10-23 13:42:40 sandervl Exp $ */
    22
    33/*
     
    100100  PCONSOLEBUFFER pConsoleBuffer = (PCONSOLEBUFFER)pHMHandleData->lpHandlerData;
    101101           ULONG ulCounter;                 /* counter for the byte transfer */
    102            PSZ   pszBuffer = (PSZ)lpBuffer;
     102           PSZ   pszBuffer;
    103103           char  filler[4] = {' ', 0x07, ' ', 0x07};
    104104  register UCHAR ucChar;
     
    125125
    126126  dprintf(("Current cursor position (%d,%d)", pConsoleBuffer->coordCursorPosition.X, pConsoleBuffer->coordCursorPosition.Y));
     127
     128  if(nNumberOfBytesToWrite > 1024)
     129  {
     130    int  tmp = 0;
     131    BOOL retcode;
     132
     133    while(nNumberOfBytesToWrite) {
     134        *lpNumberOfBytesWritten = 0;
     135        retcode = WriteFile(pHMHandleData, lpBuffer,
     136                            min(nNumberOfBytesToWrite, 512), lpNumberOfBytesWritten,
     137                            lpOverlapped);
     138        if(retcode != TRUE)     break;
     139
     140        tmp                   += *lpNumberOfBytesWritten;
     141        nNumberOfBytesToWrite -= *lpNumberOfBytesWritten;
     142        lpBuffer               = (LPCVOID)((char *)lpBuffer + *lpNumberOfBytesWritten);
     143    }
     144    *lpNumberOfBytesWritten = tmp;
     145    return retcode;
     146  }
     147  pszBuffer = (PSZ)alloca(nNumberOfBytesToWrite);
     148  if(pszBuffer == NULL) {
     149    DebugInt3();
     150    return FALSE;
     151  }
     152  memcpy(pszBuffer, lpBuffer, nNumberOfBytesToWrite);
    127153
    128154  ulCounter = 0;
Note: See TracChangeset for help on using the changeset viewer.