terminology: factorise some code and help the compiler figure out which branch is the most likely one.

This commit is contained in:
Cedric Bail 2013-10-28 18:55:53 +09:00
parent 433b18b211
commit 964e1f39a9
1 changed files with 13 additions and 25 deletions

View File

@ -204,7 +204,7 @@ _termpty_text_append(Termpty *ty, const Eina_Unicode *codepoints, int len)
&(cells[ty->state.cx]), 1);
#if defined(SUPPORT_DBLWIDTH)
cells[ty->state.cx].att.dblwidth = _termpty_is_dblwidth_get(ty, g);
if ((cells[ty->state.cx].att.dblwidth) && (ty->state.cx < (ty->w - 1)))
if (EINA_UNLIKELY((cells[ty->state.cx].att.dblwidth) && (ty->state.cx < (ty->w - 1))))
{
TERMPTY_FMTCLR(cells[ty->state.cx].att);
termpty_cell_codepoint_att_fill(ty, 0, cells[ty->state.cx].att,
@ -213,44 +213,32 @@ _termpty_text_append(Termpty *ty, const Eina_Unicode *codepoints, int len)
#endif
if (ty->state.wrap)
{
unsigned char offset = 1;
ty->state.wrapnext = 0;
#if defined(SUPPORT_DBLWIDTH)
if (cells[ty->state.cx].att.dblwidth)
{
if (ty->state.cx >= (ty->w - 2)) ty->state.wrapnext = 1;
else ty->state.cx += 2;
}
else
{
if (ty->state.cx >= (ty->w - 1)) ty->state.wrapnext = 1;
else ty->state.cx++;
}
#else
if (ty->state.cx >= (ty->w - 1)) ty->state.wrapnext = 1;
else ty->state.cx++;
if (EINA_UNLIKELY(cells[ty->state.cx].att.dblwidth))
offset = 2;
#endif
if (EINA_UNLIKELY(ty->state.cx >= (ty->w - offset))) ty->state.wrapnext = 1;
else ty->state.cx += offset;
}
else
{
unsigned char offset = 1;
ty->state.wrapnext = 0;
ty->state.cx++;
if (ty->state.cx >= (ty->w - 1)) return;
#if defined(SUPPORT_DBLWIDTH)
if (cells[ty->state.cx].att.dblwidth)
if (EINA_UNLIKELY(cells[ty->state.cx].att.dblwidth))
{
ty->state.cx++;
if (ty->state.cx >= (ty->w - 1))
ty->state.cx = ty->w - 2;
offset = 2;
}
else
{
if (ty->state.cx >= ty->w)
ty->state.cx = ty->w - 1;
}
#else
if (ty->state.cx >= ty->w)
ty->state.cx = ty->w - 1;
#endif
if (ty->state.cx >= (ty->w - (offset - 1)))
ty->state.cx = ty->w - offset;
}
}
}