Require UTF-8 for context name
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
use alloc::string::String;
|
||||
use alloc::vec::Vec;
|
||||
use core::fmt::Write;
|
||||
use core::str;
|
||||
|
||||
use crate::context;
|
||||
use crate::syscall::error::Result;
|
||||
@@ -21,7 +20,7 @@ pub fn resource() -> Result<Vec<u8>> {
|
||||
|
||||
for row in rows.iter() {
|
||||
let id: usize = row.0.into();
|
||||
let name = str::from_utf8(&row.1).unwrap_or(".");
|
||||
let name = &row.1;
|
||||
|
||||
let _ = writeln!(string, "{}: {}", id, name);
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
use alloc::string::String;
|
||||
use alloc::vec::Vec;
|
||||
use core::str;
|
||||
|
||||
use crate::context;
|
||||
use crate::syscall::error::Result;
|
||||
@@ -107,9 +106,6 @@ pub fn resource() -> Result<Vec<u8>> {
|
||||
format!("{} B", memory)
|
||||
};
|
||||
|
||||
let name_bytes = context.name.read();
|
||||
let name = str::from_utf8(&name_bytes).unwrap_or("");
|
||||
|
||||
string.push_str(&format!("{:<6}{:<6}{:<6}{:<6}{:<6}{:<6}{:<6}{:<6}{:<6}{:<6}{:<6}{:<8}{:<8}{}\n",
|
||||
context.id.into(),
|
||||
context.pgid.into(),
|
||||
@@ -124,7 +120,7 @@ pub fn resource() -> Result<Vec<u8>> {
|
||||
cpu_string,
|
||||
ticks_string,
|
||||
memory_string,
|
||||
name));
|
||||
*context.name.read()));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
use alloc::vec::Vec;
|
||||
use alloc::{
|
||||
boxed::Box,
|
||||
vec::Vec,
|
||||
};
|
||||
|
||||
use crate::context;
|
||||
use crate::syscall::error::{Error, ESRCH, Result};
|
||||
@@ -9,7 +12,8 @@ pub fn resource() -> Result<Vec<u8>> {
|
||||
let context_lock = contexts.current().ok_or(Error::new(ESRCH))?;
|
||||
let context = context_lock.read();
|
||||
let name = context.name.read();
|
||||
name.clone().into_vec()
|
||||
let name_bytes: Box<[u8]> = name.clone().into();
|
||||
name_bytes.into_vec()
|
||||
};
|
||||
Ok(name)
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@ pub fn resource() -> Result<Vec<u8>> {
|
||||
|
||||
for row in rows.iter() {
|
||||
let id: usize = row.0.into();
|
||||
let name = str::from_utf8(&row.1).unwrap_or(".");
|
||||
let name = &row.1;
|
||||
let _ = writeln!(string, "{}: {}", id, name);
|
||||
|
||||
for (fd, f) in row.2.iter().enumerate() {
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
use alloc::string::String;
|
||||
use alloc::vec::Vec;
|
||||
use core::fmt::Write;
|
||||
use core::str;
|
||||
|
||||
use crate::context;
|
||||
use crate::syscall;
|
||||
@@ -22,7 +21,7 @@ pub fn resource() -> Result<Vec<u8>> {
|
||||
|
||||
for row in rows.iter() {
|
||||
let id: usize = row.0.into();
|
||||
let name = str::from_utf8(&row.1).unwrap_or(".");
|
||||
let name = &row.1;
|
||||
|
||||
let _ = writeln!(string, "{}: {}", id, name);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user