 +        if (*(it + 2) == '/' && memchr(it + 2, ':', end - (it + 2)) == NULL) {
 +            return SIMPLE_WINDOWS_PATH;
 +        }
++    }
++
++    if (*it == '.' && (*(it + 1) == '.' || *(it + 1) == '/')) {
++        return RELATIVE_PATH;
 +    }
 +
 +    if (*it == '/') {

+        }
+
+        return (double_slashed) ? ESCAPED_PATH : ROOTED_PATH;
+    }
+
+    if (*it == '@') {
+        return find_path_start_and_type(move(src, 1), true, end);
+    }
+
+    if (*it == '"' || *it == '\'') {
+        return find_path_start_and_type(move(src, 1), true, end);
+    }
+
+    int starts_with_minus = (*it == '-');

+    ESCAPED_PATH,
+    ROOTED_PATH,
+    POSIX_PATH_LIST,
+    RELATIVE_PATH,
+    URL
+} path_type;
+
