mirror of /home/gitosis/repositories/libowfat.git
Mirror of :pserver:cvs@cvs.fefe.de:/cvs libowfat
https://www.fefe.de/libowfat/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.1 KiB
48 lines
1.1 KiB
#include "socket.h" |
|
#include "buffer.h" |
|
#include <unistd.h> |
|
#include <stdio.h> |
|
#include <sys/uio.h> |
|
|
|
main(int argc,char* argv[]) { |
|
int s=socket_tcp4(); |
|
char line[1024]; |
|
char buf[4096]; |
|
int l; |
|
int header=1; |
|
struct iovec x[2]; |
|
buffer filein; |
|
buffer_init(&filein,read,s,buf,sizeof buf); |
|
if (socket_connect4(s,"\x7f\x00\x00\x01",4000)) { |
|
perror("connect"); |
|
return 1; |
|
} |
|
{ |
|
char* c; |
|
if (c=strrchr(argv[0],'/')) |
|
x[0].iov_base=c+1; |
|
else |
|
x[0].iov_base=argv[0]; |
|
} |
|
x[0].iov_len=strlen(x[0].iov_base); |
|
x[1].iov_base="\nq\n"; |
|
x[1].iov_len=3; |
|
writev(s,x,2); |
|
for (;;) { |
|
line[0]=0; |
|
if ((l=buffer_getline(&filein,line,(sizeof line)-1))==0 && line[l]!='\n') |
|
break; |
|
else { |
|
line[l+1]=0; |
|
if (!header) { |
|
if (strcmp(line,"\e[7mMLdonkey command-line:\e[2;37;0m\n") && |
|
strcmp(line,"\e[2;37;0m\e[7mMLdonkey command-line:\e[2;37;0m\n") && |
|
strncmp(line,"> ",2)) |
|
buffer_put(buffer_1,line,l+1); |
|
} |
|
if (!strcmp(line,"Use \e[31m?\e[2;37;0m for help\n")) header=0; |
|
if (!strcmp(line,"Use ? for help\n")) header=0; |
|
} |
|
} |
|
buffer_flush(buffer_1); |
|
}
|
|
|