summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/netlist/plib/putil.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/netlist/plib/putil.cpp')
-rw-r--r--src/lib/netlist/plib/putil.cpp26
1 files changed, 13 insertions, 13 deletions
diff --git a/src/lib/netlist/plib/putil.cpp b/src/lib/netlist/plib/putil.cpp
index 234b4e6cbaa..ddb300958ea 100644
--- a/src/lib/netlist/plib/putil.cpp
+++ b/src/lib/netlist/plib/putil.cpp
@@ -44,20 +44,20 @@ namespace plib
{
std::vector<pstring> ret;
- pstring::iterator p = str.begin();
- pstring::iterator pn = str.find(onstr, p);
+ pstring::size_type p = 0;
+ pstring::size_type pn = str.find(onstr, p);
- while (pn != str.end())
+ while (pn != pstring::npos)
{
- pstring t = str.substr(p, pn);
+ pstring t = str.substr(p, pn - p);
if (!ignore_empty || t.len() != 0)
ret.push_back(t);
- p = std::next(pn, onstr.len());
+ p = pn + onstr.len();
pn = str.find(onstr, p);
}
- if (p != str.end())
+ if (p < str.len())
{
- pstring t = str.substr(p, str.end());
+ pstring t = str.substr(p);
if (!ignore_empty || t.len() != 0)
ret.push_back(t);
}
@@ -69,13 +69,13 @@ namespace plib
pstring col = "";
std::vector<pstring> ret;
- unsigned i = 0;
- while (i<str.blen())
+ auto i = str.begin();
+ while (i != str.end())
{
std::size_t p = static_cast<std::size_t>(-1);
for (std::size_t j=0; j < onstrl.size(); j++)
{
- if (std::equal(onstrl[j].c_str(), onstrl[j].c_str() + onstrl[j].blen(), &(str.c_str()[i])))
+ if (std::equal(onstrl[j].c_str(), onstrl[j].c_str() + onstrl[j].size(), i))
{
p = j;
break;
@@ -88,13 +88,13 @@ namespace plib
col = "";
ret.push_back(onstrl[p]);
- i += onstrl[p].blen();
+ i = std::next(i, static_cast<pstring::difference_type>(onstrl[p].len()));
}
else
{
- pstring::traits::code_t c = pstring::traits::code(str.c_str() + i);
+ pstring::code_t c = *i;
col += c;
- i+=pstring::traits::codelen(c);
+ i++;
}
}
if (col != "")