Merge branch 'master' of https://bitbucket.org/4coder/4coder
commit
dcd73d7816
|
@ -155,9 +155,6 @@ struct Linux_Vars{
|
||||||
|
|
||||||
Linux_Coroutine coroutine_data[2];
|
Linux_Coroutine coroutine_data[2];
|
||||||
Linux_Coroutine *coroutine_free;
|
Linux_Coroutine *coroutine_free;
|
||||||
|
|
||||||
int stdout_orig;
|
|
||||||
int stdout_redir[2];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#define LINUX_MAX_PASTE_CHARS 0x10000L
|
#define LINUX_MAX_PASTE_CHARS 0x10000L
|
||||||
|
@ -1876,21 +1873,6 @@ main(int argc, char **argv)
|
||||||
}
|
}
|
||||||
if (output_size != 0) return 0;
|
if (output_size != 0) return 0;
|
||||||
|
|
||||||
// NOTE(allen): Now that we are done using the normal stdout stuff
|
|
||||||
// redirect it to a pipe so the application can render future printf itself.
|
|
||||||
|
|
||||||
linuxvars.stdout_orig = dup(STDOUT_FILENO);
|
|
||||||
|
|
||||||
if(pipe(linuxvars.stdout_redir) == -1){
|
|
||||||
perror("pipe");
|
|
||||||
} else {
|
|
||||||
if(dup2(linuxvars.stdout_redir[1], STDOUT_FILENO) == -1){
|
|
||||||
perror("dup2");
|
|
||||||
} else {
|
|
||||||
setlinebuf(stdout);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
sysshared_filter_real_files(files, file_count);
|
sysshared_filter_real_files(files, file_count);
|
||||||
|
|
||||||
linuxvars.XDisplay = XOpenDisplay(0);
|
linuxvars.XDisplay = XOpenDisplay(0);
|
||||||
|
@ -2491,32 +2473,6 @@ main(int argc, char **argv)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// NOTE(inso): copy stdout to app->print (TODO)
|
|
||||||
{
|
|
||||||
fd_set fds;
|
|
||||||
FD_ZERO(&fds);
|
|
||||||
FD_SET(linuxvars.stdout_redir[0], &fds);
|
|
||||||
struct timeval tv = {};
|
|
||||||
char buf[1024];
|
|
||||||
|
|
||||||
while(select(linuxvars.stdout_redir[0] + 1, &fds, NULL, NULL, &tv) == 1){
|
|
||||||
ssize_t sz = read(linuxvars.stdout_redir[0], buf, sizeof(buf));
|
|
||||||
if(sz == 0){
|
|
||||||
break;
|
|
||||||
} else if(sz < 0){
|
|
||||||
perror("stdout_redir read");
|
|
||||||
} else {
|
|
||||||
write(linuxvars.stdout_orig, buf, sz);
|
|
||||||
|
|
||||||
// TODO(inso): send the message to app->print_message somehow?
|
|
||||||
//String str = make_string(buf, sz, sz);
|
|
||||||
//linuxvars.app.print_message(app, str, sz);
|
|
||||||
}
|
|
||||||
|
|
||||||
tv = {};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Key_Input_Data input_data;
|
Key_Input_Data input_data;
|
||||||
Mouse_State mouse;
|
Mouse_State mouse;
|
||||||
Application_Step_Result result;
|
Application_Step_Result result;
|
||||||
|
|
Loading…
Reference in New Issue