MCPcopy Create free account
hub / github.com/KDE/kdiff3 / safeStringSplit

Function safeStringSplit

src/common.cpp:100–134  ·  view source on GitHub ↗

Split a string that was joined with safeStringJoin

Source from the content-addressed store, hash-verified

98
99// Split a string that was joined with safeStringJoin
100QStringList safeStringSplit(const QString& s, char sepChar, char metaChar)
101{
102 assert(sepChar != metaChar);
103 QStringList sl;
104 // Miniparser
105 qsizetype i = 0;
106 qsizetype len = s.length();
107 QString b;
108 for(i = 0; i < len; ++i)
109 {
110 if(i + 1 < len && s[i] == metaChar && s[i + 1] == metaChar)
111 {
112 b += metaChar;
113 ++i;
114 }
115 else if(i + 1 < len && s[i] == metaChar && s[i + 1] == sepChar)
116 {
117 b += sepChar;
118 ++i;
119 }
120 else if(s[i] == sepChar) // real separator
121 {
122 sl.push_back(b);
123 b = "";
124 }
125 else
126 {
127 b += s[i];
128 }
129 }
130 if(!b.isEmpty())
131 sl.push_back(b);
132
133 return sl;
134}
135
136void ValueMap::writeEntry(const QString& k, const QFont& v)
137{

Callers 1

readListEntryMethod · 0.85

Calls 2

push_backMethod · 0.80
isEmptyMethod · 0.45

Tested by

no test coverage detected