View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update | 
|---|---|---|---|---|---|
| 0000123 | LDMud 3.2-dev | Networking | public | 2004-08-26 14:29 | 2005-05-15 13:05 | 
| Reporter | Gnomi | Assigned To | |||
| Priority | normal | Severity | minor | Reproducibility | always | 
| Status | closed | Resolution | fixed | ||
| Platform | i686 | OS | Debian GNU/Linux | OS Version | 3.0 | 
| Summary | 0000123: In charmode the driver kills subsequent lines | ||||
| Description | After an INPUT_CHARMODE input_to the deactivation of the charmode in set_noecho calls reset_input_buffer which basically sets .command_start to zero and so has to move the input_buffer accordingly. But it assumes that there is only input till .tn_end and copies only this part of the buffer (and sets .text_end accordingly). If two or more lines were sent at once .tn_end just points to the end of the first line (where scanning for telnet negotiations has ended the last time), the real end is shown by .text_end. So reset_input_buffer discards everything after the first line. The following patch fixes this for me: --- src.old/comm.c 2004-07-26 05:26:09.000000000 +0200 +++ src/comm.c 2004-08-26 23:07:51.000000000 +0200 @@ -2203,17 +2203,19 @@ DT(("'%s' reset input buffer: cmd_start %d, tn_start %d, tn_end %d\n", ip->ob->name, ip->command_start, ip->tn_start, ip->tn_end)); ip->tn_start -= ip->command_start; ip->tn_end -= ip->command_start; + ip->text_end -= ip->command_start; if (ip->tn_start < 0) ip->tn_start = 0; - if (ip->tn_end <= 0) + if (ip->tn_end < 0) ip->tn_end = 0; + if (ip->text_end <= 0) + ip->text_end = 0; else { move_memory( ip->text, ip->text + ip->command_start - , ip->tn_end + , ip->text_end ); } - ip->text_end = ip->tn_end; if (ip->command_end) ip->command_end = ip->tn_end; ip->command_start = 0; Greetings, Gnomi.  | ||||
| Tags | No tags attached. | ||||
| Date Modified | Username | Field | Change | 
|---|---|---|---|
| 2004-08-26 14:29 | Gnomi | New Issue | |
| 2004-09-03 23:41 | 
					 | 
				Status | new => resolved | 
| 2004-09-03 23:41 | 
					 | 
				Resolution | open => fixed | 
| 2004-09-03 23:41 | 
					 | 
				Assigned To | => lars | 
| 2004-09-03 23:41 | 
					 | 
				Note Added: 0000154 | |
| 2005-05-15 13:05 | 
					 | 
				Status | resolved => closed |