Make strf_time take a string_view as format string

This commit is contained in:
nobounce 2023-09-18 22:03:06 +02:00 committed by Steffen Winter
parent a9061dfad2
commit c60bd928d4
No known key found for this signature in database
GPG key ID: D4053C3600EF3B1F
4 changed files with 12 additions and 9 deletions

View file

@ -295,7 +295,7 @@ namespace Draw {
}
bool update_clock(bool force) {
const auto& clock_format = Config::getS("clock_format");
const std::string_view clock_format = Config::getS("clock_format");
if (not Cpu::shown or clock_format.empty()) {
if (clock_format.empty() and not Global::clock.empty()) Global::clock.clear();
return false;

View file

@ -27,10 +27,10 @@ namespace Logger {
using namespace Tools;
std::mutex log_mtx{};
bool first = true;
const string tdf = "%Y/%m/%d (%T) | ";
size_t loglevel;
fs::path logfile;
constexpr const std::string_view tdf = "%Y/%m/%d (%T) | ";
//* Wrapper for lowering priviliges if using SUID bit and currently isn't using real userid
class lose_priv {

View file

@ -18,13 +18,15 @@ tab-size = 4
#include <cmath>
#include <codecvt>
#include <iostream>
#include <fstream>
#include <ctime>
#include <sstream>
#include <fstream>
#include <iomanip>
#include <utility>
#include <iostream>
#include <ranges>
#include <sstream>
#include <string>
#include <string_view>
#include <utility>
#include <unistd.h>
#include <termios.h>
@ -485,11 +487,11 @@ namespace Tools {
return new_str;
}
string strf_time(const string& strf) {
string strf_time(const std::string_view strf) {
auto in_time_t = std::chrono::system_clock::to_time_t(std::chrono::system_clock::now());
std::tm bt {};
std::stringstream ss;
ss << std::put_time(localtime_r(&in_time_t, &bt), strf.c_str());
ss << std::put_time(localtime_r(&in_time_t, &bt), strf.data());
return ss.str();
}

View file

@ -26,6 +26,7 @@ tab-size = 4
#include <ranges>
#include <regex>
#include <string>
#include <string_view>
#include <thread>
#include <tuple>
#include <vector>
@ -303,7 +304,7 @@ namespace Tools {
std::string operator*(const string& str, int64_t n);
//* Return current time in <strf> format
string strf_time(const string& strf);
string strf_time(const std::string_view strf);
string hostname();
string username();