mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
net.urllib: don't crash on str() if url is missing host (#10313)
This commit is contained in:
parent
f6bb4d9a4a
commit
a368800b26
@ -374,7 +374,7 @@ pub:
|
||||
}
|
||||
|
||||
fn (u &Userinfo) empty() bool {
|
||||
return u.username == '' && u.password == ''
|
||||
return isnil(u) || (u.username == '' && u.password == '')
|
||||
}
|
||||
|
||||
// string returns the encoded userinfo information in the standard form
|
||||
@ -737,7 +737,7 @@ pub fn (u URL) str() string {
|
||||
if u.opaque != '' {
|
||||
buf.write_string(u.opaque)
|
||||
} else {
|
||||
if u.scheme != '' || u.host != '' || (u.user != 0 && !u.user.empty()) {
|
||||
if u.scheme != '' || u.host != '' || !u.user.empty() {
|
||||
if u.host != '' || u.path != '' || !u.user.empty() {
|
||||
buf.write_string('//')
|
||||
}
|
||||
|
@ -43,3 +43,9 @@ fn test_parse_query() ? {
|
||||
assert q1.data['format'].data == ['"%l: %c %t"']
|
||||
assert q2.data['format'].data == ['"%l: %c %t"']
|
||||
}
|
||||
|
||||
fn test_parse_missing_host() ? {
|
||||
// issue #10311
|
||||
url := urllib.parse('http:///') ?
|
||||
assert url.str() == 'http://///'
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user