63 static const char dot[] =
".";
68 last_slash = path != NULL ? strrchr(path,
'/') : NULL;
72 last_slash = path != NULL ? strrchr(path,
'\\') : NULL;
73 separator = last_slash ?
'\\' :
'/';
76 if (last_slash != NULL && last_slash != path && last_slash[1] ==
'\0')
81 for (runp = last_slash; runp != path; --runp)
83 if (runp[-1] != separator)
92 last_slash = (
char *)
__memrchr(path, separator, runp - path);
96 if (last_slash != NULL)
101 for (runp = last_slash; runp != path; --runp)
103 if (runp[-1] != separator)
116 if (last_slash == path + 1)
122 last_slash = path + 1;
130 last_slash[0] =
'\0';