summaryrefslogtreecommitdiff
path: root/noncore/settings/networksettings2/networksettings2/wextensions.cpp
Side-by-side diff
Diffstat (limited to 'noncore/settings/networksettings2/networksettings2/wextensions.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/networksettings2/networksettings2/wextensions.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/noncore/settings/networksettings2/networksettings2/wextensions.cpp b/noncore/settings/networksettings2/networksettings2/wextensions.cpp
index 778990c..c10bdc3 100644
--- a/noncore/settings/networksettings2/networksettings2/wextensions.cpp
+++ b/noncore/settings/networksettings2/networksettings2/wextensions.cpp
@@ -52,10 +52,10 @@ QString WExtensions::station(){
iwr.u.data.length = IW_ESSID_MAX_SIZE;
iwr.u.data.flags = 0;
if ( 0 == ioctl( fd, SIOCGIWNICKN, &iwr )){
- iwr.u.data.pointer[(unsigned int) iwr.u.data.length-1] = '\0';
- return QString(iwr.u.data.pointer);
+ buffer[(unsigned int) iwr.u.data.length-1] = '\0';
+ return (const char *)buffer;
}
- return QString();
+ return QString::null;
}
/**
@@ -64,9 +64,13 @@ QString WExtensions::station(){
QString WExtensions::essid(){
if(!hasWirelessExtensions)
return QString();
+ const char* buffer[200];
+ iwr.u.data.pointer = (caddr_t) buffer;
+ iwr.u.data.length = IW_ESSID_MAX_SIZE;
+ iwr.u.data.flags = 0;
if ( 0 == ioctl( fd, SIOCGIWESSID, &iwr )){
- iwr.u.essid.pointer[(unsigned int) iwr.u.essid.length] = '\0';
- return QString(iwr.u.essid.pointer);
+ buffer[(unsigned int) iwr.u.essid.length] = '\0';
+ return (const char *)buffer;
}
return QString();
}