In addition to ';', allow the use of ':' as a path
separator in RMACPATH, the -i parameter, and any
other uses of nthpath. This makes rmac more
consistent with standard Unix tool behavior on
Unix-like systems.
return name;
}
+static int is_sep(char c)
+{
+ const char *seps = PATH_SEPS;
+
+ for (seps = PATH_SEPS; *seps; seps++) {
+ if (*seps == c)
+ return 1;
+ }
+
+ return 0;
+}
//
// Return 'item'nth element of semicolon-seperated pathnames specified in the
return 0;
while (itemno--)
- while (*s != EOS && *s++ != ';')
+ while (*s != EOS && !is_sep(*s++))
;
if (*s == EOS)
return 0;
- while (*s != EOS && *s != ';')
+ while (*s != EOS && !is_sep(*s))
*buf++ = *s++;
*buf++ = EOS;
#define _OPEN_FLAGS _O_TRUNC|_O_CREAT|_O_BINARY|_O_RDWR
#define _OPEN_INC _O_RDONLY|_O_BINARY
#define _PERM_MODE _S_IREAD|_S_IWRITE
+ #define PATH_SEPS ";"
#ifdef _MSC_VER
#if _MSC_VER > 1000
#define _OPEN_FLAGS O_TRUNC|O_CREAT|O_RDWR
#define _OPEN_INC O_RDONLY
#define _PERM_MODE S_IRUSR|S_IWUSR
+ #define PATH_SEPS ";:"
#ifdef __MINGW32__
#define off64_t long
#define _OPEN_FLAGS O_TRUNC|O_CREAT|O_RDWR
#define _OPEN_INC O_RDONLY
#define _PERM_MODE S_IREAD|S_IWRITE
+ #define PATH_SEPS ":;"
// Defined here, even though the platform may not support it...
#define DO_PRAGMA(x) _Pragma (#x)
#define WARNING(desc) DO_PRAGMA(message (#desc))