diff options
Diffstat (limited to 'command_line/CmdLine/Src/OSLib/Posix.c')
-rw-r--r-- | command_line/CmdLine/Src/OSLib/Posix.c | 36 |
1 files changed, 17 insertions, 19 deletions
diff --git a/command_line/CmdLine/Src/OSLib/Posix.c b/command_line/CmdLine/Src/OSLib/Posix.c index e836653..dc22651 100644 --- a/command_line/CmdLine/Src/OSLib/Posix.c +++ b/command_line/CmdLine/Src/OSLib/Posix.c @@ -31,7 +31,7 @@ int _plen = strlen((spec)->s); \ if (_plen >= sizeof(pathbuf)) return 63;\ memcpy((pathbuf), (spec)->s, _plen + 1);\ if (_plen > 1) { \ -if ((pathbuf)[_plen - 1] == '/') \ +if ((pathbuf)[_plen - 1] == OS_PATHSEP) \ (pathbuf)[_plen - 1] = 0; \ } \ } while (0) @@ -260,7 +260,7 @@ int OS_GetCWD(OSPathSpec *spec) { return errno; ptr = &spec->s[strlen(spec->s)]; - if (ptr[-1] != '/') + if (ptr[-1] != OS_PATHSEP) strcpy(ptr, "/"); return 0; } @@ -332,15 +332,13 @@ int OS_IsLegalPath(const char *path) { fnlen = 0; while (*scan) { - if (*scan == '/') + if (*scan == OS_PATHSEP) fnlen = 0; else fnlen++; ++pthlen; if (fnlen > 63 || pthlen > 255) return ENAMETOOLONG; - //if ((fnlen = (*scan == '/') ? 0 : (fnlen + 1)) > 63 || ++pthlen > 255) - // return ENAMETOOLONG; ++scan; } @@ -348,7 +346,7 @@ int OS_IsLegalPath(const char *path) { } int OS_IsFullPath(const char *path) { - return path[0] == '/'; + return path[0] == OS_PATHSEP; } char *OS_GetDirPtr(char *path) { @@ -375,7 +373,7 @@ static int OS_CompactPath(char *src, char *dst) { to = bptr; while (*from) { brk = from + 1; - while (*brk && *brk != '/') + while (*brk && *brk != OS_PATHSEP) ++brk; if ((brk - from) == 1) { @@ -386,7 +384,7 @@ static int OS_CompactPath(char *src, char *dst) { if (to > bptr) { do { to--; - } while (to >= bptr && *to != '/'); + } while (to >= bptr && *to != OS_PATHSEP); } from = brk; } else { @@ -396,8 +394,8 @@ static int OS_CompactPath(char *src, char *dst) { } } - if (to == bptr || from[-1] == '/') - *(to++) = '/'; + if (to == bptr || from[-1] == OS_PATHSEP) + *(to++) = OS_PATHSEP; *to = 0; if (!dst) @@ -421,7 +419,7 @@ int OS_CanonPath(char *src, char *dst) { for (idx = 0; src[idx]; idx++) { if (src[idx] == '\\') - dst[idx] = '/'; + dst[idx] = OS_PATHSEP; else dst[idx] = src[idx]; } @@ -451,8 +449,8 @@ int OS_MakeSpec(const char *path, OSSpec *spec, Boolean *isfile) { return errno; ptr = tmp + strlen(tmp) - 1; - if (ptr[0] != '/') { - ptr[1] = '/'; + if (ptr[0] != OS_PATHSEP) { + ptr[1] = OS_PATHSEP; ptr[2] = 0; ptr += 2; } @@ -475,12 +473,12 @@ int OS_MakeSpec(const char *path, OSSpec *spec, Boolean *isfile) { if (!stat(tmp, &st)) { ptr = tmp + strlen(tmp); - if (ptr[-1] == '/') + if (ptr[-1] == OS_PATHSEP) ptr--; if ((st.st_mode & S_IFMT) == S_IFDIR) { if (isfile) *isfile = 0; - ptr[0] = '/'; + ptr[0] = OS_PATHSEP; ptr++; } else { if (isfile) @@ -494,7 +492,7 @@ int OS_MakeSpec(const char *path, OSSpec *spec, Boolean *isfile) { *isfile = 1; } - ptr = strrchr(tmp, '/') + 1; + ptr = strrchr(tmp, OS_PATHSEP) + 1; len = ptr - tmp; if (len >= 256) { spec->path.s[0] = 0; @@ -561,7 +559,7 @@ int OS_MakeNameSpec(const char *name, OSNameSpec *spec) { spec->s[0] = 0; if (len > 63) return ENAMETOOLONG; - if (strchr(name, '/')) + if (strchr(name, OS_PATHSEP)) return EISDIR; if (strlen(name) > 63) return ENAMETOOLONG; @@ -694,7 +692,7 @@ int OS_IsLink(const OSSpec *spec) { return 0; ptr = intbuf + strlen(intbuf) - 1; - if (*ptr == '/') + if (*ptr == OS_PATHSEP) *ptr = 0; if (lstat(intbuf, &st) < 0) @@ -716,7 +714,7 @@ int OS_ResolveLink(const OSSpec *link, OSSpec *target) { return errno; fn[len] = 0; - sprintf(path, "%s%s", (fn[0] != '/') ? link->path.s : "", fn); + sprintf(path, "%s%s", (fn[0] != OS_PATHSEP) ? link->path.s : "", fn); return OS_MakeSpec(path, target, 0); } |