/* Current termio and the previous termio before starting sh */
struct termios initial_settings, new_settings;
+
+
+#ifndef _POSIX_VDISABLE
+#define _POSIX_VDISABLE '\0'
+#endif
+
#endif
{
int j = 0;
+/* Debug crap */
+//fprintf(stderr, "\nerik: len=%d, cursor=%d, strlen(command)='%d'\n", *len, *cursor, strlen(command));
+//xwrite(outputFd, command, *len);
+//*cursor = *len;
+
+
if (*cursor > 0) {
xwrite(outputFd, "\b \b", 3);
--*cursor;
/* For now, we will not bother with trying to distinguish
* whether the cursor is in/at a command extression -- we
- * will always try all possable matches. If you don't like
+ * will always try all possible matches. If you don't like
* that then feel free to fix it.
*/
rewrite_line:
/* erase old command from command line */
len = strlen(command)-strlen(hp->s);
- while (len>0)
+
+ while (len>cursor)
+ input_delete(command, outputFd, cursor, &len);
+ while (cursor>0)
input_backspace(command, outputFd, &cursor, &len);
input_home(outputFd, &cursor);