Lines Matching refs:pathname
32 size_t canonicalize(std::string& pathname) {
50 if (pathname.empty())
56 while (handler < pathname.size()) {
57 if (separator == pathname[handler]) { // handler = 1st '/'
59 if (next >= pathname.size())
61 switch (pathname[next]) { // next = handler + 1;
63 while (next < pathname.size() && separator == pathname[next])
66 pathname.erase(handler, next - handler - 1);
73 if (next >= pathname.size()) // '/.'
75 switch (pathname[next]) {
77 pathname.erase(handler, 2);
82 if (next >= pathname.size()) // '/..?'
84 switch (pathname[next]) {
88 pathname.erase(handler + 1, next - handler);
91 handler = pathname.find_first_of(separator, handler);
101 handler = pathname.find_first_of(separator, handler + 3);
109 handler = pathname.find_first_of(separator, handler + 2);
117 handler = pathname.find_first_of(separator, handler + 1);
122 handler = pathname.find_first_of(separator, handler);