Ruby 3.5.0dev (2025-02-20 revision 34098b669c0cbc024cd08e686891f1dfe0a10aaf)
dosish.h
Go to the documentation of this file.
1#ifndef RBIMPL_DOSISH_H /*-*-C++-*-vi:se ft=cpp:*/
2#define RBIMPL_DOSISH_H
23#ifdef __CYGWIN__
24#undef _WIN32
25#endif
26
27#if defined(_WIN32)
28/*
29 DOSISH mean MS-Windows style filesystem.
30 But you should use more precise macros like DOSISH_DRIVE_LETTER, PATH_SEP,
31 ENV_IGNORECASE or CASEFOLD_FILESYSTEM.
32 */
33#define DOSISH 1
34# define DOSISH_DRIVE_LETTER
35#endif
36
37#ifdef _WIN32
38#include "ruby/win32.h"
39#endif
40
42#if defined(DOSISH)
43#define PATH_SEP ";"
44#else
45#define PATH_SEP ":"
46#endif
47
49#define PATH_SEP_CHAR PATH_SEP[0]
50
63#define PATH_ENV "PATH"
64
65#if defined(DOSISH)
66#define ENV_IGNORECASE
67#endif
68
81#ifndef CASEFOLD_FILESYSTEM
82# if defined DOSISH
83# define CASEFOLD_FILESYSTEM 1
84# else
85# define CASEFOLD_FILESYSTEM 0
86# endif
87#endif
88
89#endif /* RBIMPL_DOSISH_H */