Fixed showmsg causing silent access violation exceptions on Windows (WinAPI function used does not accept NULL)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10176 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
87c0efdc89
commit
6aa16e2f75
@ -350,6 +350,7 @@ int VFPRINTF(HANDLE handle, const char *fmt, va_list argptr)
|
|||||||
// \033[2J - Clears the screen and moves the cursor to the home position (line 1, column 1).
|
// \033[2J - Clears the screen and moves the cursor to the home position (line 1, column 1).
|
||||||
uint8 num = (numbers[numpoint]>>4)*10+(numbers[numpoint]&0x0F);
|
uint8 num = (numbers[numpoint]>>4)*10+(numbers[numpoint]&0x0F);
|
||||||
int cnt;
|
int cnt;
|
||||||
|
uint32 tmp;
|
||||||
COORD origin = {0,0};
|
COORD origin = {0,0};
|
||||||
if(num==1)
|
if(num==1)
|
||||||
{ // chars from start up to and including cursor
|
{ // chars from start up to and including cursor
|
||||||
@ -365,8 +366,8 @@ int VFPRINTF(HANDLE handle, const char *fmt, va_list argptr)
|
|||||||
origin = info.dwCursorPosition;
|
origin = info.dwCursorPosition;
|
||||||
cnt = info.dwSize.X * (info.dwSize.Y - info.dwCursorPosition.Y) - info.dwCursorPosition.X;
|
cnt = info.dwSize.X * (info.dwSize.Y - info.dwCursorPosition.Y) - info.dwCursorPosition.X;
|
||||||
}
|
}
|
||||||
FillConsoleOutputAttribute(handle,info.wAttributes,cnt,origin,NULL);
|
FillConsoleOutputAttribute(handle, info.wAttributes, cnt, origin, &tmp);
|
||||||
FillConsoleOutputCharacter(handle,' ', cnt,origin,NULL);
|
FillConsoleOutputCharacter(handle, ' ', cnt, origin, &tmp);
|
||||||
}
|
}
|
||||||
else if( *q=='K' )
|
else if( *q=='K' )
|
||||||
{ // \033[K : clear line from actual position to end of the line
|
{ // \033[K : clear line from actual position to end of the line
|
||||||
@ -377,6 +378,7 @@ int VFPRINTF(HANDLE handle, const char *fmt, va_list argptr)
|
|||||||
uint8 num = (numbers[numpoint]>>4)*10+(numbers[numpoint]&0x0F);
|
uint8 num = (numbers[numpoint]>>4)*10+(numbers[numpoint]&0x0F);
|
||||||
COORD origin = {0,info.dwCursorPosition.Y};
|
COORD origin = {0,info.dwCursorPosition.Y};
|
||||||
SHORT cnt;
|
SHORT cnt;
|
||||||
|
uint32 tmp;
|
||||||
if(num==1)
|
if(num==1)
|
||||||
{
|
{
|
||||||
cnt = info.dwCursorPosition.X + 1;
|
cnt = info.dwCursorPosition.X + 1;
|
||||||
@ -390,8 +392,8 @@ int VFPRINTF(HANDLE handle, const char *fmt, va_list argptr)
|
|||||||
origin = info.dwCursorPosition;
|
origin = info.dwCursorPosition;
|
||||||
cnt = info.dwSize.X - info.dwCursorPosition.X; // how many spaces until line is full
|
cnt = info.dwSize.X - info.dwCursorPosition.X; // how many spaces until line is full
|
||||||
}
|
}
|
||||||
FillConsoleOutputAttribute(handle, info.wAttributes, cnt, origin, NULL);
|
FillConsoleOutputAttribute(handle, info.wAttributes, cnt, origin, &tmp);
|
||||||
FillConsoleOutputCharacter(handle, ' ', cnt, origin, NULL);
|
FillConsoleOutputCharacter(handle, ' ', cnt, origin, &tmp);
|
||||||
}
|
}
|
||||||
else if( *q == 'H' || *q == 'f' )
|
else if( *q == 'H' || *q == 'f' )
|
||||||
{ // \033[#;#H - Cursor Position (CUP)
|
{ // \033[#;#H - Cursor Position (CUP)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user