pisdr windows drives support

git-svn-id: svn://db.shs.com.ru/pip@57 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5
This commit is contained in:
2015-04-01 11:58:17 +00:00
parent 136e5ea040
commit fce75cb88f
13 changed files with 364 additions and 26 deletions

View File

@@ -265,7 +265,7 @@ bool PIString::operator >(const PIString & str) const {
PIString PIString::mid(const int start, const int len) const {
//PIString str;
int s = start, l = len;
if (l == 0) return PIString();
if (l == 0 || start >= length()) return PIString();
if (s < 0) {
l += s;
s = 0;
@@ -273,12 +273,13 @@ PIString PIString::mid(const int start, const int len) const {
if (l < 0) {
//for (uint i = s; i < size(); ++i)
// str += at(i);
return PIString(&(at(s)), size() - s);
return PIString(&(at(s)), size_s() - s);
} else {
if (l > length() - s)
l = length() - s;
//for (int i = s; i < s + l; ++i)
// str += at(i);
//std::cout << "mid " << s << " " << l << " " << size_s() << " " << start << " " << len << "\n";
return PIString(&(at(s)), l);
}
return PIString();