Ruby  3.4.0dev (2024-12-06 revision 892c46283a5ea4179500d951c9d4866c0051f27b)
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 */