From: NeilBrown Date: Fri, 27 Nov 2015 05:06:08 +0000 (+1100) Subject: Add another check for a NULL string. X-Git-Tag: lca2016~153 X-Git-Url: http://git.neil.brown.name/?a=commitdiff_plain;h=1fe9d6f60928e668fa1d0ff0f5bb4916c27d7931;p=edlib.git Add another check for a NULL string. This allows render_line_prev to make more sense at end-of-doc. Signed-off-by: NeilBrown --- diff --git a/render-complete.c b/render-complete.c index e7cf4ad0..fb2aba54 100644 --- a/render-complete.c +++ b/render-complete.c @@ -101,7 +101,10 @@ DEF_CMD(render_complete_prev) break; } mark_free(ci3.mark); - cmp = strncmp(ci3.str, cd->prefix, plen); + if (ci3.str == NULL) + cmp = -1; + else + cmp = strncmp(ci3.str, cd->prefix, plen); if (cmp != 0 || ci2.numeric != 1 || ci->extra != 42) free(ci3.str); else @@ -155,7 +158,7 @@ DEF_CMD(complete_eol) int rpt = RPT_NUM(ci); if (rpt >= -1 && rpt <= 1) - /* movement with the line */ + /* movement within the line */ return 1; while (rpt < -1) { struct cmd_info ci2 = {0}; diff --git a/render-format.c b/render-format.c index 0a4435c4..543adacc 100644 --- a/render-format.c +++ b/render-format.c @@ -153,7 +153,7 @@ DEF_CMD(render_line_prev) struct mark *m = ci->mark; struct doc *d = doc_from_pane(ci->home); - if (RPT_NUM(ci) == 0 && doc_following(d, m) != WEOF) + if (RPT_NUM(ci) == 0) /* always at start-of-line */ return 1; if (mark_prev(d, m) == WEOF)