use WSAStartup on windows, replace bzero with memset
authorDave Murphy <davem@devkitpro.org>
Sun, 29 Apr 2012 17:48:26 +0000 (18:48 +0100)
committerDave Murphy <davem@devkitpro.org>
Sun, 29 Apr 2012 17:48:26 +0000 (18:48 +0100)
gdbserver/gdb-server.c

index b0b43d8e24209611ac995fef11ffc28c6948108a..bd478573f54376715d2c1697f2d83a1c4de55be8 100644 (file)
@@ -170,8 +170,20 @@ int main(int argc, char** argv) {
 
        current_memory_map = make_memory_map(sl);
 
+#ifdef __MINGW32__
+       WSADATA wsadata;
+       if (WSAStartup(MAKEWORD(2,2),&wsadata) !=0 ) {
+               goto winsock_error;
+       }
+#endif
+
        while(serve(sl, state.listen_port) == 0);
 
+#ifdef __MINGW32__
+winsock_error:
+       WSACleanup();
+#endif
+
        /* Switch back to mass storage mode before closing. */
        stlink_run(sl);
        stlink_exit_debug_mode(sl);
@@ -558,7 +570,7 @@ int serve(stlink_t *sl, int port) {
        setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &val, sizeof(val));
 
        struct sockaddr_in serv_addr;
-       bzero(&serv_addr,sizeof(struct sockaddr_in));
+       memset(&serv_addr,0,sizeof(struct sockaddr_in));
        serv_addr.sin_family = AF_INET;
        serv_addr.sin_addr.s_addr = inet_addr("127.0.0.1");
        serv_addr.sin_port = htons(port);