private static int rb_path_next(byte[] _s, int s, int send) { while(s < send && !isdirsep(_s[s])) { s++; } return s; }
private static int rb_path_next(byte[] _s, int s, int send) { while(s < send && !isdirsep(_s[s])) { s++; } return s; }
private static boolean beginsWithDriveLetter(byte[] path, int begin, int end) { return DOSISH && begin + 2 < end && path[begin + 1] == ':' && isdirsep(path[begin + 2]); }
private static int rb_path_next(byte[] _s, int s, int send) { while(s < send && !isdirsep(_s[s])) { s++; } return s; }
private static int rb_path_next(byte[] _s, int s, int send) { while(s < send && !isdirsep(_s[s])) { s++; } return s; }
private static boolean isdirsep(byte c) { return isdirsep((char)(c & 0xFF)); }
private static boolean isdirsep(byte c) { return isdirsep((char)(c & 0xFF)); }
private static boolean beginsWithDriveLetter(byte[] path, int begin, int end) { return DOSISH && begin + 2 < end && path[begin + 1] == ':' && isdirsep(path[begin + 2]); }
private static boolean beginsWithDriveLetter(byte[] path, int begin, int end) { return DOSISH && begin + 2 < end && path[begin + 1] == ':' && isdirsep(path[begin + 2]); }
private static boolean beginsWithDriveLetter(byte[] path, int begin, int end) { return DOSISH && begin + 2 < end && path[begin + 1] == ':' && isdirsep(path[begin + 2]); }
private static boolean isRoot(byte[] base) { int length = base.length; return length == 0 || // empty length == 1 && isdirsep(base[0]) || // Just '/' length == 3 && beginsWithDriveLetter(base, 0, length); // Just X:/ }
private static boolean isRoot(byte[] base) { int length = base.length; return length == 0 || // empty length == 1 && isdirsep(base[0]) || // Just '/' length == 3 && beginsWithDriveLetter(base, 0, length); // Just X:/ }
private static boolean isRoot(byte[] base) { int length = base.length; return length == 0 || // empty length == 1 && isdirsep(base[0]) || // Just '/' length == 3 && beginsWithDriveLetter(base, 0, length); // Just X:/ }
private static boolean isRoot(byte[] base) { int length = base.length; return length == 0 || // empty length == 1 && isdirsep(base[0]) || // Just '/' length == 3 && beginsWithDriveLetter(base, 0, length); // Just X:/ }
private static boolean isAbsolutePath(byte[] path, int begin, int length) { return isdirsep(path[begin]) || beginsWithDriveLetter(path, begin, length); }
private static boolean isAbsolutePath(byte[] path, int begin, int length) { return isdirsep(path[begin]) || beginsWithDriveLetter(path, begin, length); }
private static boolean isAbsolutePath(byte[] path, int begin, int length) { return isdirsep(path[begin]) || beginsWithDriveLetter(path, begin, length); }
private static boolean isAbsolutePath(byte[] path, int begin, int length) { return isdirsep(path[begin]) || beginsWithDriveLetter(path, begin, length); }
switch(c) { case '?': if(s >= send || (pathname && isdirsep(string[s])) || (period && string[s] == '.' && (s == 0 || (pathname && isdirsep(string[s-1]))))) { return FNM_NOMATCH; case '*': while(pat < pend && (c = (char)(bytes[pat++] & 0xFF)) == '*') {} if(s < send && (period && string[s] == '.' && (s == 0 || (pathname && isdirsep(string[s-1]))))) { return FNM_NOMATCH; } else if((pathname && isdirsep(c))) { s = rb_path_next(string, s, send); if(s < send) { fnmatch(bytes, pat, pend, string, s, send, flags | FNM_DOTMATCH) == 0) { return 0; } else if((pathname && isdirsep(string[s]))) { break; if(s >= send || (pathname && isdirsep(string[s]) || (period && string[s] == '.' && (s == 0 || (pathname && isdirsep(string[s-1])))))) { return FNM_NOMATCH; if(DOSISH && (pathname && isdirsep(c) && isdirsep(string[s]))) { } else { if (nocase) {
switch(c) { case '?': if(s >= send || (pathname && isdirsep(string[s])) || (period && string[s] == '.' && (s == 0 || (pathname && isdirsep(string[s-1]))))) { return FNM_NOMATCH; case '*': while(pat < pend && (c = (char)(bytes[pat++] & 0xFF)) == '*') {} if(s < send && (period && string[s] == '.' && (s == 0 || (pathname && isdirsep(string[s-1]))))) { return FNM_NOMATCH; } else if((pathname && isdirsep(c))) { s = rb_path_next(string, s, send); if(s < send) { fnmatch(bytes, pat, pend, string, s, send, flags | FNM_DOTMATCH) == 0) { return 0; } else if((pathname && isdirsep(string[s]))) { break; if(s >= send || (pathname && isdirsep(string[s]) || (period && string[s] == '.' && (s == 0 || (pathname && isdirsep(string[s-1])))))) { return FNM_NOMATCH; if(DOSISH && (pathname && isdirsep(c) && isdirsep(string[s]))) { } else { if (nocase) {