FS-3815 --resolve
This is a workaround for the fact that libedit counts terminal control
characters when calculating the length of the prompt. By not using
absolute positioning, we avoid the issue.
Thanks to Ivan Isaev for the workaround and testing.
char dft_cfile[512] = "fs_cli.conf";
#endif
char *home = getenv("HOME");
- char *term = getenv("TERM");
/* Vars for optargs */
int opt;
static struct option options[] = {
int argv_quiet = 0;
int loops = 2, reconnect = 0, timeout = 0;
- if (term && (!strncasecmp("screen", term, 6) ||
- !strncasecmp("vt100", term, 5))) {
- feature_level = 1;
- } else {
- feature_level = 0;
- }
#ifdef WIN32
feature_level = 0;
+#else
+ feature_level = 1;
#endif
strncpy(internal_profile.host, "127.0.0.1", sizeof(internal_profile.host));
}
del = where - el->el_cursor.h;
+#if 0
+ /* workaround miscounting of control characters in prompt by
+ avoiding absolute horizontal positioning */
if ((del < -4 || del > 4) && GoodStr(T_ch))
/* go there directly */
(void) tputs(tgoto(Str(T_ch), where, where), where, term__putc);
- else {
+ else
+#endif
+ {
if (del > 0) { /* moving forward */
if ((del > 4) && GoodStr(T_RI))
(void) tputs(tgoto(Str(T_RI), del, del),