Introduction
Introduction Statistics Contact Development Disclaimer Help
tled: call dir_context() less frequently in led_render() - neatvi - [fork] simp…
git clone git://src.adamsgaard.dk/neatvi
Log
Files
Refs
README
---
commit 85f9a4757722e1bc89d9e2ea84cdf98361e6899c
parent a1a91f49480b499d8ad0c64a37554e7677db483c
Author: Ali Gholami Rudi <[email protected]>
Date: Wed, 20 May 2015 19:06:21 +0430
led: call dir_context() less frequently in led_render()
Diffstat:
M led.c | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
---
diff --git a/led.c b/led.c
t@@ -30,6 +30,11 @@ int led_pos(char *s, int pos)
return dir_context(s) >= 0 ? pos : xcols - pos - 1;
}
+static int led_posctx(int dir, int pos)
+{
+ return dir >= 0 ? pos : xcols - pos - 1;
+}
+
char *led_keymap(char *kmap, int c)
{
return c >= 0 ? kmap_map(kmap, c) : NULL;
t@@ -43,6 +48,7 @@ static char *led_render(char *s0)
char **chrs; /* chrs[i]: the i-th character in s1 */
struct sbuf *out;
int i, j;
+ int ctx = dir_context(s0);
chrs = uc_chop(s0, &n);
pos = ren_position(s0);
off = malloc(xcols * sizeof(off[0]));
t@@ -52,9 +58,9 @@ static char *led_render(char *s0)
int curwid = ren_cwid(chrs[i], curpos);
if (curpos >= 0 && curpos + curwid < xcols) {
for (j = 0; j < curwid; j++) {
- off[led_pos(s0, curpos + j)] = i;
- if (led_pos(s0, curpos + j) > maxcol)
- maxcol = led_pos(s0, curpos + j);
+ off[led_posctx(ctx, curpos + j)] = i;
+ if (led_posctx(ctx, curpos + j) > maxcol)
+ maxcol = led_posctx(ctx, curpos + j);
}
}
}
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.