TODO: still a small modification needs to be done
This commit is contained in:
parent
a1d830ffc9
commit
fabe99cea0
|
|
@ -58,14 +58,18 @@ union {
|
||||||
} ucp;
|
} ucp;
|
||||||
int ncode;
|
int ncode;
|
||||||
{
|
{
|
||||||
|
|
||||||
register c;
|
register c;
|
||||||
register flg;
|
register flg;
|
||||||
register unsigned char *cp;
|
register unsigned char *cp;
|
||||||
char *csp;
|
char *csp;
|
||||||
extern tttimeo();
|
extern tttimeo();
|
||||||
|
|
||||||
|
/* irgendwie sowas fehlt noch
|
||||||
|
if (tp->t_state&IEXTPROC)
|
||||||
|
flg &= ~OPOST;
|
||||||
|
*/
|
||||||
flg = tp->t_iflag;
|
flg = tp->t_iflag;
|
||||||
|
/*hier nicht*/
|
||||||
switch (ncode) {
|
switch (ncode) {
|
||||||
case 0:
|
case 0:
|
||||||
ncode++;
|
ncode++;
|
||||||
|
|
@ -126,7 +130,7 @@ int ncode;
|
||||||
if (putc(ucp.r_r, &tp->t_rawq))
|
if (putc(ucp.r_r, &tp->t_rawq))
|
||||||
return;
|
return;
|
||||||
sysinfo.rawch++;
|
sysinfo.rawch++;
|
||||||
cp = (unsigned char *)ucp.r_r;
|
cp = (unsigned char *)&ucp.r_r;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
putcb(ucp.ch, &tp->t_rawq);
|
putcb(ucp.ch, &tp->t_rawq);
|
||||||
|
|
@ -144,11 +148,14 @@ int ncode;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* hier passt es nicht so richtig */
|
||||||
if (tp->t_lflag) while (ncode--) {
|
if (tp->t_lflag) while (ncode--) {
|
||||||
c = *cp++;
|
c = *cp++;
|
||||||
flg = tp->t_lflag;
|
flg = tp->t_lflag;
|
||||||
|
/* hier auch nicht */
|
||||||
if (flg&ISIG) {
|
if (flg&ISIG) {
|
||||||
if (c == tp->t_cc[VINTR]) {
|
if (c == tp->t_cc[VINTR]) {
|
||||||
|
signal(tp->t_pgrp, SIGINT);
|
||||||
if (!(flg&NOFLSH))
|
if (!(flg&NOFLSH))
|
||||||
ttyflush(tp, (FREAD|FWRITE));
|
ttyflush(tp, (FREAD|FWRITE));
|
||||||
if ((flg&ECHO) &&
|
if ((flg&ECHO) &&
|
||||||
|
|
@ -160,6 +167,7 @@ int ncode;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (c == tp->t_cc[VQUIT]) {
|
if (c == tp->t_cc[VQUIT]) {
|
||||||
|
signal(tp->t_pgrp, SIGQUIT);
|
||||||
if (!(flg&NOFLSH))
|
if (!(flg&NOFLSH))
|
||||||
ttyflush(tp, (FREAD|FWRITE));
|
ttyflush(tp, (FREAD|FWRITE));
|
||||||
if ((flg&ECHO) ||
|
if ((flg&ECHO) ||
|
||||||
|
|
@ -178,7 +186,8 @@ int ncode;
|
||||||
tp->t_delct++;
|
tp->t_delct++;
|
||||||
} else if (c == tp->t_cc[VEOL])
|
} else if (c == tp->t_cc[VEOL])
|
||||||
tp->t_delct++;
|
tp->t_delct++;
|
||||||
if ((tp->t_state&ESC) == 0) {
|
/*hier passts nicht */
|
||||||
|
if (!(tp->t_state&ESC)) {
|
||||||
if (c == '\\')
|
if (c == '\\')
|
||||||
tp->t_state |= ESC;
|
tp->t_state |= ESC;
|
||||||
if (c == tp->t_cc[VERASE] && flg&ECHOE) {
|
if (c == tp->t_cc[VERASE] && flg&ECHOE) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue