diff --git a/nx/source/runtime/nxlink_stdio.c b/nx/source/runtime/nxlink_stdio.c index 4e1c7864..b4b10cf9 100644 --- a/nx/source/runtime/nxlink_stdio.c +++ b/nx/source/runtime/nxlink_stdio.c @@ -1,39 +1,41 @@ -#include -#include -#include -#include -#include -#include -#include - -static int sock = -1; - -int nxlinkStdio() -{ - int ret = -1; - struct sockaddr_in srv_addr; - - sock = socket(AF_INET, SOCK_STREAM, 0); - if (!sock) { - return ret; - } - - bzero(&srv_addr, sizeof srv_addr); - srv_addr.sin_family = AF_INET; - srv_addr.sin_addr = __nxlink_host; - srv_addr.sin_port = htons(NXLINK_CLIENT_PORT); - - ret = connect(sock, (struct sockaddr *) &srv_addr, sizeof(srv_addr)); - if (ret != 0) { - return -1; - } - - // redirect stdout - fflush(stdout); - dup2(sock, STDOUT_FILENO); - // redirect stderr - fflush(stderr); - dup2(sock, STDERR_FILENO); - - return ret; -} +#include "runtime/nxlink.h" + +#include +#include +#include +#include +#include +#include + +static int sock = -1; + +int nxlinkStdio() +{ + int ret = -1; + struct sockaddr_in srv_addr; + + sock = socket(AF_INET, SOCK_STREAM, 0); + if (!sock) { + return ret; + } + + bzero(&srv_addr, sizeof srv_addr); + srv_addr.sin_family = AF_INET; + srv_addr.sin_addr = __nxlink_host; + srv_addr.sin_port = htons(NXLINK_CLIENT_PORT); + + ret = connect(sock, (struct sockaddr *) &srv_addr, sizeof(srv_addr)); + if (ret != 0) { + close(sock); + return -1; + } + + // redirect stdout + fflush(stdout); + dup2(sock, STDOUT_FILENO); + // redirect stderr + fflush(stderr); + dup2(sock, STDERR_FILENO); + + return ret; +}