diff options
author | Alex Richardson <Alexander.Richardson@cl.cam.ac.uk> | 2020-11-17 17:40:51 +0000 |
---|---|---|
committer | Alex Richardson <Alexander.Richardson@cl.cam.ac.uk> | 2021-03-16 16:18:11 +0000 |
commit | fc89f3e2eebae198cf4ebe6965e9b4080de9630c (patch) | |
tree | fc46f1d01da9d0f05b34152c107f908d39321ef1 /c_emulator/riscv_sim.c | |
parent | e13df2383a311f0fbd7ee6d009bec653dce937eb (diff) | |
download | sail-riscv-fc89f3e2eebae198cf4ebe6965e9b4080de9630c.zip sail-riscv-fc89f3e2eebae198cf4ebe6965e9b4080de9630c.tar.gz sail-riscv-fc89f3e2eebae198cf4ebe6965e9b4080de9630c.tar.bz2 |
Add missing newlines to error message and print the listen port
Diffstat (limited to 'c_emulator/riscv_sim.c')
-rw-r--r-- | c_emulator/riscv_sim.c | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/c_emulator/riscv_sim.c b/c_emulator/riscv_sim.c index 8d33e95..84a5894 100644 --- a/c_emulator/riscv_sim.c +++ b/c_emulator/riscv_sim.c @@ -907,12 +907,12 @@ int main(int argc, char **argv) entry = 0x80000000; int listen_sock = socket(AF_INET, SOCK_STREAM, 0); if (listen_sock == -1) { - fprintf(stderr, "Unable to create socket: %s", strerror(errno)); + fprintf(stderr, "Unable to create socket: %s\n", strerror(errno)); return 1; } - int opt = 1; - if (setsockopt(listen_sock, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt)) == -1) { - fprintf(stderr, "Unable to set reuseaddr on socket: %s", strerror(errno)); + int reuseaddr = 1; + if (setsockopt(listen_sock, SOL_SOCKET, SO_REUSEADDR, &reuseaddr, sizeof(reuseaddr)) == -1) { + fprintf(stderr, "Unable to set reuseaddr on socket: %s\n", strerror(errno)); return 1; } struct sockaddr_in addr = { @@ -921,17 +921,22 @@ int main(int argc, char **argv) .sin_port = htons(rvfi_dii_port) }; if (bind(listen_sock, (struct sockaddr *)&addr, sizeof(addr)) == -1) { - fprintf(stderr, "Unable to set bind socket: %s", strerror(errno)); + fprintf(stderr, "Unable to set bind socket: %s\n", strerror(errno)); return 1; } if (listen(listen_sock, 1) == -1) { - fprintf(stderr, "Unable to listen on socket: %s", strerror(errno)); + fprintf(stderr, "Unable to listen on socket: %s\n", strerror(errno)); return 1; } - printf("Waiting for connection\n"); + socklen_t addrlen = sizeof(addr); + if (getsockname(listen_sock, (struct sockaddr *) &addr, &addrlen) == -1) { + fprintf(stderr, "Unable to getsockname() on socket: %s\n", strerror(errno)); + return 1; + } + printf("Waiting for connection on port %d.\n", ntohs(addr.sin_port)); rvfi_dii_sock = accept(listen_sock, NULL, NULL); if (rvfi_dii_sock == -1) { - fprintf(stderr, "Unable to accept connection on socket: %s", strerror(errno)); + fprintf(stderr, "Unable to accept connection on socket: %s\n", strerror(errno)); return 1; } close(listen_sock); |