added a check to see wether a device is 'real' or not. Thanks to
Francois Dupoux for the patch. svn path=/trunk/; revision=764
This commit is contained in:
parent
dfe1f4ec4f
commit
4e9d368102
|
@ -1,3 +1,8 @@
|
|||
2007-01-07 Bart Hakvoort <hakvoort@cvs.gnome.org>
|
||||
|
||||
* src/GParted_Core.cc: added a check to see wether a device is 'real'
|
||||
or not. (thanks to François Dupoux for the patch)
|
||||
|
||||
2006-12-19 Theppitak Karoonboonyanan <thep@linux.thai.net>
|
||||
|
||||
* configure.in: Added 'th' (Thai) to ALL_LINGUAS.
|
||||
|
|
|
@ -155,7 +155,20 @@ void GParted_Core::set_devices( std::vector<Device> & devices )
|
|||
lp_device = ped_device_get_next( NULL );
|
||||
while ( lp_device )
|
||||
{
|
||||
device_paths .push_back( lp_device ->path ) ;
|
||||
//only add this device if we can read the first sector (which means it's a real device)
|
||||
char * buf = static_cast<char *>( malloc( lp_device ->sector_size ) ) ;
|
||||
if ( buf )
|
||||
{
|
||||
if ( ped_device_open( lp_device ) )
|
||||
{
|
||||
if ( ped_device_read( lp_device, buf, 0, 1 ) )
|
||||
device_paths .push_back( lp_device ->path ) ;
|
||||
|
||||
ped_device_close( lp_device ) ;
|
||||
}
|
||||
|
||||
free( buf ) ;
|
||||
}
|
||||
|
||||
lp_device = ped_device_get_next( lp_device ) ;
|
||||
}
|
||||
|
@ -163,10 +176,10 @@ void GParted_Core::set_devices( std::vector<Device> & devices )
|
|||
|
||||
std::sort( device_paths .begin(), device_paths .end() ) ;
|
||||
}
|
||||
|
||||
|
||||
for ( unsigned int t = 0 ; t < device_paths .size() ; t++ )
|
||||
{
|
||||
if ( device_paths[ t ] .length() > 6 && device_paths[ t ] .is_ascii() && open_device_and_disk( device_paths[ t ], false ) )
|
||||
if ( open_device_and_disk( device_paths[ t ], false ) )
|
||||
{
|
||||
temp_device .Reset() ;
|
||||
|
||||
|
|
Loading…
Reference in New Issue