Skip to content

Commit 0f3b6bb

Browse files
committed
Consuming the path as the spec states.
1 parent 8adaede commit 0f3b6bb

File tree

2 files changed

+4
-7
lines changed

2 files changed

+4
-7
lines changed

src/lib.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -501,11 +501,11 @@ impl Url {
501501
assert_eq!(self.path_start, self.scheme_end + 1);
502502
}
503503
if let Some(start) = self.query_start {
504-
assert!(start > self.path_start);
504+
assert!(start >= self.path_start);
505505
assert_eq!(self.byte_at(start), b'?');
506506
}
507507
if let Some(start) = self.fragment_start {
508-
assert!(start > self.path_start);
508+
assert!(start >= self.path_start);
509509
assert_eq!(self.byte_at(start), b'#');
510510
}
511511
if let (Some(query_start), Some(fragment_start)) = (self.query_start, self.fragment_start) {

src/parser.rs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1040,7 +1040,7 @@ impl<'a> Parser<'a> {
10401040
&mut self,
10411041
scheme_type: SchemeType,
10421042
has_host: &mut bool,
1043-
mut input: Input<'i>,
1043+
input: Input<'i>,
10441044
) -> Input<'i> {
10451045
let path_start = self.serialization.len();
10461046
let (maybe_c, remaining) = input.split_first();
@@ -1067,10 +1067,7 @@ impl<'a> Parser<'a> {
10671067
return self.parse_fragment_2(remaining);
10681068
}
10691069
// Otherwise, if c is not the EOF code point:
1070-
if !remaining.is_empty() {
1071-
return self.parse_path(scheme_type, has_host, path_start, input);
1072-
}
1073-
input
1070+
self.parse_path(scheme_type, has_host, path_start, input)
10741071
}
10751072

10761073
pub fn parse_query_2<'i>(

0 commit comments

Comments
 (0)