changeset 29:0b43942c8950

use &str at const
author AnaTofuZ <anatofuz@gmail.com>
date Sat, 21 Nov 2020 16:46:21 +0900
parents 1c3b6b6ee0b1
children f4b655fae2a3
files src/xml.rs
diffstat 1 files changed, 17 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- 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();
                 }