Diffstat (limited to 'noncore/settings/networksettings/interface.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/settings/networksettings/interface.cpp | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/noncore/settings/networksettings/interface.cpp b/noncore/settings/networksettings/interface.cpp index 5b21364..1f32093 100644 --- a/noncore/settings/networksettings/interface.cpp +++ b/noncore/settings/networksettings/interface.cpp @@ -2,4 +2,5 @@ #include <qdatetime.h> #include <qfile.h> +#include <qdir.h> #include <qfileinfo.h> #include <qtextstream.h> @@ -128,7 +129,12 @@ bool Interface::refresh(){ leaseExpires = ""; dhcp = false; - + + QString dhcpDirectory(HDCP_INFO_DIR); + QDir d(dhcpDirectory); + if(!d.exists(dhcpDirectory)) + dhcpDirectory = "/var/run"; + // See if we have - QString dhcpFile(QString(HDCP_INFO_DIR "/dhcpcd-%1.info").arg(interfaceName)); + QString dhcpFile(QString(dhcpDirectory+"/dhcpcd-%1.info").arg(interfaceName)); // If there is no DHCP information then exit now with no errors. if(!QFile::exists(dhcpFile)){ @@ -149,6 +155,6 @@ bool Interface::refresh(){ while ( !stream.eof() ) { line = stream.readLine(); - if(line.contains("DHCPSID=")) - dhcpServerIp = line.mid(8, line.length()); + if(line.contains("DHCPSIADDR=")) + dhcpServerIp = line.mid(11, line.length()); if(line.contains("LEASETIME=")) leaseTime = line.mid(10, line.length()).toInt(); @@ -161,5 +167,5 @@ bool Interface::refresh(){ // Get the pid of the deamond - dhcpFile = (QString(HDCP_INFO_DIR "/dhcpcd-%1.pid").arg(interfaceName)); + dhcpFile = (QString(dhcpDirectory+"/dhcpcd-%1.pid").arg(interfaceName)); file.setName(dhcpFile); if (!file.open(IO_ReadOnly)){ |