X-Git-Url: https://hackdaworld.org/gitweb/?a=blobdiff_plain;f=input%2Finput.c;h=285a08d905de7d0b0d00d471c34aa6ffbe217fd0;hb=b75390faa6d63ccc1a940bbe5db66141c8e0a1a0;hp=c734a5baae2b1c1d68e0b27af70fb378189fd519;hpb=7a01a093081adee6313dc0805f91fb84548e092e;p=my-code%2Fapi.git diff --git a/input/input.c b/input/input.c index c734a5b..285a08d 100644 --- a/input/input.c +++ b/input/input.c @@ -6,13 +6,21 @@ #include "input.h" -int input_init(t_input *input) { +int input_init(t_input *input,int outfd) { + + dprintf(outfd,"[input] initializing input system ...\n"); + + input->outfd=outfd; + input->mode=0; + + return I_SUCCESS; +} + +int input_ios_init(t_input *input) { struct termios tios; int size; - fprintf(stderr,"[input] initializing input system ..."); - size=((input->mode&CONTENT_BUFFER)?MAX_CONTENT:1); if((input->content=(char *)malloc(size))==NULL) { @@ -32,6 +40,8 @@ int input_init(t_input *input) { tios.c_cc[VMIN]=1; /* 1 char for non-can. mode */ /* depending on used modes */ + tios.c_lflag|=ICANON; + tios.c_lflag|=ECHO; if(!(input->mode&LINE_BUFFERED)) tios.c_lflag&=(~ICANON); if(!(input->mode&INPUT_ECHO)) tios.c_lflag&=(~ECHO); @@ -44,7 +54,7 @@ int input_shutdown(t_input *input) { free(input->content); tcsetattr(0,TCSANOW,&(input->tios)); - fprintf(stderr,"[input] shutdown"); + dprintf(input->outfd,"[input] shutdown\n"); return I_SUCCESS; } @@ -64,7 +74,7 @@ int input_get_event(t_input *input,int (*callback)(t_input *input,void *ptr), } if(input->c_count>=MAX_CONTENT) { - fprintf(stderr,"[input] max input length reached"); + dprintf(input->outfd,"[input] max input length reached\n"); return I_ERROR; }