Sophie

Sophie

distrib > Mandriva > 2008.1 > x86_64 > by-pkgid > a84400edc3413b1017d2fe2c5df8eb31 > files > 3

qtparted-0.4.5-7mdv2008.0.src.rpm

--- qtparted-0.4.5/src/qp_fswrap.cpp.parted1.7	2005-07-06 23:29:54.000000000 +0200
+++ qtparted-0.4.5/src/qp_fswrap.cpp	2006-07-11 20:42:13.000000000 +0200
@@ -1002,20 +1002,24 @@
 /*---FAT32 WRAPPER---------------------------------------------------------------*/
 QString QP_FSFat32::_get_label(PedPartition *part) 
 {
-    char buffer[PED_SECTOR_SIZE];
+#ifdef PED_SECTOR_SIZE // PED_SECTOR_SIZE is gone in parted 1.7.x
+	char *buffer=new char[PED_SECTOR_SIZE];
+#else
+	char *buffer=new char[part->disk->dev->sector_size];
+#endif
     char label[12];
     
     if (!QP_FSWrap::read_sector(part, 0, 1, buffer)) 
     {
+        delete[] buffer;
         return QString::null;
-    } 
-    else 
-    {   
-        memset(label, 0, sizeof(label));
-        memcpy(label, buffer+0x47, 11);
-        //printf("returned fat buffer: %s\n", label);
-        return QString(label);
     }
+
+    memset(label, 0, sizeof(label));
+    memcpy(label, buffer + 0x47, 11);
+    //printf("returned fat buffer: %s\n", label);
+    delete[] buffer;
+    return QString(label);
 }
 
 /*---EXT2 WRAPPER----------------------------------------------------------------*/