diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2022-05-13 22:30:37 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2022-05-13 22:30:37 -0700 |
commit | 9f8f7f84e4aef81b3329edefdbc9d3010e269b3c (patch) | |
tree | 3ce7b2de98380fb7c0b7dff82f05385c3e4f25a8 | |
parent | 799957d64606e79c905d1667e48b9c1540d086d9 (diff) | |
download | pw-9f8f7f84e4aef81b3329edefdbc9d3010e269b3c.tar.gz pw-9f8f7f84e4aef81b3329edefdbc9d3010e269b3c.tar.bz2 pw-9f8f7f84e4aef81b3329edefdbc9d3010e269b3c.zip |
When cmdbuf used for result, set cursor position to EOL.
-rw-r--r-- | pw.c | 18 |
1 files changed, 10 insertions, 8 deletions
@@ -1180,7 +1180,7 @@ int main(int argc, char **argv) kbd_lcmd, kbd_result }; int auto_quit = 1; - int quit_count = 1, quit_countdown = quit_count; + int quit_count = 1, quit_cntdwn = quit_count; int exit_status = EXIT_FAILURE; #ifdef SIGWINCH static struct sigaction sa; @@ -1237,7 +1237,7 @@ int main(int argc, char **argv) case 'q': { char *err; - if ((quit_countdown = quit_count = getzp(optarg, &err)) < 0) { + if ((quit_cntdwn = quit_count = getzp(optarg, &err)) < 0) { error("-%c option: %s\n", opt, err); return EXIT_FAILURE; } @@ -1609,13 +1609,13 @@ int main(int argc, char **argv) // fallthrough case kbd_cmd: if (ch != 'q' && ch != 3) - quit_countdown = quit_count; + quit_cntdwn = quit_count; switch (ch) { case 'q': case 3: - if (--quit_countdown == 0) { + if (--quit_cntdwn == 0) { kbd_state = kbd_exit; } else { - sprintf(pw.cmdbuf, "%d more to quit", quit_countdown); + pw.editpos = sprintf(pw.cmdbuf, "%d more to quit", quit_cntdwn); pw.curcmd = pw.cmdbuf; kbd_state = kbd_result; } @@ -1784,9 +1784,10 @@ int main(int argc, char **argv) pw.stat |= stat_force; break; case ctrl('g'): - snprintf(pw.cmdbuf, sizeof pw.cmdbuf, "-p %d,%d,%d,%d,%d", - pw.hpos, pw.vsplit1, pw.vsplit2, pw.vs2pos, - (int) pw.stat & stat_save); + pw.editpos = snprintf(pw.cmdbuf, sizeof pw.cmdbuf, + "-p %d,%d,%d,%d,%d", + pw.hpos, pw.vsplit1, pw.vsplit2, pw.vs2pos, + (int) pw.stat & stat_save); pw.curcmd = pw.cmdbuf; kbd_state = kbd_result; break; @@ -1894,6 +1895,7 @@ int main(int argc, char **argv) { if (pw.columns < cmdsize) pw.cmdbuf[pw.columns] = 0; + pw.editpos = strlen(pw.cmdbuf); kbd_state = kbd_result; cmdcount = INT_MAX; break; |