26 #elif defined(_MSC_VER)
43 const char *end = str;
66 static const char dot[] =
".";
71 last_slash = path != NULL ? strrchr(path,
'/') : NULL;
75 last_slash = path != NULL ? strrchr(path,
'\\') : NULL;
76 separator = last_slash ?
'\\' :
'/';
79 if (last_slash != NULL && last_slash != path && last_slash[1] ==
'\0')
84 for (runp = last_slash; runp != path; --runp)
86 if (runp[-1] != separator)
95 last_slash = (
char *)
__memrchr(path, separator, runp - path);
99 if (last_slash != NULL)
104 for (runp = last_slash; runp != path; --runp)
106 if (runp[-1] != separator)
119 if (last_slash == path + 1)
125 last_slash = path + 1;
133 last_slash[0] =
'\0';