summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/networksettings/wlan/wextensions.cpp16
1 files changed, 10 insertions, 6 deletions
diff --git a/noncore/settings/networksettings/wlan/wextensions.cpp b/noncore/settings/networksettings/wlan/wextensions.cpp
index fe21f02..8a9db66 100644
--- a/noncore/settings/networksettings/wlan/wextensions.cpp
+++ b/noncore/settings/networksettings/wlan/wextensions.cpp
@@ -56,10 +56,10 @@ QString WExtensions::station(){
56 iwr.u.data.length = IW_ESSID_MAX_SIZE; 56 iwr.u.data.length = IW_ESSID_MAX_SIZE;
57 iwr.u.data.flags = 0; 57 iwr.u.data.flags = 0;
58 if ( 0 == ioctl( fd, SIOCGIWNICKN, &iwr )){ 58 if ( 0 == ioctl( fd, SIOCGIWNICKN, &iwr )){
59 iwr.u.data.pointer[(unsigned int) iwr.u.data.length-1] = '\0'; 59 buffer[(unsigned int) iwr.u.data.length-1] = '\0';
60 return QString(iwr.u.data.pointer); 60 return (const char*) buffer;
61 } 61 }
62 return QString(); 62 return QString::null;
63} 63}
64 64
65/** 65/**
@@ -68,11 +68,15 @@ QString WExtensions::station(){
68QString WExtensions::essid(){ 68QString WExtensions::essid(){
69 if(!hasWirelessExtensions) 69 if(!hasWirelessExtensions)
70 return QString(); 70 return QString();
71 const char* buffer[200];
72 iwr.u.data.pointer = (caddr_t) buffer;
73 iwr.u.data.length = IW_ESSID_MAX_SIZE;
74 iwr.u.data.flags = 0;
71 if ( 0 == ioctl( fd, SIOCGIWESSID, &iwr )){ 75 if ( 0 == ioctl( fd, SIOCGIWESSID, &iwr )){
72 iwr.u.essid.pointer[(unsigned int) iwr.u.essid.length] = '\0'; 76 buffer[(unsigned int) iwr.u.essid.length] = '\0';
73 return QString(iwr.u.essid.pointer); 77 return (const char*) buffer;
74 } 78 }
75 return QString(); 79 return QString::null;
76} 80}
77 81
78/** 82/**