From c37da4cf5d1415cfd6c7dfd7d065d7f043c3113f Mon Sep 17 00:00:00 2001 From: dreamsourcelabTAI Date: Tue, 9 Apr 2024 16:36:50 +0800 Subject: [PATCH] fix: the format buffer is tool small for dso cursor --- DSView/pv/view/ruler.cpp | 10 +++++----- DSView/pv/view/ruler.h | 2 +- DSView/pv/view/spectrumtrace.cpp | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/DSView/pv/view/ruler.cpp b/DSView/pv/view/ruler.cpp index 24558a82..a7a5a3ff 100644 --- a/DSView/pv/view/ruler.cpp +++ b/DSView/pv/view/ruler.cpp @@ -105,7 +105,7 @@ Ruler::Ruler(View &parent) : this, SLOT(hover_point_changed())); } -QString Ruler::format_freq(double period, unsigned precision) +QString Ruler::format_freq(double period, unsigned int precision) { if (period <= 0) { return View::Unknown_Str; @@ -124,8 +124,8 @@ QString Ruler::format_freq(double period, unsigned precision) return s; */ - char buffer[20] = {0}; - char format[10] = {0}; + char buffer[50] = {0}; + char format[15] = {0}; QString units = FreqPrefixes[prefix] + "Hz"; sprintf(format, "%%.%df", (int)precision); sprintf(buffer, format, 1 / (period * multiplier)); @@ -148,8 +148,8 @@ QString Ruler::format_time(double t, int prefix, return s; */ - char buffer[20] = {0}; - char format[10] = {0}; + char buffer[50]; + char format[15]; QString units = SIPrefixes[prefix] + "s"; double v = (t * multiplier) / 1000000.0; buffer[0] = v >= 0 ? '+' : '-'; diff --git a/DSView/pv/view/ruler.h b/DSView/pv/view/ruler.h index 37c92d5e..c9a7dee5 100644 --- a/DSView/pv/view/ruler.h +++ b/DSView/pv/view/ruler.h @@ -62,7 +62,7 @@ public: static QString format_time(double t, int prefix, unsigned precision = pricision); - static QString format_freq(double period, unsigned precision = pricision); + static QString format_freq(double period, unsigned int precision = pricision); QString format_time(double t); static QString format_real_time(uint64_t delta_index, uint64_t sample_rate); static QString format_real_freq(uint64_t delta_index, uint64_t sample_rate); diff --git a/DSView/pv/view/spectrumtrace.cpp b/DSView/pv/view/spectrumtrace.cpp index 064f3a6c..64dd42cd 100644 --- a/DSView/pv/view/spectrumtrace.cpp +++ b/DSView/pv/view/spectrumtrace.cpp @@ -230,8 +230,8 @@ QString SpectrumTrace::format_freq(double freq, unsigned precision) return s; */ - char buffer[20] = {0}; - char format[10] = {0}; + char buffer[50] = {0}; + char format[15] = {0}; QString units = FreqPrefixes[prefix] + "Hz"; sprintf(format, "%%.%df", (int)precision); sprintf(buffer, format, freq / divider);