extern unsigned short int buffer[];
void add_to_buffer(int *bufptr,unsigned short int c) {
buffer[++(*bufptr)]=c;
- if (*bufptr > PARAGRAPH_BUFFER-2) {
+ if (*bufptr >= PARAGRAPH_BUFFER-2) {
buffer[++(*bufptr)]=0;
output_paragraph(buffer);
*bufptr=-1;
if (data_skip_mode == 0)
add_to_buffer(&bufptr,com.numarg);
i=groups[group_count].uc;
- while((--i)>0)
- fgetc(f);
+ while((--i)>0) {
+ int c=fgetc(f);
+ if (c == '\\') {
+ c = fgetc(f);
+ switch (c) {
+ case '\\': break;
+ case '\'':
+ /* skip two hex digits */
+ fgetc(f);
+ fgetc(f);
+ break;
+ default:
+ break;
+ }
+ }
+ }
+
break;
case RTF_PARA:
/*if (para_mode > 0) {*/