Win32: prevent video buffer overflow

This commit is contained in:
Ianos Gnatiuc 2005-12-13 11:16:01 +00:00
parent f915780378
commit 1e0b8065a2
2 changed files with 9 additions and 1 deletions

View File

@ -10,6 +10,8 @@ ______________________________________________________________________
Notes for GoldED+ 1.1.5, /snapshot/
______________________________________________________________________
- Win32: prevent video buffer overflow.
- Fixed thread list when replylinkfloat is on (incorrect name position).
- Now exists all variants of the AREAFILE token in config examples.

View File

@ -844,7 +844,7 @@ void vputs(int row, int col, int atr, const char* str) {
int i;
for(i = 0; *str; i++)
for(i = 0; *str && (i < gvid->numcols); i++)
gvid->bufwrd[i] = vcatch(*str++, atr);
if(i)
vputws(row, col, gvid->bufwrd, i);
@ -945,6 +945,9 @@ void vputns(int row, int col, int atr, const char* str, uint width) {
int i;
if (width > gvid->numcols)
width = gvid->numcols;
for(i = 0; (i < width) and *str; i++)
gvid->bufwrd[i] = vcatch(*str++, atr);
vatch filler = vcatch(fillchar, atr);
@ -1035,6 +1038,9 @@ void vputx(int row, int col, int atr, vchar chr, uint len) {
#elif defined(__WIN32__)
if (len > gvid->numcols)
len = gvid->numcols;
vatch filler = vcatch(chr, atr);
for(int i = 0; i < len; i++)
gvid->bufwrd[i] = filler;