ifix bug in paste at point - gramscii - A simple editor for ASCII box-and-arrow charts Err bitreich.org 70
1Log /scm/gramscii/log.gph bitreich.org 70
1Files /scm/gramscii/files.gph bitreich.org 70
1Refs /scm/gramscii/refs.gph bitreich.org 70
1Tags /scm/gramscii/tag bitreich.org 70
1README /scm/gramscii/file/README.md.gph bitreich.org 70
1LICENSE /scm/gramscii/file/COPYING.gph bitreich.org 70
i--- Err bitreich.org 70
1commit 6da2f3f89afda08eeba385da1c36414154113d47 /scm/gramscii/commit/6da2f3f89afda08eeba385da1c36414154113d47.gph bitreich.org 70
1parent eebc645dee0d15871d6cc46f156d424cd916b191 /scm/gramscii/commit/eebc645dee0d15871d6cc46f156d424cd916b191.gph bitreich.org 70
hAuthor: KatolaZ <katolaz@freaknet.org> URL:mailto:katolaz@freaknet.org bitreich.org 70
iDate: Tue, 30 Jul 2019 16:25:49 +0100 Err bitreich.org 70
i Err bitreich.org 70
ifix bug in paste at point Err bitreich.org 70
i Err bitreich.org 70
iDiffstat: Err bitreich.org 70
i M lineset.c | 15 ++++++++++++--- Err bitreich.org 70
i Err bitreich.org 70
i1 file changed, 12 insertions(+), 3 deletions(-) Err bitreich.org 70
i--- Err bitreich.org 70
1diff --git a/lineset.c b/lineset.c /scm/gramscii/file/lineset.c.gph bitreich.org 70
i@@ -102,16 +102,25 @@ void yank_region(int x1, int y1, int x2, int y2){ Err bitreich.org 70
i Err bitreich.org 70
i Err bitreich.org 70
i void paste_region(int x1, int y1){ Err bitreich.org 70
i- int i, curlen; Err bitreich.org 70
i+ int i, curlen, pastelen; Err bitreich.org 70
i Err bitreich.org 70
i i = y1; Err bitreich.org 70
i while( i < HEIGHT && i < y1 + cutbuf.num){ Err bitreich.org 70
i- memcpy(screen.l[i].s + x1, cutbuf.l[i-y1].s, strlen(cutbuf.l[i-y1].s)); Err bitreich.org 70
i+ pastelen = strlen(cutbuf.l[i-y1].s); Err bitreich.org 70
i curlen = strlen(screen.l[i].s); Err bitreich.org 70
i+ memcpy(screen.l[i].s + x1, cutbuf.l[i-y1].s, pastelen); Err bitreich.org 70
i if (curlen <= x1) Err bitreich.org 70
i /* double-check this line below */ Err bitreich.org 70
i- pad_line_to_length(screen.l[i].s+curlen, x1 - curlen); Err bitreich.org 70
i+ pad_line_to_length(screen.l[i].s + curlen, x1 - curlen); Err bitreich.org 70
i+ if (curlen <= x1 + pastelen) Err bitreich.org 70
i+ screen.l[i].s[x1 + pastelen] = '\0'; Err bitreich.org 70
i+ Err bitreich.org 70
i+ screen.l[i].lst = strlen(screen.l[i].s) - 1; Err bitreich.org 70
i+#ifdef DEBUG Err bitreich.org 70
i+ fprintf(stderr, "%d.lst: %d\n", i, screen.l[i].lst); Err bitreich.org 70
i+#endif Err bitreich.org 70
i i += 1; Err bitreich.org 70
i modified = 1; Err bitreich.org 70
i } Err bitreich.org 70
i+ redraw(); Err bitreich.org 70
i } Err bitreich.org 70
.
Response:
text/plain