* [pbs-devel] [PATCH proxmox-backup] server/worker_task: fix upid_read_status
@ 2020-09-07 12:50 Dominik Csapak
2020-09-08 5:08 ` [pbs-devel] applied: " Dietmar Maurer
0 siblings, 1 reply; 2+ messages in thread
From: Dominik Csapak @ 2020-09-07 12:50 UTC (permalink / raw)
To: pbs-devel
a range from high to low in rust results in an empty range
(see std::ops::Range documentation)
so we need to generate the range from 0..data.len() and then reverse it
also, the task log contains a newline at the end, so we have to remove
that (should it exist)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
---
maybe it would be nicer (but slower) to use the .lines() iterator?
to not run into such things?
src/server/worker_task.rs | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/server/worker_task.rs b/src/server/worker_task.rs
index 997c2492..28e62ba2 100644
--- a/src/server/worker_task.rs
+++ b/src/server/worker_task.rs
@@ -210,9 +210,14 @@ pub fn upid_read_status(upid: &UPID) -> Result<TaskState, Error> {
let mut data = Vec::with_capacity(8192);
file.read_to_end(&mut data)?;
+ // task logs should end with newline, we do not want it here
+ if data[data.len()-1] == b'\n' {
+ data.pop();
+ }
+
let last_line = {
let mut start = 0;
- for pos in data.len()-1..=0 {
+ for pos in (0..data.len()).rev() {
if data[pos] == b'\n' {
start = pos + 1;
break;
--
2.20.1
^ permalink raw reply [flat|nested] 2+ messages in thread
* [pbs-devel] applied: [PATCH proxmox-backup] server/worker_task: fix upid_read_status
2020-09-07 12:50 [pbs-devel] [PATCH proxmox-backup] server/worker_task: fix upid_read_status Dominik Csapak
@ 2020-09-08 5:08 ` Dietmar Maurer
0 siblings, 0 replies; 2+ messages in thread
From: Dietmar Maurer @ 2020-09-08 5:08 UTC (permalink / raw)
To: Proxmox Backup Server development discussion, Dominik Csapak
wow - that hurts ..
> On 09/07/2020 2:50 PM Dominik Csapak <d.csapak@proxmox.com> wrote:
>
>
> a range from high to low in rust results in an empty range
> (see std::ops::Range documentation)
> so we need to generate the range from 0..data.len() and then reverse it
>
> also, the task log contains a newline at the end, so we have to remove
> that (should it exist)
>
> Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
> ---
> maybe it would be nicer (but slower) to use the .lines() iterator?
> to not run into such things?
>
> src/server/worker_task.rs | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/src/server/worker_task.rs b/src/server/worker_task.rs
> index 997c2492..28e62ba2 100644
> --- a/src/server/worker_task.rs
> +++ b/src/server/worker_task.rs
> @@ -210,9 +210,14 @@ pub fn upid_read_status(upid: &UPID) -> Result<TaskState, Error> {
> let mut data = Vec::with_capacity(8192);
> file.read_to_end(&mut data)?;
>
> + // task logs should end with newline, we do not want it here
> + if data[data.len()-1] == b'\n' {
> + data.pop();
> + }
> +
> let last_line = {
> let mut start = 0;
> - for pos in data.len()-1..=0 {
> + for pos in (0..data.len()).rev() {
> if data[pos] == b'\n' {
> start = pos + 1;
> break;
> --
> 2.20.1
>
>
>
> _______________________________________________
> pbs-devel mailing list
> pbs-devel@lists.proxmox.com
> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2020-09-08 5:09 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-07 12:50 [pbs-devel] [PATCH proxmox-backup] server/worker_task: fix upid_read_status Dominik Csapak
2020-09-08 5:08 ` [pbs-devel] applied: " Dietmar Maurer
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal