}
// Remove . and ..
- read = write = 1; // Cwd has already been parsed
+ read = write = 0; // Cwd has already been parsed
for(; read < baseLen+pathLen; read = pos+1)
{
pos = strpos( &ret[read], '/' );
if(strncmp(&ret[read], "..", pos-read) == 0)
{
// If there is no higher, silently ignore
- if(!slashNum) continue;
+ if(slashNum < 2) continue;
// Reverse write pointer
- write = slashOffsets[ --slashNum ];
+ write = slashOffsets[ --slashNum - 1 ];
continue;
}
}