Skip to content

Commit 7badd49

Browse files
committed
mapi_lib: compact rtf.cpp
1 parent 7e8ce0c commit 7badd49

File tree

1 file changed

+34
-104
lines changed

1 file changed

+34
-104
lines changed

lib/mapi/rtf.cpp

Lines changed: 34 additions & 104 deletions
Original file line numberDiff line numberDiff line change
@@ -1687,9 +1687,7 @@ int rtf_reader::cmd_fs(SIMPLE_TREE_NODE *pword, int align,
16871687
if (!have_param)
16881688
return CMD_RESULT_CONTINUE;
16891689
num /= 2;
1690-
if (!astk_pushx(ATTR_FONTSIZE, num))
1691-
return CMD_RESULT_ERROR;
1692-
return CMD_RESULT_CONTINUE;
1690+
return astk_pushx(ATTR_FONTSIZE, num) ? CMD_RESULT_CONTINUE : CMD_RESULT_ERROR;
16931691
}
16941692

16951693
int rtf_reader::cmd_field(SIMPLE_TREE_NODE *pword,
@@ -1771,9 +1769,7 @@ int rtf_reader::cmd_f(SIMPLE_TREE_NODE *pword, int align,
17711769
auto pentry = lookup_font(num);
17721770
if (pentry == nullptr || strcasestr(pentry->name, "symbol") != nullptr)
17731771
return CMD_RESULT_CONTINUE;
1774-
if (!astk_pushx(ATTR_FONTFACE, num))
1775-
return CMD_RESULT_ERROR;
1776-
return CMD_RESULT_CONTINUE;
1772+
return astk_pushx(ATTR_FONTFACE, num) ? CMD_RESULT_CONTINUE : CMD_RESULT_ERROR;
17771773
}
17781774

17791775
int rtf_reader::cmd_deff(SIMPLE_TREE_NODE *pword,
@@ -1823,65 +1819,49 @@ int rtf_reader::cmd_tab(SIMPLE_TREE_NODE *pword, int align,
18231819
int rtf_reader::cmd_plain(SIMPLE_TREE_NODE *pword,
18241820
int align, bool have_param, int num)
18251821
{
1826-
if (!astk_popx_all())
1827-
return CMD_RESULT_ERROR;
1828-
return CMD_RESULT_CONTINUE;
1822+
return astk_popx_all() ? CMD_RESULT_CONTINUE : CMD_RESULT_ERROR;
18291823
}
18301824

18311825
int rtf_reader::cmd_fnil(SIMPLE_TREE_NODE *pword,
18321826
int align, bool have_param, int num)
18331827
{
1834-
if (!astk_pushx(ATTR_FONTFACE, -1))
1835-
return CMD_RESULT_ERROR;
1836-
return CMD_RESULT_CONTINUE;
1828+
return astk_pushx(ATTR_FONTFACE, -1) ? CMD_RESULT_CONTINUE : CMD_RESULT_ERROR;
18371829
}
18381830

18391831
int rtf_reader::cmd_froman(SIMPLE_TREE_NODE *pword,
18401832
int align, bool have_param, int num)
18411833
{
1842-
if (!astk_pushx(ATTR_FONTFACE, -2))
1843-
return CMD_RESULT_ERROR;
1844-
return CMD_RESULT_CONTINUE;
1834+
return astk_pushx(ATTR_FONTFACE, -2) ? CMD_RESULT_CONTINUE : CMD_RESULT_ERROR;
18451835
}
18461836

18471837
int rtf_reader::cmd_fswiss(SIMPLE_TREE_NODE *pword,
18481838
int align, bool have_param, int num)
18491839
{
1850-
if (!astk_pushx(ATTR_FONTFACE, -3))
1851-
return CMD_RESULT_ERROR;
1852-
return CMD_RESULT_CONTINUE;
1840+
return astk_pushx(ATTR_FONTFACE, -3) ? CMD_RESULT_CONTINUE : CMD_RESULT_ERROR;
18531841
}
18541842

18551843
int rtf_reader::cmd_fmodern(SIMPLE_TREE_NODE *pword,
18561844
int align, bool have_param, int num)
18571845
{
1858-
if (!astk_pushx(ATTR_FONTFACE, -4))
1859-
return CMD_RESULT_ERROR;
1860-
return CMD_RESULT_CONTINUE;
1846+
return astk_pushx(ATTR_FONTFACE, -4) ? CMD_RESULT_CONTINUE : CMD_RESULT_ERROR;
18611847
}
18621848

18631849
int rtf_reader::cmd_fscript(SIMPLE_TREE_NODE *pword,
18641850
int align, bool have_param, int num)
18651851
{
1866-
if (!astk_pushx(ATTR_FONTFACE, -5))
1867-
return CMD_RESULT_ERROR;
1868-
return CMD_RESULT_CONTINUE;
1852+
return astk_pushx(ATTR_FONTFACE, -5) ? CMD_RESULT_CONTINUE : CMD_RESULT_ERROR;
18691853
}
18701854

18711855
int rtf_reader::cmd_fdecor(SIMPLE_TREE_NODE *pword,
18721856
int align, bool have_param, int num)
18731857
{
1874-
if (!astk_pushx(ATTR_FONTFACE, -6))
1875-
return CMD_RESULT_ERROR;
1876-
return CMD_RESULT_CONTINUE;
1858+
return astk_pushx(ATTR_FONTFACE, -6) ? CMD_RESULT_CONTINUE : CMD_RESULT_ERROR;
18771859
}
18781860

18791861
int rtf_reader::cmd_ftech(SIMPLE_TREE_NODE *pword,
18801862
int align, bool have_param, int num)
18811863
{
1882-
if (!astk_pushx(ATTR_FONTFACE, -7))
1883-
return CMD_RESULT_ERROR;
1884-
return CMD_RESULT_CONTINUE;
1864+
return astk_pushx(ATTR_FONTFACE, -7) ? CMD_RESULT_CONTINUE : CMD_RESULT_ERROR;
18851865
}
18861866

18871867
int rtf_reader::cmd_expand(SIMPLE_TREE_NODE *pword,
@@ -2055,9 +2035,8 @@ int rtf_reader::cmd_par(SIMPLE_TREE_NODE *pword, int align,
20552035
{
20562036
auto preader = this;
20572037
if (preader->have_fromhtml) {
2058-
if (preader->ext_push.p_bytes("\r\n", 2) != EXT_ERR_SUCCESS)
2059-
return CMD_RESULT_ERROR;
2060-
return CMD_RESULT_CONTINUE;
2038+
return preader->ext_push.p_bytes("\r\n", 2) == pack_result::ok ?
2039+
CMD_RESULT_CONTINUE : CMD_RESULT_ERROR;
20612040
}
20622041
if (preader->ext_push.p_bytes(TAG_LINE_BREAK,
20632042
sizeof(TAG_LINE_BREAK) - 1) != EXT_ERR_SUCCESS)
@@ -2093,9 +2072,7 @@ int rtf_reader::cmd_intbl(SIMPLE_TREE_NODE *pword,
20932072
{
20942073
auto preader = this;
20952074
preader->coming_pars_tabular ++;
2096-
if (check_for_table())
2097-
return CMD_RESULT_CONTINUE;
2098-
return CMD_RESULT_ERROR;
2075+
return check_for_table() ? CMD_RESULT_CONTINUE : CMD_RESULT_ERROR;
20992076
}
21002077

21012078
int rtf_reader::cmd_ulnone(SIMPLE_TREE_NODE *pword,
@@ -2122,89 +2099,67 @@ int rtf_reader::cmd_ul(SIMPLE_TREE_NODE *pword, int align,
21222099
{
21232100
if (b_param && num == 0)
21242101
return cmd_ulnone(pword, align, b_param, num);
2125-
if (!astk_pushx(ATTR_UNDERLINE, 0))
2126-
return CMD_RESULT_ERROR;
2127-
return CMD_RESULT_CONTINUE;
2102+
return astk_pushx(ATTR_UNDERLINE, 0) ? CMD_RESULT_CONTINUE : CMD_RESULT_ERROR;
21282103
}
21292104

21302105
int rtf_reader::cmd_uld(SIMPLE_TREE_NODE *pword, int align,
21312106
bool b_param, int num)
21322107
{
2133-
if (!astk_pushx(ATTR_DOUBLE_UL, 0))
2134-
return CMD_RESULT_ERROR;
2135-
return CMD_RESULT_CONTINUE;
2108+
return astk_pushx(ATTR_DOUBLE_UL, 0) ? CMD_RESULT_CONTINUE : CMD_RESULT_ERROR;
21362109
}
21372110

21382111
int rtf_reader::cmd_uldb(SIMPLE_TREE_NODE *pword,
21392112
int align, bool have_param, int num)
21402113
{
2141-
if (!astk_pushx(ATTR_DOT_UL, 0))
2142-
return CMD_RESULT_ERROR;
2143-
return CMD_RESULT_CONTINUE;
2114+
return astk_pushx(ATTR_DOT_UL, 0) ? CMD_RESULT_CONTINUE : CMD_RESULT_ERROR;
21442115
}
21452116

21462117
int rtf_reader::cmd_uldash(SIMPLE_TREE_NODE *pword,
21472118
int align, bool have_param, int num)
21482119
{
2149-
if (!astk_pushx(ATTR_DASH_UL, 0))
2150-
return CMD_RESULT_ERROR;
2151-
return CMD_RESULT_CONTINUE;
2120+
return astk_pushx(ATTR_DASH_UL, 0) ? CMD_RESULT_CONTINUE : CMD_RESULT_ERROR;
21522121
}
21532122

21542123
int rtf_reader::cmd_uldashd(SIMPLE_TREE_NODE *pword,
21552124
int align, bool have_param, int num)
21562125
{
2157-
if (!astk_pushx(ATTR_DOT_DASH_UL, 0))
2158-
return CMD_RESULT_ERROR;
2159-
return CMD_RESULT_CONTINUE;
2126+
return astk_pushx(ATTR_DOT_DASH_UL, 0) ? CMD_RESULT_CONTINUE : CMD_RESULT_ERROR;
21602127
}
21612128

21622129
int rtf_reader::cmd_uldashdd(SIMPLE_TREE_NODE *pword,
21632130
int align, bool have_param, int num)
21642131
{
2165-
if (!astk_pushx(ATTR_2DOT_DASH_UL, 0))
2166-
return CMD_RESULT_ERROR;
2167-
return CMD_RESULT_CONTINUE;
2132+
return astk_pushx(ATTR_2DOT_DASH_UL, 0) ? CMD_RESULT_CONTINUE : CMD_RESULT_ERROR;
21682133
}
21692134

21702135
int rtf_reader::cmd_ulw(SIMPLE_TREE_NODE *pword, int align,
21712136
bool have_param, int num)
21722137
{
2173-
if (!astk_pushx(ATTR_WORD_UL, 0))
2174-
return CMD_RESULT_ERROR;
2175-
return CMD_RESULT_CONTINUE;
2138+
return astk_pushx(ATTR_WORD_UL, 0) ? CMD_RESULT_CONTINUE : CMD_RESULT_ERROR;
21762139
}
21772140

21782141
int rtf_reader::cmd_ulth(SIMPLE_TREE_NODE *pword,
21792142
int align, bool have_param, int num)
21802143
{
2181-
if (!astk_pushx(ATTR_THICK_UL, 0))
2182-
return CMD_RESULT_ERROR;
2183-
return CMD_RESULT_CONTINUE;
2144+
return astk_pushx(ATTR_THICK_UL, 0) ? CMD_RESULT_CONTINUE : CMD_RESULT_ERROR;
21842145
}
21852146

21862147
int rtf_reader::cmd_ulthd(SIMPLE_TREE_NODE *pword,
21872148
int align, bool have_param, int num)
21882149
{
2189-
if (!astk_pushx(ATTR_THICK_UL, 0))
2190-
return CMD_RESULT_ERROR;
2191-
return CMD_RESULT_CONTINUE;
2150+
return astk_pushx(ATTR_THICK_UL, 0) ? CMD_RESULT_CONTINUE : CMD_RESULT_ERROR;
21922151
}
21932152

21942153
int rtf_reader::cmd_ulthdash(SIMPLE_TREE_NODE *pword,
21952154
int align, bool have_param, int num)
21962155
{
2197-
if (!astk_pushx(ATTR_THICK_UL, 0))
2198-
return CMD_RESULT_ERROR;
2199-
return CMD_RESULT_CONTINUE;
2156+
return astk_pushx(ATTR_THICK_UL, 0) ? CMD_RESULT_CONTINUE : CMD_RESULT_ERROR;
22002157
}
22012158

22022159
int rtf_reader::cmd_ulwave(SIMPLE_TREE_NODE *pword,
22032160
int align, bool have_param, int num)
22042161
{
2205-
if (!astk_pushx(ATTR_WAVE_UL, 0))
2206-
return CMD_RESULT_ERROR;
2207-
return CMD_RESULT_CONTINUE;
2162+
return astk_pushx(ATTR_WAVE_UL, 0) ? CMD_RESULT_CONTINUE : CMD_RESULT_ERROR;
22082163
}
22092164

22102165
int rtf_reader::cmd_strike(SIMPLE_TREE_NODE *pword,
@@ -2276,9 +2231,7 @@ int rtf_reader::cmd_u(SIMPLE_TREE_NODE *pword, int align,
22762231
int rtf_reader::cmd_uc(SIMPLE_TREE_NODE *pword, int align,
22772232
bool have_param, int num)
22782233
{
2279-
if (!astk_pushx(ATTR_UBYTES, num))
2280-
return CMD_RESULT_ERROR;
2281-
return CMD_RESULT_CONTINUE;
2234+
return astk_pushx(ATTR_UBYTES, num) ? CMD_RESULT_CONTINUE : CMD_RESULT_ERROR;
22822235
}
22832236

22842237
int rtf_reader::cmd_dn(SIMPLE_TREE_NODE *pword, int align,
@@ -2297,9 +2250,8 @@ int rtf_reader::cmd_dn(SIMPLE_TREE_NODE *pword, int align,
22972250
int rtf_reader::cmd_nosupersub(SIMPLE_TREE_NODE *pword,
22982251
int align, bool have_param, int num)
22992252
{
2300-
if (!astk_popx(ATTR_SUPER) || !astk_popx(ATTR_SUB))
2301-
return CMD_RESULT_ERROR;
2302-
return CMD_RESULT_CONTINUE;
2253+
return astk_popx(ATTR_SUPER) && astk_popx(ATTR_SUB) ?
2254+
CMD_RESULT_CONTINUE : CMD_RESULT_ERROR;
23032255
}
23042256

23052257
int rtf_reader::cmd_super(SIMPLE_TREE_NODE *pword,
@@ -2544,35 +2496,13 @@ int rtf_reader::cmd_wmetafile(SIMPLE_TREE_NODE *pword,
25442496
if (!preader->is_within_picture || !have_param)
25452497
return CMD_RESULT_CONTINUE;
25462498
preader->picture_wmf_type = num;
2547-
switch (num) {
2548-
case 1:
2549-
preader->picture_wmf_str = "MM_TEXT";
2550-
break;
2551-
case 2:
2552-
preader->picture_wmf_str = "MM_LOMETRIC";
2553-
break;
2554-
case 3:
2555-
preader->picture_wmf_str = "MM_HIMETRIC";
2556-
break;
2557-
case 4:
2558-
preader->picture_wmf_str = "MM_LOENGLISH";
2559-
break;
2560-
case 5:
2561-
preader->picture_wmf_str = "MM_HIENGLISH";
2562-
break;
2563-
case 6:
2564-
preader->picture_wmf_str = "MM_TWIPS";
2565-
break;
2566-
case 7:
2567-
preader->picture_wmf_str = "MM_ISOTROPIC";
2568-
break;
2569-
case 8:
2570-
preader->picture_wmf_str = "MM_ANISOTROPIC";
2571-
break;
2572-
default:
2573-
preader->picture_wmf_str = "default:MM_TEXT";
2574-
break;
2575-
}
2499+
static const char *pws[] = {
2500+
"default:MM_TEXT", "MM_TEXT", "MM_LOMETRIC", "MM_HIMETRIC",
2501+
"MM_LOENGLISH", "MM_HIENGLISH", "MM_TWIPS", "MM_ISOTROPIC",
2502+
"MM_ANISOTROPIC"
2503+
};
2504+
preader->picture_wmf_str = num >= 0 && static_cast<size_t>(num) < std::size(pws) ?
2505+
pws[num] : pws[0];
25762506
return CMD_RESULT_CONTINUE;
25772507
}
25782508

0 commit comments

Comments
 (0)