diff --git a/repos/gems/src/app/decorator/window.h b/repos/gems/src/app/decorator/window.h index d77c5030d9..abf8b4a9e3 100644 --- a/repos/gems/src/app/decorator/window.h +++ b/repos/gems/src/app/decorator/window.h @@ -52,12 +52,9 @@ class Decorator::Window : public Window_base /* * We supply the window ID as label for the anchor view. */ - if (id) { - char buf[128]; - Genode::snprintf(buf, sizeof(buf), "%d", id); - - _gui.enqueue(_handle, Genode::Cstring(buf)); - } + if (id) + _gui.enqueue(_handle, + Genode::String<128>(id).string()); } ~Gui_view() diff --git a/repos/gems/src/app/themed_decorator/window.h b/repos/gems/src/app/themed_decorator/window.h index 39e3100f59..d4b07b1361 100644 --- a/repos/gems/src/app/themed_decorator/window.h +++ b/repos/gems/src/app/themed_decorator/window.h @@ -160,12 +160,9 @@ class Decorator::Window : public Window_base, public Animator::Item /* * We supply the window ID as label for the anchor view. */ - if (id) { - char buf[128]; - Genode::snprintf(buf, sizeof(buf), "%d", id); - - _gui.enqueue(_handle, Genode::Cstring(buf)); - } + if (id) + _gui.enqueue(_handle, + Genode::String<128>(id).string()); } View_handle _create_remote_view(Gui::Session_client &remote_gui) diff --git a/repos/gems/src/lib/vfs/trace/session_label.h b/repos/gems/src/lib/vfs/trace/session_label.h index 164dc42e49..9149470561 100644 --- a/repos/gems/src/lib/vfs/trace/session_label.h +++ b/repos/gems/src/lib/vfs/trace/session_label.h @@ -14,7 +14,6 @@ #ifndef _SESSION_LABEL_H_ #define _SESSION_LABEL_H_ -#include #include #include diff --git a/repos/gems/src/server/cpu_sampler/cpu_thread_component.cc b/repos/gems/src/server/cpu_sampler/cpu_thread_component.cc index 890fc128c6..58594983f0 100644 --- a/repos/gems/src/server/cpu_sampler/cpu_thread_component.cc +++ b/repos/gems/src/server/cpu_sampler/cpu_thread_component.cc @@ -12,7 +12,7 @@ */ /* Genode includes */ -#include +#include /* local includes */ #include "cpu_session_component.h" @@ -32,28 +32,14 @@ Cpu_sampler::Cpu_thread_component::Cpu_thread_component( addr_t utcb, char const *thread_name, unsigned int thread_id) -: _cpu_session_component(cpu_session_component), _env(env), - _md_alloc(md_alloc), - _parent_cpu_thread( - _cpu_session_component.parent_cpu_session().create_thread(pd, - name, - affinity, - weight, - utcb)) +: + _cpu_session_component(cpu_session_component), _env(env), _md_alloc(md_alloc), + _parent_cpu_thread( + _cpu_session_component.parent_cpu_session() + .create_thread(pd, name, affinity, weight, utcb)), + _label(_cpu_session_component.session_label().string(), " -> ", thread_name), + _log_session_label("samples -> ", _label, ".", thread_id) { - char label_buf[Session_label::size()]; - - snprintf(label_buf, sizeof(label_buf), "%s -> %s", - _cpu_session_component.session_label().string(), - thread_name); - - _label = Session_label(label_buf); - - snprintf(label_buf, sizeof(label_buf), "samples -> %s.%u", - _label.string(), thread_id); - - _log_session_label = Session_label(label_buf); - _cpu_session_component.thread_ep().manage(this); } @@ -121,21 +107,13 @@ void Cpu_sampler::Cpu_thread_component::flush() _log.construct(_env, _log_session_label); /* number of hex characters + newline + '\0' */ - enum { SAMPLE_STRING_SIZE = 2 * sizeof(addr_t) + 1 + 1 }; - - char sample_string[SAMPLE_STRING_SIZE]; - - char const *format_string; - - if (sizeof(addr_t) == 8) - format_string = "%16lX\n"; - else - format_string = "%8X\n"; + using Sample = String<2 * sizeof(addr_t) + 1 + 1>; for (unsigned int i = 0; i < _sample_buf_index; i++) { - snprintf(sample_string, SAMPLE_STRING_SIZE, format_string, - _sample_buf[i]); - _log->write(sample_string); + + Sample const sample(Hex(_sample_buf[i], Hex::OMIT_PREFIX, Hex::PAD), "\n"); + + _log->write(sample.string()); } _sample_buf_index = 0; diff --git a/repos/gems/src/server/wm/gui.h b/repos/gems/src/server/wm/gui.h index b9f964fa3e..b509b21427 100644 --- a/repos/gems/src/server/wm/gui.h +++ b/repos/gems/src/server/wm/gui.h @@ -883,16 +883,16 @@ class Wm::Gui::Session_component : public Rpc_object, bool matches_session_label(char const *selector) const { + using namespace Genode; + /* * Append label separator to match selectors with a trailing * separator. * - * The code originates from nitpicker's 'session.h'. + * The code snippet originates from nitpicker's 'gui_session.h'. */ - char label[Genode::Session_label::capacity() + 4]; - Genode::snprintf(label, sizeof(label), "%s ->", _session_label.string()); - return Genode::strcmp(label, selector, - Genode::strlen(selector)) == 0; + String const label(_session_label, " ->"); + return strcmp(label.string(), selector, strlen(selector)) == 0; } void request_resize(Area size) diff --git a/repos/os/include/decorator/window.h b/repos/os/include/decorator/window.h index 11f11fe4f7..83cf872032 100644 --- a/repos/os/include/decorator/window.h +++ b/repos/os/include/decorator/window.h @@ -19,7 +19,6 @@ #include #include #include -#include /* decorator includes */ #include