all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [pmg-devel] [PATCH pmg-log-tracker] fix wrong QID argument handling
@ 2025-09-22 16:05 Mira Limbeck
  2025-09-22 17:05 ` [pmg-devel] applied: " Stoiko Ivanov
  0 siblings, 1 reply; 2+ messages in thread
From: Mira Limbeck @ 2025-09-22 16:05 UTC (permalink / raw)
  To: pmg-devel

This fixes the mail lookup based on QID when only time and line info was
available, not a valid QID, which resulted in the following error in the
GUI:
`Error entry 'T68CD4EC2L00000003' not found (500)`

Somewhere between pmg-log-tracker 2.5.0 and 3.0 the behavior of
libc::sscanf seemed to have changed. It now requires mutable access to
the variables passed in, rather than immutable ones.

With 3.0 the behavior changed so that the following was printed:
```
```
Both `time` and `line` were kept at 0, the value they are initialized to
before sscanf is called.

By changing the variables to mutable the values are now parsed and set
correctly.

Signed-off-by: Mira Limbeck <m.limbeck@proxmox.com>
---
 src/main.rs | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/src/main.rs b/src/main.rs
index 0a4f192..0299be5 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1964,12 +1964,19 @@ impl Parser {
         };
 
         while let Some(q) = args.opt_value_from_str::<_, String>(["-q", "--queue-id"])? {
-            let ltime: time_t = 0;
-            let rel_line_nr: libc::c_ulong = 0;
+            let mut ltime: time_t = 0;
+            let mut rel_line_nr: libc::c_ulong = 0;
             let input = CString::new(q.as_str())?;
             let bytes = concat!("T%08lXL%08lX", "\0");
             let format = unsafe { std::ffi::CStr::from_bytes_with_nul_unchecked(bytes.as_bytes()) };
-            if unsafe { libc::sscanf(input.as_ptr(), format.as_ptr(), &ltime, &rel_line_nr) == 2 } {
+            if unsafe {
+                libc::sscanf(
+                    input.as_ptr(),
+                    format.as_ptr(),
+                    &mut ltime,
+                    &mut rel_line_nr,
+                ) == 2
+            } {
                 self.options
                     .match_list
                     .push(Match::RelLineNr(ltime, rel_line_nr));
-- 
2.47.3


_______________________________________________
pmg-devel mailing list
pmg-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pmg-devel


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2025-09-22 17:05 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-09-22 16:05 [pmg-devel] [PATCH pmg-log-tracker] fix wrong QID argument handling Mira Limbeck
2025-09-22 17:05 ` [pmg-devel] applied: " Stoiko Ivanov

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