16
16
#include < sys/stat.h>
17
17
#include < sys/types.h>
18
18
#include < sys/mount.h>
19
+ #include < libgen.h>
19
20
20
21
21
22
__ID (" @(#) $Id$" );
@@ -103,7 +104,7 @@ static string sysfs_getbustype(const string & path)
103
104
{
104
105
string devname =
105
106
string (fs.path + " /bus/" ) + string (namelist[i]->d_name ) +
106
- " /devices/" + basename (path.c_str ());
107
+ " /devices/" + basename (const_cast < char *>( path.c_str () ));
107
108
108
109
if (samefile (devname , path))
109
110
{
@@ -151,7 +152,7 @@ static string sysfstobusinfo(const string & path)
151
152
152
153
if (bustype == " usb" )
153
154
{
154
- string name = basename (path.c_str ());
155
+ string name = basename (const_cast < char *>( path.c_str () ));
155
156
if (matches (name, " ^[0-9]+-[0-9]+(\\ .[0-9]+)*:[0-9]+\\ .[0-9]+$" ))
156
157
{
157
158
size_t colon = name.rfind (" :" );
@@ -162,18 +163,18 @@ static string sysfstobusinfo(const string & path)
162
163
163
164
if (bustype == " virtio" )
164
165
{
165
- string name = basename (path.c_str ());
166
+ string name = basename (const_cast < char *>( path.c_str () ));
166
167
if (name.compare (0 , 6 , " virtio" ) == 0 )
167
168
return " virtio@" + name.substr (6 );
168
169
else
169
170
return " virtio@" + name;
170
171
}
171
172
172
173
if (bustype == " vio" )
173
- return string (" vio@" ) + basename (path.c_str ());
174
+ return string (" vio@" ) + basename (const_cast < char *>( path.c_str () ));
174
175
175
176
if (bustype == " ccw" )
176
- return string (" ccw@" ) + basename (path.c_str ());
177
+ return string (" ccw@" ) + basename (const_cast < char *>( path.c_str () ));
177
178
178
179
if (bustype == " ccwgroup" )
179
180
{
@@ -251,7 +252,7 @@ string entry::driver() const
251
252
string driverlink = This->devpath + " /driver" ;
252
253
if (!exists (driverlink))
253
254
return " " ;
254
- return basename (readlink (driverlink).c_str ());
255
+ return basename (const_cast < char *>( readlink (driverlink).c_str () ));
255
256
}
256
257
257
258
@@ -339,7 +340,7 @@ string entry::name_in_class(const string & classname) const
339
340
340
341
string entry::name () const
341
342
{
342
- return basename (This->devpath .c_str ());
343
+ return basename (const_cast < char *>( This->devpath .c_str () ));
343
344
}
344
345
345
346
@@ -351,17 +352,17 @@ entry entry::parent() const
351
352
352
353
string entry::classname () const
353
354
{
354
- return basename (dirname (This->devpath ).c_str ());
355
+ return basename (const_cast < char *>( dirname (This->devpath ).c_str () ));
355
356
}
356
357
357
358
string entry::subsystem () const
358
359
{
359
- return basename (realpath (This->devpath +" /subsystem" ).c_str ());
360
+ return basename (const_cast < char *>( realpath (This->devpath +" /subsystem" ).c_str () ));
360
361
}
361
362
362
363
bool entry::isvirtual () const
363
364
{
364
- return string (basename (dirname (dirname (This->devpath )).c_str ())) == " virtual" ;
365
+ return string (basename (const_cast < char *>( dirname (dirname (This->devpath )).c_str () ))) == " virtual" ;
365
366
}
366
367
367
368
string entry::string_attr (const string & name, const string & def) const
0 commit comments