Skip to content

Commit a32cb0c

Browse files
authored
fix(merge): 末行唯一 \pard 被删除导致合并文件没有正确分页 (#115)
1 parent 047773b commit a32cb0c

4 files changed

Lines changed: 18 additions & 3 deletions

File tree

src/gb18030/merge_rtf.sas

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -499,7 +499,12 @@
499499
drop fst_sectd_found reg_sectd_id;
500500

501501
%if %sysevalf(&i < &mergeable_rtf_ref_max) %then %do; /*删除末尾的 }(结尾的 rtf 文件保留 })*/
502-
if end then delete;
502+
if end then do;
503+
if line = "}" then delete;
504+
else do;
505+
line = substr(line, 1, length(line) - 1); /*gh-114:不能直接删除末尾整行,应当只删除末尾最后一个 } 字符*/
506+
end;
507+
end;
503508
%end;
504509
run;
505510

src/gbk/merge_rtf.sas

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -499,7 +499,12 @@
499499
drop fst_sectd_found reg_sectd_id;
500500

501501
%if %sysevalf(&i < &mergeable_rtf_ref_max) %then %do; /*删除末尾的 }(结尾的 rtf 文件保留 })*/
502-
if end then delete;
502+
if end then do;
503+
if line = "}" then delete;
504+
else do;
505+
line = substr(line, 1, length(line) - 1); /*gh-114:不能直接删除末尾整行,应当只删除末尾最后一个 } 字符*/
506+
end;
507+
end;
503508
%end;
504509
run;
505510

src/utf16/merge_rtf.sas

446 Bytes
Binary file not shown.

src/utf8/merge_rtf.sas

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -499,7 +499,12 @@
499499
drop fst_sectd_found reg_sectd_id;
500500

501501
%if %sysevalf(&i < &mergeable_rtf_ref_max) %then %do; /*删除末尾的 }(结尾的 rtf 文件保留 })*/
502-
if end then delete;
502+
if end then do;
503+
if line = "}" then delete;
504+
else do;
505+
line = substr(line, 1, length(line) - 1); /*gh-114:不能直接删除末尾整行,应当只删除末尾最后一个 } 字符*/
506+
end;
507+
end;
503508
%end;
504509
run;
505510

0 commit comments

Comments
 (0)