Revision b9a4e090
Added by Hamish Coleman over 17 years ago
- ID b9a4e090a2470bf1b2902af0f28f9590ebe75882
| wconsd.c | ||
|---|---|---|
|
BOOL com_autoclose=TRUE;
|
||
|
BOOL com_state=FALSE; // FALSE=closed,TRUE=open
|
||
|
|
||
|
int default_tcpport = 9600;
|
||
|
int default_tcpport = 23;
|
||
|
|
||
|
/* Service status: our current status, and handle on service manager */
|
||
|
SERVICE_STATUS wconsd_status;
|
||
| ... | ... | |
|
}
|
||
|
|
||
|
for (i = 0; i < size; i++) {
|
||
|
if (buf[i] == 127 || buf[i]==8) { // backspace
|
||
|
if (buf[i]==0) {
|
||
|
// strange, I'm not expecting nul bytes !
|
||
|
continue;
|
||
|
} else if (buf[i] == 127 || buf[i]==8) {
|
||
|
// backspace
|
||
|
if (linelen > 0) {
|
||
|
send(cs,"\x7f",1,0);
|
||
|
linelen--;
|
||
|
} else {
|
||
|
send(cs,"\x07",1,0); // bell
|
||
|
}
|
||
|
} else if (buf[i] == 10) {
|
||
|
// ignore LF chars
|
||
|
continue;
|
||
|
} else if (buf[i] == 13) { // cr
|
||
|
} else if (buf[i] == 0x0d || buf[i]==0x0a) {
|
||
|
// detected cr or lf
|
||
|
|
||
|
// if this is a zero length line, just ignore it
|
||
|
if (linelen==0) {
|
||
|
continue;
|
||
|
}
|
||
|
|
||
|
line[linelen]=0; // ensure string is terminated
|
||
|
|
||
|
menu = process_menu_line(line);
|
||
| ... | ... | |
|
|
||
|
send(cs,"> ",2,0);
|
||
|
linelen=0;
|
||
|
continue;
|
||
|
} else if (buf[i]==0xff) {
|
||
|
// telnet option packet
|
||
|
// skip next two bytes as well
|
||
|
i+=2;
|
||
|
continue;
|
||
|
} else {
|
||
|
// other chars
|
||
|
if (linelen < MAXLEN - 1) {
|
||
| ... | ... | |
|
} else {
|
||
|
send(cs,"\x07",1,0); // bell
|
||
|
}
|
||
|
continue;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
| ... | ... | |
|
// if we have decided to run as a console app..
|
||
|
if (console_application) {
|
||
|
int r;
|
||
|
printf("wconsd: Console Application Mode\n");
|
||
|
printf("wconsd: Console Application Mode (version %s)\n",VERSION);
|
||
|
r=wconsd_init(argc,argv,&err);
|
||
|
if (r!=0) {
|
||
|
printf("wconsd: debug: init failed, return code %d [%d]\n",r, err);
|
||
Also available in: Unified diff
More cmdline processing hacks