@@ -1034,8 +1034,10 @@ void CmdTool::getMapInfoFromLshw(const QString &info, QMap<QString, QString> &ma
10341034
10351035 // && words[0].contains("configuration") == false && words[0].contains("resources") == false
10361036 // 将configuration的内容进行拆分
1037- if (true == words[0 ].contains (" configuration" )) {
1038- QStringList keyValues = words[1 ].split (" " );
1037+ QString keyStr = words[0 ].trimmed ();
1038+ QString valueStr = words[1 ].trimmed ();
1039+ if (keyStr.contains (" configuration" )) {
1040+ QStringList keyValues = valueStr.split (" " );
10391041
10401042 for (QStringList::iterator itKV = keyValues.begin (); itKV != keyValues.end (); ++itKV) {
10411043 QStringList attr = (*itKV).split (" =" );
@@ -1044,8 +1046,8 @@ void CmdTool::getMapInfoFromLshw(const QString &info, QMap<QString, QString> &ma
10441046
10451047 mapInfo.insert (attr[0 ].trimmed (), attr[1 ].trimmed ());
10461048 }
1047- } else if (true == words[ 0 ] .contains (" resources" )) {
1048- QStringList keyValues = words[ 1 ] .split (" " );
1049+ } else if (keyStr .contains (" resources" )) {
1050+ QStringList keyValues = valueStr .split (" " );
10491051
10501052 for (QStringList::iterator itKV = keyValues.begin (); itKV != keyValues.end (); ++itKV) {
10511053 QStringList attr = (*itKV).split (" :" );
@@ -1058,7 +1060,19 @@ void CmdTool::getMapInfoFromLshw(const QString &info, QMap<QString, QString> &ma
10581060 mapInfo[attr[0 ].trimmed ()] += attr[1 ].trimmed ();
10591061 }
10601062 } else {
1061- mapInfo.insert (words[0 ].trimmed (), words[1 ].trimmed ());
1063+ // 过滤重复网卡逻辑名称数据
1064+ if (info.startsWith (" network" )) {
1065+ if (mapInfo.contains (keyStr) && keyStr == " logical name" ) {
1066+ if (!valueStr.startsWith (" /dev" ) && mapInfo[" logical name" ].startsWith (" /dev" )){
1067+ mapInfo.remove (keyStr);
1068+ mapInfo.insert (keyStr, valueStr);
1069+ }
1070+ } else {
1071+ mapInfo.insert (keyStr, valueStr);
1072+ }
1073+ } else {
1074+ mapInfo.insert (keyStr, valueStr);
1075+ }
10621076 }
10631077 }
10641078}
0 commit comments