p = s = start;
do {
if (*p == '/') {
- if (*s == '/') { /* skip duplicate (or initial) slash */
+ if (*s == '/') { /* skip duplicate (or initial) slash */
continue;
}
if (*s == '.') {
- if (s[1] == '/' || !s[1]) { /* remove extra '.' */
+ if (s[1] == '/' || !s[1]) { /* remove extra '.' */
continue;
}
if ((s[1] == '.') && (s[2] == '/' || !s[2])) {
++s;
if (p > start) {
- while (*--p != '/') /* omit previous dir */
+ while (*--p != '/') /* omit previous dir */
continue;
}
continue;
*++p = *s;
} while (*++s);
- if ((p == start) || (*p != '/')) { /* not a trailing slash */
- ++p; /* so keep last character */
+ if ((p == start) || (*p != '/')) { /* not a trailing slash */
+ ++p; /* so keep last character */
}
*p = '\0';
return p;