]> git.zerfleddert.de Git - usb-driver/commitdiff
better fix for windrvrfd when device is not opened
authormichael <michael>
Sun, 4 Mar 2007 22:44:13 +0000 (22:44 +0000)
committermichael <michael>
Sun, 4 Mar 2007 22:44:13 +0000 (22:44 +0000)
prevents "!!!ERROR: magic header does not match!!!" message

usb-driver.c

index d38da3e4dfdc2bf8a5a4321beec0e7cff41b14c5..a6d64ce824c9c8136155da5fab61dc5d4d4f1709 100644 (file)
@@ -40,8 +40,8 @@
 #include "usb-driver.h"
 
 static int (*ioctl_func) (int, int, void *) = NULL;
 #include "usb-driver.h"
 
 static int (*ioctl_func) (int, int, void *) = NULL;
-static int windrvrfd = 0;
-FILE *modulesfp;
+static int windrvrfd = -1;
+FILE *modulesfp = NULL;
 static int modules_read = 0;
 static struct usb_bus *busses = NULL;
 static struct usb_device *usbdevice;
 static int modules_read = 0;
 static struct usb_bus *busses = NULL;
 static struct usb_device *usbdevice;
@@ -660,7 +660,7 @@ int ioctl(int fd, int request, ...) {
        argp = va_arg (args, void *);
        va_end (args);
 
        argp = va_arg (args, void *);
        va_end (args);
 
-       if (windrvrfd && (fd == windrvrfd))
+       if (fd == windrvrfd)
                ret = do_wdioctl(fd, request, argp);
        else
                ret = (*ioctl_func) (fd, request, argp);
                ret = do_wdioctl(fd, request, argp);
        else
                ret = (*ioctl_func) (fd, request, argp);
@@ -712,7 +712,7 @@ int close(int fd) {
        
        if (fd == windrvrfd) {
                DPRINTF("close windrvrfd\n");
        
        if (fd == windrvrfd) {
                DPRINTF("close windrvrfd\n");
-               windrvrfd = 0;
+               windrvrfd = -1;
        }
 
        return (*func) (fd);
        }
 
        return (*func) (fd);
Impressum, Datenschutz