diff --git a/main.cpp b/main.cpp index 3e6601b4..d27f3fdd 100644 --- a/main.cpp +++ b/main.cpp @@ -31,29 +31,14 @@ const char pult_config[] = connectionmodel = AAAM2Xja7VXLTttAFD12QpsikKjUSixYlLbKEpIUtVIlVEfqhk2FWuiGRRolUYtoHgrmpYiv6IItf8AveMMH9E/YsG6Ph3sde5hGoQoblLGuPHfunTPjc49nADxDA110+LTYC7FrPCAPeAO+vZu+aX7c/8PGd45WCJC0OGcfT6FDnmfSTPtwhZFt3HjgDs/Qtu5jPbZHtI/x50XfIzMQbdwEolbg9INP4ku++myPaUtCHYRaT2j1ldIh3VP60/Qff8vSfXLu9BP6JX9K/0TVH6jqVe22P1X/fao/oddWu/paDs1vBf9Jv/EZ91clbyHqv7BL6sscDOd4v4WTqs6jzaHGJ8QJerxlpJSpdZ7IWFJvDW7I2JxZqIM62k6A57RZmMQGmlyrxdV+WGBnmR01mXPI267hBKwp4FeBeo9VPtssxyb7rzHg1B7T9nCMU45U8BZlWuVWtIcD/CRGOqtsbW09851tXsHN0UTlLIAdASjSXnLyLn+H7L2+xbGYvC63Ezqg543egkLmn8qnRF6USbM4Qp9godkhzI777Ne5bCIt/5UtGz2o/yGby0nKpjqmbOa1ynkjmyzIrzvIZUeBPjvlUmbh32EFJbGyJZhR8YcvlS+3TpjhqeWSyvUkpbI9plSWtcKLcsK05beOJVEnhaEFfHEH+RwpeMcpn1JKGqWMNOL+G6wZyahlpdVOtufKfbDS+guLke9O\n\ "; */ -int asize(ssize_t s, size_t pid_rsize) { - if (s <= 0) return 0; - if (pid_rsize + pid_rsize >= size_t(s) && pid_rsize < size_t(s)) - return pid_rsize + pid_rsize; - ssize_t t = 0, s_ = ssize_t(s) - 1; - while (s_ >> t) ++t; - return (1 << t); -} int main(int argc, char *argv[]) { - PIString s = "jksd=ghjcjvblknmhjvbkln"; - piCout << s.left(s.find("=")); - piCout << s.right(s.size() - s.find("=") - 1); -// PIMutex m; -// m.lock(); -// m.unlock(); -// m.lock(); -// m.unlock(); -// m.lock(); -// m.lock(); -// m.lock(); -// m.lock(); -// piCout << "finish" << m.isLocked(); + PIDir d;//(PIDir::current().absolutePath()); + d.cd("0"); + d.cd("1"); + d.cd("2"); + piCout << d.absolutePath(); + piCout << d.make(); // PIDiagnostics d; // piCout << d.receiveBytesPerSec(); diff --git a/src_main/io/pidir.cpp b/src_main/io/pidir.cpp index a17af532..38ce2924 100755 --- a/src_main/io/pidir.cpp +++ b/src_main/io/pidir.cpp @@ -186,26 +186,39 @@ PIDir & PIDir::cd(const PIString & path) { bool PIDir::make(bool withParents) { PIDir d = cleanedPath(); PIString tp; - bool is_abs = isAbsolute(); + //bool is_abs = isAbsolute(); if (withParents) { PIStringList l = d.path().split(separator); - for (int i = l.size_s() - 1; i >= 0; --i) { + //piCout << l; + l.removeAll(""); + //piCout << l; + PIString cdp; + piForeachC (PIString & i, l) { + if (!cdp.isEmpty()) + cdp += separator; + cdp += i; + //piCout << cdp; + if (!isExists(cdp)) + if (!makeDir(cdp)) + return false; + } + /*for (int i = l.size_s() - 1; i >= 0; --i) { if (i > 1) tp = PIStringList(l).remove(i, l.size_s() - i).join(separator); else { tp = separator; if (!is_abs) tp.push_front('.'); } - //piCout << tp; + piCout << "check" << tp; if (isExists(tp)) { for (int j = i + 1; j <= l.size_s(); ++j) { tp = PIStringList(l).remove(j, l.size_s() - j).join(separator); - //piCout << tp; + piCout << "make" << tp; if (makeDir(tp)) continue; else return false; } break; }; - } + }*/ return true; } else if (makeDir(d.path())) return true;