Skip to content

Commit f59a391

Browse files
committed
fix: 识别网卡的逻辑名称错误
过滤重复网卡逻辑名称数据 Log: 修改识别网卡的逻辑名称错误 Bug: https://pms.uniontech.com/bug-view-253311.html
1 parent 43a643c commit f59a391

1 file changed

Lines changed: 19 additions & 5 deletions

File tree

deepin-devicemanager/src/GenerateDevice/CmdTool.cpp

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)