-#if _MSC_VER
- char drive[_MAX_DRIVE];
- char dir[_MAX_DIR];
- errno_t err;
- err = _splitpath_s(path, drive, _MAX_DRIVE, dir, _MAX_DIR, NULL,0, NULL,0);
- return bprintf("%s%s",drive,dir);
-#else
- char *tmp = xbt_strdup(path);
- char *res = xbt_strdup(dirname(tmp));
- free(tmp);
- return res;
-#endif