[PATCH] kernel32: Silence unused result warnings.

Marcin Baczyński marbacz at gmail.com
Sat Apr 3 17:02:52 CDT 2010


---
 dlls/kernel32/oldconfig.c |   28 ++++++++++++++++++++++------
 1 files changed, 22 insertions(+), 6 deletions(-)

diff --git a/dlls/kernel32/oldconfig.c b/dlls/kernel32/oldconfig.c
index 02dac06..16bf965 100644
--- a/dlls/kernel32/oldconfig.c
+++ b/dlls/kernel32/oldconfig.c
@@ -283,6 +283,7 @@ static void create_hardware_branch(void)
     struct LinuxProcScsiDevice dev;
     int result = 0, nSgNumber = 0;
     UCHAR uFirstSCSIPort = 0;
+    const char *readResult = NULL;
 
     /* Enumerate all ide devices first */
     idedir = opendir("/proc/ide");
@@ -299,8 +300,13 @@ static void create_hardware_branch(void)
                     ERR("Could not open %s\n", cStr);
                     continue;
                 } else {
-                    fgets(cStr, sizeof(cStr), procfile);
+                    readResult = fgets(cStr, sizeof(cStr), procfile);
                     fclose(procfile);
+                    if (!readResult)
+                    {
+                        ERR("Could not read %s\n", cStr);
+                        continue;
+                    }
                     nType = DRIVE_UNKNOWN;
                     if (strncasecmp(cStr, "disk", 4)  == 0) nType = DRIVE_FIXED;
                     if (strncasecmp(cStr, "cdrom", 5) == 0) nType = DRIVE_CDROM;
@@ -310,17 +316,20 @@ static void create_hardware_branch(void)
 
                 sprintf(cStr, procname_ide_model, dent->d_name);
                 procfile = fopen(cStr, "r");
-                if (!procfile)
+                if (procfile)
                 {
-                    ERR("Could not open %s\n", cStr);
+                    readResult = fgets(cDevModel, sizeof(cDevModel), procfile);
+                    fclose(procfile);
+                }
+                if (!procfile || !readResult)
+                {
+                    ERR("Could not open or read %s\n", cStr);
                     switch (nType)
                     {
                     case DRIVE_FIXED: strcpy(cDevModel, "Wine harddisk"); break;
                     case DRIVE_CDROM: strcpy(cDevModel, "Wine CDROM"); break;
                     }
                 } else {
-                    fgets(cDevModel, sizeof(cDevModel), procfile);
-                    fclose(procfile);
                     cDevModel[strlen(cDevModel) - 1] = 0;
                 }
 
@@ -345,7 +354,14 @@ static void create_hardware_branch(void)
         TRACE("Could not open %s\n", procname_scsi);
         return;
     }
-    fgets(cStr, 40, procfile);
+
+    readResult = fgets(cStr, 40, procfile);
+    if (!readResult)
+    {
+        TRACE("Could not read %s\n", procname_scsi);
+        fclose( procfile );
+        return;
+    }
     sscanf(cStr, "Attached %9s %9s", read1, read2);
 
     if (strcmp(read1, "devices:") != 0)
-- 
1.7.0.4




More information about the wine-patches mailing list