#include <windows.h>
#endif
-#ifndef _MSC_VER
#include "libgen.h" /* POSIX dirname */
-#endif
/** @brief Get a single line from the stream (reimplementation of the GNU getline)
*
* The argument is never modified, and the returned value must be freed after use.
*/
char *xbt_dirname(const char *path) {
-#ifdef _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
+ char *tmp = xbt_strdup(path);
+ char *res = xbt_strdup(dirname(tmp));
+ free(tmp);
+ return res;
}
+
/** @brief Returns the file component of a path (reimplementation of POSIX basename)
*
* The argument is never modified, and the returned value must be freed after use.
*/
char *xbt_basename(const char *path) {
-#ifdef _MSC_VER
- char file[1024];
- char ext[1024];
- errno_t err;
- err = _splitpath_s(path, NULL,0, NULL,0, file,1024, ext,1024);
- return bprintf("%s.%s",file,ext);
-#else
- char *tmp = xbt_strdup(path);
- char *res = xbt_strdup(basename(tmp));
- free(tmp);
- return res;
-#endif
+ char *tmp = xbt_strdup(path);
+ char *res = xbt_strdup(basename(tmp));
+ free(tmp);
+ return res;
}