# HG changeset patch # User AnaTofuZ # Date 1605944781 -32400 # Node ID 0b43942c8950e994a06d131fdb4c69a333b5e7e4 # Parent 1c3b6b6ee0b1e20bd10c5bfafe5cb74e53e7b812 use &str at const diff -r 1c3b6b6ee0b1 -r 0b43942c8950 src/xml.rs --- a/src/xml.rs Sat Nov 21 16:37:58 2020 +0900 +++ b/src/xml.rs Sat Nov 21 16:46:21 2020 +0900 @@ -18,13 +18,13 @@ const DOMAIN_XMLNS_QEMU: (&str, &str) = ("xmlns:qemu", "http://libvirt.org/schemas/domain/qemu/1.0"); -const IE_VIRSH_TEMPLATE_VM_NAME: &[u8; 17] = b"ie-virsh-template"; -const VNC_XML_TAG: &[u8; 8] = b"graphics"; +const IE_VIRSH_TEMPLATE_VM_NAME: &str = "ie-virsh-template"; +const VNC_XML_TAG: &str = "graphics"; -const ROOT_START_TAG: &[u8; 6] = b"domain"; +const ROOT_START_TAG: &str = "domain"; -const QEMU_COMMAND_LINE_TAG: &[u8; 16] = b"qemu:commandline"; -const QEMU_ARG_TAG: &[u8; 8] = b"qemu:arg"; +const QEMU_COMMAND_LINE_TAG: &str = "qemu:commandline"; +const QEMU_ARG_TAG: &str = "qemu:arg"; const TEMPLATE_XML_FILE: &str = "/etc/libvirt/template.xml"; @@ -47,7 +47,7 @@ loop { match reader.read_event(&mut buf) { Ok(Event::Eof) => break, - Ok(Event::Empty(ref e)) if e.name() == VNC_XML_TAG => {} + Ok(Event::Empty(ref e)) if e.name() == VNC_XML_TAG.as_bytes() => {} Ok(_) => {} Err(e) => panic!("Error at position {}: {:?}", reader.buffer_position(), e), } @@ -116,35 +116,39 @@ writer.write_event(Event::Text(elem)).unwrap(); } - Ok(Event::Start(ref e)) if (e.name() == ROOT_START_TAG && self.is_debug) => { + Ok(Event::Start(ref e)) + if (e.name() == ROOT_START_TAG.as_bytes() && self.is_debug) => + { let mut elem = e.clone(); elem.push_attribute(DOMAIN_XMLNS_QEMU); writer.write_event(Event::Start(elem)).unwrap(); - let qemu_command_line_start = BytesStart::borrowed_name(QEMU_COMMAND_LINE_TAG); + let qemu_command_line_start = + BytesStart::borrowed_name(QEMU_COMMAND_LINE_TAG.as_bytes()); writer .write_event(Event::Start(qemu_command_line_start)) .unwrap(); for value in ["-S", "-gdb"].iter() { - let mut qemu_elem = BytesStart::borrowed_name(QEMU_ARG_TAG); + let mut qemu_elem = BytesStart::borrowed_name(QEMU_ARG_TAG.as_bytes()); let v: &str = &value; qemu_elem.push_attribute(("value", v)); writer.write_event(Event::Empty(qemu_elem)).unwrap(); } - let mut qemu_elem = BytesStart::borrowed_name(QEMU_ARG_TAG); + let mut qemu_elem = BytesStart::borrowed_name(QEMU_ARG_TAG.as_bytes()); let gdb_port: &str = &format!("tcp::{}", self.tcp_port); qemu_elem.push_attribute(("value", gdb_port)); writer.write_event(Event::Empty(qemu_elem)).unwrap(); - let qemu_command_line_end = BytesEnd::borrowed(QEMU_COMMAND_LINE_TAG); + let qemu_command_line_end = + BytesEnd::borrowed(QEMU_COMMAND_LINE_TAG.as_bytes()); writer .write_event(Event::End(qemu_command_line_end)) .unwrap(); } - Ok(Event::Empty(ref e)) if e.name() == VNC_XML_TAG => { + Ok(Event::Empty(ref e)) if e.name() == VNC_XML_TAG.as_bytes() => { let mut elem = e.clone(); let pw: &str = &self.vnc_password; elem.push_attribute(("passwd", pw)); @@ -164,7 +168,7 @@ writer.write_event(Event::Empty(elem)).ok(); } - Ok(Event::Text(ref e)) if e.escaped() == IE_VIRSH_TEMPLATE_VM_NAME => { + Ok(Event::Text(ref e)) if e.escaped() == IE_VIRSH_TEMPLATE_VM_NAME.as_bytes() => { let elem = BytesText::from_plain_str(&self.vm_name); writer.write_event(Event::Text(elem)).unwrap(); }