- Single quotes are now handled properly (previously they were

inserted as [[']]).
- Better handling of callback function's results.
This commit is contained in:
Krzysztof Foltman 2005-03-08 19:01:25 +00:00 committed by Alexandre Julliard
parent 3137566631
commit 5c01752254
1 changed files with 11 additions and 3 deletions

View File

@ -95,7 +95,7 @@ int ansi_gen[] =
rtfSC_dollar ,'$',
rtfSC_percent ,'%',
rtfSC_ampersand ,'&',
rtfSC_quoteright ,'\\',
rtfSC_quoteright ,'\'',
rtfSC_parenleft ,'(',
rtfSC_parenright ,')',
rtfSC_asterisk ,'*',
@ -936,11 +936,19 @@ int _RTFGetChar(RTF_Info *info)
TRACE("\n");
/* if the last buffer wasn't full, it's EOF */
if (info->dwInputSize > 0 &&
info->dwInputSize == info->dwInputUsed && info->dwInputSize < sizeof(info->InputBuffer))
return EOF;
if (info->dwInputSize <= info->dwInputUsed)
{
long count = 0;
info->editstream.pfnCallback(info->editstream.dwCookie,
info->editstream.dwError = info->editstream.pfnCallback(info->editstream.dwCookie,
info->InputBuffer, sizeof(info->InputBuffer), &count);
/* if error, it's EOF */
if (info->editstream.dwError)
return EOF;
/* if no bytes read, it's EOF */
if(count == 0)
return EOF;
info->dwInputSize = count;