Diffstat (limited to 'noncore/settings/networksettings/mainwindow/mainwindowimp.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/settings/networksettings/mainwindow/mainwindowimp.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/noncore/settings/networksettings/mainwindow/mainwindowimp.cpp b/noncore/settings/networksettings/mainwindow/mainwindowimp.cpp index 650e634..e81f603 100644 --- a/noncore/settings/networksettings/mainwindow/mainwindowimp.cpp +++ b/noncore/settings/networksettings/mainwindow/mainwindowimp.cpp @@ -183,33 +183,34 @@ void MainWindowImp::getAllInterfaces() { struct ifreq ifrs[100]; struct ifconf ifc; ifc.ifc_len = sizeof(ifrs); ifc.ifc_req = ifrs; result = ioctl(sockfd, SIOCGIFCONF, &ifc); for (unsigned int i = 0; i < ifc.ifc_len / sizeof(struct ifreq); i++) { struct ifreq *pifr = &ifrs[i]; if ( !QString( pifr->ifr_name ).startsWith( "wifi" ) ) ifaces += pifr->ifr_name; else odebug << "ignoring hostap control interface " << pifr->ifr_name << oendl; } } else { - procFile.open(IO_ReadOnly); + if (!procFile.open(IO_ReadOnly)) + owarn << "Failed to open proc file " << procFile.name() << oendl; QString line; QTextStream procTs(&procFile); int loc = -1; procTs.readLine(); // eat a line procTs.readLine(); // eat a line while((line = procTs.readLine().simplifyWhiteSpace()) != QString::null) { if((loc = line.find(":")) != -1) { // ignore wifi* (hostap control interfaces) if ( !line.left(loc).startsWith( "wifi" ) ) ifaces += line.left(loc); else odebug << "ignoring hostap control interface " << line.left(loc) << oendl; } } } @@ -719,33 +720,34 @@ void MainWindowImp::receive(const QCString &msg, const QByteArray &arg) else odebug << "Huh what do ya want" << oendl; } void MainWindowImp::setHostname() { static QRegExp filter("[^A-Za-z0-9_\\-\\.]"); if (filter.match(m_Nameinput->text())!=-1) { odebug << "Wrong hostname" << oendl; QMessageBox::critical(0, tr("Sorry"), tr("This is a wrong name.<br>Please use A-Z, a-z, _, - or a single dot.")); return; } OProcess h; _procTemp=""; h << "hostname" << m_Nameinput->text(); connect(&h,SIGNAL(receivedStderr(Opie::Core::OProcess*,char*,int)),this,SLOT(slotHostname(Opie::Core::OProcess*,char*,int))); - h.start(OProcess::Block,OProcess::Stderr); + if (!h.start(OProcess::Block,OProcess::Stderr)) + owarn << "Failed execution of 'hostname'. Are the paths correct?" << oendl; odebug << "Got " << _procTemp << " - " << h.exitStatus() << oendl; if (h.exitStatus()!=0) { QMessageBox::critical(0, tr("Sorry"), QString(tr("Could not set name.\n%1")).arg(_procTemp.stripWhiteSpace())); return; } _procTemp=""; QFile f(_HOSTFILE); if (f.open(IO_Truncate|IO_WriteOnly)) { QTextStream s(&f); s << m_Nameinput->text(); } else { QMessageBox::critical(0, tr("Sorry"), tr("Could not save name.")); return; } @@ -755,31 +757,32 @@ void MainWindowImp::setHostname() if (f.open(IO_WriteOnly)) { QTextStream s(&f); s << m_Nameinput->text(); } else { QMessageBox::critical(0, tr("Sorry"), tr("Could not set infrared name.")); } } void MainWindowImp::initHostname() { OProcess h; _procTemp=""; h << "hostname"; connect(&h,SIGNAL(receivedStdout(Opie::Core::OProcess*,char*,int)),this,SLOT(slotHostname(Opie::Core::OProcess*,char*,int))); - h.start(OProcess::Block,OProcess::AllOutput); + if (!h.start(OProcess::Block,OProcess::AllOutput)) + owarn << "Could not execute 'hostname'. Are the paths correct?" oendl; odebug << "Got " << _procTemp <<oendl; m_Nameinput->setText(_procTemp.stripWhiteSpace()); _procTemp=""; } -void MainWindowImp::slotHostname(Opie::Core::OProcess */*proc*/, char *buffer, int buflen) +void MainWindowImp::slotHostname(Opie::Core::OProcess * /*proc*/, char *buffer, int buflen) { if (buflen < 1 || buffer==0) return; char*_t = new char[buflen+1]; ::memset(_t,0,buflen+1); ::memcpy(_t,buffer,buflen); _procTemp+=_t; delete[]_t; } |