|
From: Tiziano M. <tiz...@us...> - 2009-02-19 09:21:27
|
Update of /cvsroot/evms/evms2/engine/plugins/dos In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv15885/plugins/dos Modified Files: defsegmgr.c segs.c sn.c Log Message: Added a comment to the pointer-to-u_int32_t conversions for a warning on 64bit archs Do not take the address again in seg_gen_serial_number or passing a "guess" parameter is completely useless The size of volume_label is 11, so the last element is 10, not 11. sizeof() returns a long int which makes a difference on 64bit but not on 32bit. Index: defsegmgr.c =================================================================== RCS file: /cvsroot/evms/evms2/engine/plugins/dos/defsegmgr.c,v retrieving revision 1.50 retrieving revision 1.51 diff -u -d -r1.50 -r1.51 --- defsegmgr.c 15 Jan 2009 19:52:39 -0000 1.50 +++ defsegmgr.c 19 Feb 2009 09:21:21 -0000 1.51 @@ -1070,7 +1070,7 @@ dla.Partition_Size = seg->size; dla.Partition_Start = seg->start; dla.Drive_Letter = *drive_letter; - dla.Partition_Serial_Number = seg_gen_serial_number((u_int32_t)&dla.Partition_Serial_Number); + dla.Partition_Serial_Number = seg_gen_serial_number((u_int32_t)&dla.Partition_Serial_Number); /* warning on 64bit archs about truncated pointer-to-int conversion can be ignored (please confirm) */ if ( strlen(partition_name) > 0) { strncpy(&dla.Partition_Name[0], partition_name, PARTITION_NAME_SIZE); } Index: segs.c =================================================================== RCS file: /cvsroot/evms/evms2/engine/plugins/dos/segs.c,v retrieving revision 1.30 retrieving revision 1.31 diff -u -d -r1.30 -r1.31 --- segs.c 15 Jan 2009 19:52:39 -0000 1.30 +++ segs.c 19 Feb 2009 09:21:21 -0000 1.31 @@ -3510,7 +3510,7 @@ strcpy(disk_pdata->disk_name, DiskName ); // gen a serial number for the disk - dlat_buffer->Disk_Serial_Number = seg_gen_serial_number( (u_int32_t) &dlat_buffer->Disk_Serial_Number ); + dlat_buffer->Disk_Serial_Number = seg_gen_serial_number( (u_int32_t) &dlat_buffer->Disk_Serial_Number ); /* warning on 64bit archs about truncated pointer-to-int conversion can be ignored (please confirm) */ if (dlat_buffer->Disk_Serial_Number != BAD_SERIAL_NUMBER) { rc = seg_register_serial_number( dlat_buffer->Disk_Serial_Number); } Index: sn.c =================================================================== RCS file: /cvsroot/evms/evms2/engine/plugins/dos/sn.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- sn.c 29 Jul 2004 21:24:38 -0000 1.6 +++ sn.c 19 Feb 2009 09:21:21 -0000 1.7 @@ -116,7 +116,7 @@ rc = -1; // keep looping } else { - sn.serial_number += (u_int32_t) &guess; + sn.serial_number += guess; } } |