diff -ur kwlaninfo-0.8.1/src/kwlaninfo.cpp kwlaninfo-0.8.1new/src/kwlaninfo.cpp --- kwlaninfo-0.8.1/src/kwlaninfo.cpp 2004-02-29 19:42:00.000000000 +0100 +++ kwlaninfo-0.8.1new/src/kwlaninfo.cpp 2004-03-01 08:48:07.000000000 +0100 @@ -359,14 +359,25 @@ if ( (f = popen(IWCONFIG" "+QCString(if_dev.name),"r")) != NULL ) { QStringList list = QStringList(); char *linebuf = (char*)malloc(255); - size_t n=255; - while ( getline(&linebuf,&n,f) != EOF ) + QString nick, essid; + size_t n = 255; + + while ( getline(&linebuf,&n,f) != EOF ) list+=QStringList::split(QRegExp(" {2,}"),linebuf); pclose(f); - strlcpy(if_dev.essid,list.grep("ESSID").first().section(":",1).remove("\""),sizeof(if_dev.essid)); - strlcpy(if_dev.nick,list.grep("Nickname").first().section(":",1).remove("\""),sizeof(if_dev.nick)); + + if((essid = list.grep("ESSID").first().section(":",1).remove("\"")) && strlen(essid)) + strlcpy(if_dev.essid, essid, sizeof(if_dev.essid)); + else + strlcpy(if_dev.essid, i18n("Undefined"), sizeof(if_dev.essid)); + + if((nick = list.grep("Nickname").first().section(":",1).remove("\""))) + strlcpy(if_dev.nick, nick, sizeof(if_dev.nick)); + else + strlcpy(if_dev.nick, i18n("Undefined"), sizeof(if_dev.nick)); + strlcpy(if_dev.mode,list.grep("Mode").first().section(":",1),sizeof(if_dev.mode)); - if_dev.freq=(list.grep("Frequency").first().remove(QRegExp("[^0-9]")).toInt()); + if_dev.freq = (list.grep("Frequency").first().remove(QRegExp("[^0-9]")).toInt()); strlcpy(if_dev.bitrate,list.grep("Bit Rate").first().section(":",1),sizeof(if_dev.bitrate)); strlcpy(if_dev.ap,list.grep("Access Point").first().section(": ",1),sizeof(if_dev.ap)); return true; @@ -406,13 +417,17 @@ { FILE *f = popen(IFCONFIG" "+QCString(if_dev.name),"r"); QStringList list = QStringList(); + QString inet; char *linebuf = (char*)malloc(255); size_t n=255; if ( f ) { while ( getline(&linebuf,&n,f) != EOF ) list+=QStringList::split(QRegExp(" {2,}"),linebuf); pclose(f); - strlcpy(if_dev.ip,list.grep("inet ").first().section(":",1),sizeof(if_dev.ip)); + if((inet = list.grep("inet ").first().section(":",1))) + strlcpy(if_dev.ip, inet, sizeof(if_dev.ip)); + else + strlcpy(if_dev.ip, i18n("Undefined"), sizeof(if_dev.ip)); } }