X-Git-Url: https://hackdaworld.org/gitweb/?p=physik%2Fnlsop.git;a=blobdiff_plain;f=nlsop_gui.c;h=a7b447d82c35afd570b8c653a352fd9c03012c34;hp=477d2649af5c4e5d0d655dd937e20d2608b382bf;hb=cff0722b1d71b922fde2de222ece99e0b26a5524;hpb=6f7acbcafd89b6e3899b6bef51c7727a4c560221 diff --git a/nlsop_gui.c b/nlsop_gui.c index 477d264..a7b447d 100644 --- a/nlsop_gui.c +++ b/nlsop_gui.c @@ -222,10 +222,12 @@ int get_command(t_event *event,void *allineed) { t_net *net; t_display *display; t_input *input; + unsigned int addr[3]; - net=(t_net *)allineed; - display=(t_display *)(allineed+sizeof(t_net)); - input=(t_input *)(allineed+sizeof(t_net)+sizeof(t_display)); + memcpy(addr,allineed,3*sizeof(unsigned int)); + net=(t_net *)addr[0]; + display=(t_display *)addr[1]; + input=(t_input *)addr[2]; switch(input->content[0]) { case GUI_INFO: @@ -271,8 +273,15 @@ int main(int argc,char **argv) int fd; + unsigned int addr[3]; void *allyouneed; + allyouneed=(void *)addr; + + addr[0]=(unsigned int)&net; + addr[1]=(unsigned int)&display; + addr[2]=(unsigned int)&input; + /* default values */ strcpy(logfile,LOGFILE); strcpy(server_ip,""); @@ -305,16 +314,11 @@ int main(int argc,char **argv) return -1; } - if((fd=open(logfile,O_WRONLY,O_CREAT))<0) { + if((fd=open(logfile,O_WRONLY|O_CREAT))<0) { printf("unable to open file %s\n",logfile); return -1; } - allyouneed=malloc(sizeof(t_net)+sizeof(t_display)+sizeof(t_input)); - memcpy(allyouneed,&net,sizeof(t_net)); - memcpy(allyouneed+sizeof(t_net),&display,sizeof(t_display)); - memcpy(allyouneed+sizeof(t_net)+sizeof(t_display),&input,sizeof(t_input)); - /* input init */ input_init(&input,fd); input.mode=CONTENT_BUFFER|LINE_BUFFERED|INPUT_ECHO;