Skip to content
Snippets Groups Projects
Verified Commit 49ccf364 authored by jD91mZM2's avatar jD91mZM2
Browse files

Fix netdb getservbyname on names with spaces

parent eb6ddac1
No related branches found
No related tags found
No related merge requests found
...@@ -317,7 +317,6 @@ fn lookup_addr(addr: in_addr) -> Result<Vec<Vec<u8>>, c_int> { ...@@ -317,7 +317,6 @@ fn lookup_addr(addr: in_addr) -> Result<Vec<Vec<u8>>, c_int> {
}; };
let packet_data = packet.compile(); let packet_data = packet.compile();
use core::fmt::Write;
let packet_data_len = packet_data.len(); let packet_data_len = packet_data.len();
let packet_data_box = packet_data.into_boxed_slice(); let packet_data_box = packet_data.into_boxed_slice();
let packet_data_ptr = Box::into_raw(packet_data_box) as *mut _ as *mut c_void; let packet_data_ptr = Box::into_raw(packet_data_box) as *mut _ as *mut c_void;
...@@ -866,10 +865,11 @@ pub unsafe extern "C" fn getservent() -> *const servent { ...@@ -866,10 +865,11 @@ pub unsafe extern "C" fn getservent() -> *const servent {
rlb.next(); rlb.next();
S_POS = rlb.line_pos(); S_POS = rlb.line_pos();
let mut iter: SplitWhitespace = r.split_whitespace(); let comment = r.find('#').unwrap_or(r.len());
let mut serv_name: Vec<u8> = iter.next().unwrap().as_bytes().to_vec(); let space = r[..comment].trim_right().rfind(char::is_whitespace).unwrap();
let mut serv_name = r[..space].trim().as_bytes().to_vec();
serv_name.push(b'\0'); serv_name.push(b'\0');
let port_proto = iter.next().unwrap(); let port_proto = &r[space..comment].trim();
let mut split = port_proto.split("/"); let mut split = port_proto.split("/");
let mut port = split.next().unwrap().as_bytes().to_vec(); let mut port = split.next().unwrap().as_bytes().to_vec();
port.push(b'\0'); port.push(b'\0');
......
...@@ -101,3 +101,13 @@ macro_rules! strto_impl { ...@@ -101,3 +101,13 @@ macro_rules! strto_impl {
num num
}}; }};
} }
#[macro_export]
macro_rules! println {
($($args:tt),*) => {
{
use core::fmt::Write as _Trait;
writeln!(::platform::FileWriter(1) $(, $args)*).expect("writing a debug message failed");
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment