mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-07 02:35:33 +08:00
Ref T415, utility function to parse "ini"-file
This commit is contained in:
@@ -151,7 +151,7 @@ namespace BlackMisc
|
|||||||
for (int i = 0; i < bytes.size(); i++)
|
for (int i = 0; i < bytes.size(); i++)
|
||||||
{
|
{
|
||||||
const int b = static_cast<int>(bytes.at(i));
|
const int b = static_cast<int>(bytes.at(i));
|
||||||
h.append(intToHex(b, 2));
|
h += intToHex(b, 2);
|
||||||
}
|
}
|
||||||
return h;
|
return h;
|
||||||
}
|
}
|
||||||
@@ -398,6 +398,24 @@ namespace BlackMisc
|
|||||||
if (set.isEmpty()) { return QStringLiteral(""); }
|
if (set.isEmpty()) { return QStringLiteral(""); }
|
||||||
return set.toList().join(separator);
|
return set.toList().join(separator);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QMap<QString, QString> parseIniValues(const QString &data)
|
||||||
|
{
|
||||||
|
QMap<QString, QString> map;
|
||||||
|
QList<QStringRef> lines = splitLinesRefs(data);
|
||||||
|
for (const QStringRef &l : lines)
|
||||||
|
{
|
||||||
|
if (l.isEmpty()) { continue; }
|
||||||
|
const int i = l.indexOf("=");
|
||||||
|
if (i < 0 || i >= l.length() + 1) { continue; }
|
||||||
|
|
||||||
|
const QString key = l.left(i).trimmed().toString();
|
||||||
|
const QString value = l.mid(i + 1).toString();
|
||||||
|
if (value.isEmpty()) { continue; }
|
||||||
|
map.insert(key, value);
|
||||||
|
}
|
||||||
|
return map;
|
||||||
|
}
|
||||||
} // ns
|
} // ns
|
||||||
|
|
||||||
//! \endcond
|
//! \endcond
|
||||||
|
|||||||
@@ -26,6 +26,7 @@
|
|||||||
#include <QTextStream>
|
#include <QTextStream>
|
||||||
#include <QtGlobal>
|
#include <QtGlobal>
|
||||||
#include <QSet>
|
#include <QSet>
|
||||||
|
#include <QMap>
|
||||||
#include <iosfwd>
|
#include <iosfwd>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
@@ -115,6 +116,9 @@ namespace BlackMisc
|
|||||||
return s.trimmed();
|
return s.trimmed();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//! Obtain ini file like values, e.g. foo=bar
|
||||||
|
BLACKMISC_EXPORT QMap<QString, QString> parseIniValues(const QString &data);
|
||||||
|
|
||||||
//! Is 0-9 char, isDigit allows a bunch of more characters
|
//! Is 0-9 char, isDigit allows a bunch of more characters
|
||||||
inline bool is09(const QChar &c) { return c >= u'0' && c <= u'9'; }
|
inline bool is09(const QChar &c) { return c >= u'0' && c <= u'9'; }
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user