OSDN Git Service

Fix the release/developer detection in configure.py
[handbrake-jp/handbrake-jp-git.git] / libhb / ports.c
index 7b18ce8..1200386 100644 (file)
@@ -103,12 +103,19 @@ int hb_dvd_region(char *device, int *region_mask)
     if ( fd < 0 )
         return -1;
     if ( fstat( fd, &st ) < 0 )
+       {
+        close( fd );
         return -1;
+       }
     if ( !( S_ISBLK( st.st_mode ) || S_ISCHR( st.st_mode ) ) )
+       {
+        close( fd );
         return -1;
+       }
 
     ai.type = DVD_LU_SEND_RPC_STATE;
     ret = ioctl(fd, DVD_AUTH, &ai);
+    close( fd );
     if ( ret < 0 )
         return ret;
 
@@ -637,6 +644,23 @@ hb_net_t * hb_net_open( char * address, int port )
     struct sockaddr_in   sock;
     struct hostent     * host;
 
+#ifdef SYS_MINGW
+    WSADATA wsaData;
+    int iResult, winsock_init = 0;
+
+    // Initialize Winsock
+    if (!winsock_init)
+    {
+        iResult = WSAStartup(MAKEWORD(2, 2), &wsaData);
+        if (iResult != 0)
+        {
+            hb_log("WSAStartup failed: %d", iResult);
+            return NULL;
+        }
+        winsock_init = 1;
+    }
+#endif
+
     /* TODO: find out why this doesn't work on Win32 */
     if( !( host = gethostbyname( address ) ) )
     {