Mingw32 fixes
diff --git a/src/libmtp.c b/src/libmtp.c
index d2245e2..077330a 100644
--- a/src/libmtp.c
+++ b/src/libmtp.c
@@ -54,6 +54,10 @@
 #define USE_WINDOWS_IO_H
 #include <io.h>
 #endif
+#ifdef __WIN32__
+/* Windows does not have rindex */
+#define rindex strrchr
+#endif
 
 /* To enable PTP level debug prints (all ptp_debug(...)), switch on this */
 //#define ENABLE_PTP_DEBUG
@@ -3840,7 +3844,7 @@
 #ifdef USE_WINDOWS_IO_H
   if ( (fd = _open(path, O_RDWR|O_CREAT|O_TRUNC|O_BINARY,_S_IREAD)) == -1 ) {
 #else
-  if ( (fd = open(path, O_RDWR|O_CREAT|O_TRUNC|O_BINARY,S_IRWXU|S_IRGRP)) == -1 ) {
+  if ( (fd = open(path, O_RDWR|O_CREAT|O_TRUNC|O_BINARY,S_IRWXU)) == -1 ) {
 #endif
 #else
 #ifdef __USE_LARGEFILE64
@@ -4044,9 +4048,9 @@
   // Open file
 #ifdef __WIN32__
 #ifdef USE_WINDOWS_IO_H
-  if ( (fd = _open(path, O_RDONLY|O_BINARY) == -1 ) {
+  if ( (fd = _open(path, O_RDONLY|O_BINARY) == -1) ) {
 #else
-  if ( (fd = open(path, O_RDONLY|O_BINARY) == -1 ) {
+  if ( (fd = open(path, O_RDONLY|O_BINARY) == -1) ) {
 #endif
 #else
 #ifdef __USE_LARGEFILE64
@@ -4217,9 +4221,9 @@
   // Open file
 #ifdef __WIN32__
 #ifdef USE_WINDOWS_IO_H
-  if ( (fd = _open(path, O_RDONLY|O_BINARY) == -1 ) {
+  if ( (fd = _open(path, O_RDONLY|O_BINARY) == -1) ) {
 #else
-  if ( (fd = open(path, O_RDONLY|O_BINARY) == -1 ) {
+  if ( (fd = open(path, O_RDONLY|O_BINARY) == -1) ) {
 #endif
 #else
 #ifdef __USE_LARGEFILE64