mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-09 18:16:09 +03:00
LibCore: Use new format functions in some places.
This commit is contained in:
parent
43e37c7cde
commit
c9ca897a45
Notes:
sideshowbarker
2024-07-19 01:52:10 +09:00
Author: https://github.com/asynts Commit: https://github.com/SerenityOS/serenity/commit/c9ca897a452 Pull-request: https://github.com/SerenityOS/serenity/pull/3776 Reviewed-by: https://github.com/alimpfard
@ -166,16 +166,16 @@ bool Account::sync()
|
||||
errno = 0;
|
||||
while ((p = getpwent())) {
|
||||
if (p->pw_uid == m_uid) {
|
||||
new_passwd_file.appendf("%s:%s:%u:%u:%s:%s:%s\n",
|
||||
m_username.characters(),
|
||||
m_password_hash.characters(),
|
||||
new_passwd_file.appendff("{}:{}:{}:{}:{}:{}:{}\n",
|
||||
m_username,
|
||||
m_password_hash,
|
||||
m_uid, m_gid,
|
||||
m_gecos.characters(),
|
||||
m_home_directory.characters(),
|
||||
m_shell.characters());
|
||||
m_gecos,
|
||||
m_home_directory,
|
||||
m_shell);
|
||||
|
||||
} else {
|
||||
new_passwd_file.appendf("%s:%s:%u:%u:%s:%s:%s\n",
|
||||
new_passwd_file.appendff("{}:{}:{}:{}:{}:{}:{}\n",
|
||||
p->pw_name, p->pw_passwd, p->pw_uid,
|
||||
p->pw_gid, p->pw_gecos, p->pw_dir,
|
||||
p->pw_shell);
|
||||
|
@ -24,6 +24,7 @@
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include <AK/Format.h>
|
||||
#include <AK/StringBuilder.h>
|
||||
#include <LibCore/ArgsParser.h>
|
||||
#include <getopt.h>
|
||||
@ -105,7 +106,7 @@ bool ArgsParser::parse(int argc, char** argv, bool exit_on_failure)
|
||||
|
||||
const char* arg = found_option->requires_argument ? optarg : nullptr;
|
||||
if (!found_option->accept_value(arg)) {
|
||||
fprintf(stderr, "\033[31mInvalid value for option \033[1m%s\033[22m, dude\033[0m\n", found_option->name_for_display().characters());
|
||||
warnln("\033[31mInvalid value for option \033[1m{}\033[22m, dude\033[0m", found_option->name_for_display());
|
||||
print_usage_and_exit();
|
||||
return false;
|
||||
}
|
||||
@ -148,7 +149,7 @@ bool ArgsParser::parse(int argc, char** argv, bool exit_on_failure)
|
||||
for (int j = 0; j < num_values_for_arg[i]; j++) {
|
||||
const char* value = argv[optind++];
|
||||
if (!arg.accept_value(value)) {
|
||||
fprintf(stderr, "Invalid value for argument %s\n", arg.name);
|
||||
warnln("Invalid value for argument {}", arg.name);
|
||||
print_usage_and_exit();
|
||||
return false;
|
||||
}
|
||||
@ -169,67 +170,67 @@ bool ArgsParser::parse(int argc, char** argv, bool exit_on_failure)
|
||||
|
||||
void ArgsParser::print_usage(FILE* file, const char* argv0)
|
||||
{
|
||||
fprintf(file, "Usage:\n\t\033[1m%s\033[0m", argv0);
|
||||
new_out(file, "Usage:\n\t\033[1m{}\033[0m", argv0);
|
||||
|
||||
for (auto& opt : m_options) {
|
||||
if (opt.long_name && !strcmp(opt.long_name, "help"))
|
||||
continue;
|
||||
if (opt.requires_argument)
|
||||
fprintf(file, " [%s %s]", opt.name_for_display().characters(), opt.value_name);
|
||||
new_out(file, " [{} {}]", opt.name_for_display(), opt.value_name);
|
||||
else
|
||||
fprintf(file, " [%s]", opt.name_for_display().characters());
|
||||
new_out(file, " [{}]", opt.name_for_display());
|
||||
}
|
||||
for (auto& arg : m_positional_args) {
|
||||
bool required = arg.min_values > 0;
|
||||
bool repeated = arg.max_values > 1;
|
||||
|
||||
if (required && repeated)
|
||||
fprintf(file, " <%s...>", arg.name);
|
||||
new_out(file, " <{}...>", arg.name);
|
||||
else if (required && !repeated)
|
||||
fprintf(file, " <%s>", arg.name);
|
||||
new_out(file, " <{}>", arg.name);
|
||||
else if (!required && repeated)
|
||||
fprintf(file, " [%s...]", arg.name);
|
||||
new_out(file, " [{}...]", arg.name);
|
||||
else if (!required && !repeated)
|
||||
fprintf(file, " [%s]", arg.name);
|
||||
new_out(file, " [{}]", arg.name);
|
||||
}
|
||||
outln(file);
|
||||
|
||||
if (!m_options.is_empty())
|
||||
fprintf(file, "\nOptions:\n");
|
||||
|
||||
outln(file, "\nOptions:");
|
||||
for (auto& opt : m_options) {
|
||||
auto print_argument = [&]() {
|
||||
if (opt.value_name) {
|
||||
if (opt.requires_argument)
|
||||
fprintf(file, " %s", opt.value_name);
|
||||
new_out(file, " {}", opt.value_name);
|
||||
else
|
||||
fprintf(file, " [%s]", opt.value_name);
|
||||
new_out(file, " [{}]", opt.value_name);
|
||||
}
|
||||
};
|
||||
fprintf(file, "\t");
|
||||
new_out(file, "\t");
|
||||
if (opt.short_name) {
|
||||
fprintf(file, "\033[1m-%c\033[0m", opt.short_name);
|
||||
new_out(file, "\033[1m-{}\033[0m", opt.short_name);
|
||||
print_argument();
|
||||
}
|
||||
if (opt.short_name && opt.long_name)
|
||||
fprintf(file, ", ");
|
||||
new_out(file, ", ");
|
||||
if (opt.long_name) {
|
||||
fprintf(file, "\033[1m--%s\033[0m", opt.long_name);
|
||||
new_out(file, "\033[1m--{}\033[0m", opt.long_name);
|
||||
print_argument();
|
||||
}
|
||||
|
||||
if (opt.help_string)
|
||||
fprintf(file, "\t%s", opt.help_string);
|
||||
fprintf(file, "\n");
|
||||
new_out(file, "\t{}", opt.help_string);
|
||||
outln(file);
|
||||
}
|
||||
|
||||
if (!m_positional_args.is_empty())
|
||||
fprintf(file, "\nArguments:\n");
|
||||
outln(file, "\nArguments:");
|
||||
|
||||
for (auto& arg : m_positional_args) {
|
||||
fprintf(file, "\t\033[1m%s\033[0m", arg.name);
|
||||
new_out(file, "\t\033[1m{}\033[0m", arg.name);
|
||||
if (arg.help_string)
|
||||
fprintf(file, "\t%s", arg.help_string);
|
||||
fprintf(file, "\n");
|
||||
new_out(file, "\t{}", arg.help_string);
|
||||
outln(file);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -110,7 +110,7 @@ String command(const String& program, const Vector<String>& arguments, Optional<
|
||||
|
||||
if (WEXITSTATUS(wstatus) != 0) {
|
||||
# ifdef DBG_FAILED_COMMANDS
|
||||
dbg() << "command failed. stderr: " << read_all_from_pipe(stderr_pipe);
|
||||
dbgln("command failed. stderr: {}", read_all_from_pipe(stderr_pipe));
|
||||
# endif
|
||||
return {};
|
||||
}
|
||||
|
@ -37,7 +37,7 @@ namespace Core {
|
||||
NonnullRefPtr<ConfigFile> ConfigFile::get_for_lib(const String& lib_name)
|
||||
{
|
||||
String directory = StandardPaths::config_directory();
|
||||
auto path = String::format("%s/lib/%s.ini", directory.characters(), lib_name.characters());
|
||||
auto path = String::formatted("{}/lib/{}.ini", directory, lib_name);
|
||||
|
||||
return adopt(*new ConfigFile(path));
|
||||
}
|
||||
@ -45,13 +45,13 @@ NonnullRefPtr<ConfigFile> ConfigFile::get_for_lib(const String& lib_name)
|
||||
NonnullRefPtr<ConfigFile> ConfigFile::get_for_app(const String& app_name)
|
||||
{
|
||||
String directory = StandardPaths::config_directory();
|
||||
auto path = String::format("%s/%s.ini", directory.characters(), app_name.characters());
|
||||
auto path = String::formatted("{}/{}.ini", directory, app_name);
|
||||
return adopt(*new ConfigFile(path));
|
||||
}
|
||||
|
||||
NonnullRefPtr<ConfigFile> ConfigFile::get_for_system(const String& app_name)
|
||||
{
|
||||
auto path = String::format("/etc/%s.ini", app_name.characters());
|
||||
auto path = String::formatted("/etc/{}.ini", app_name);
|
||||
return adopt(*new ConfigFile(path));
|
||||
}
|
||||
|
||||
@ -162,7 +162,7 @@ void ConfigFile::write_bool_entry(const String& group, const String& key, bool v
|
||||
}
|
||||
void ConfigFile::write_color_entry(const String& group, const String& key, Color value)
|
||||
{
|
||||
write_entry(group, key, String::format("%d,%d,%d,%d", value.red(), value.green(), value.blue(), value.alpha()));
|
||||
write_entry(group, key, String::formatted("{},{},{},{}", value.red(), value.green(), value.blue(), value.alpha()));
|
||||
}
|
||||
|
||||
bool ConfigFile::sync()
|
||||
@ -175,10 +175,10 @@ bool ConfigFile::sync()
|
||||
return false;
|
||||
|
||||
for (auto& it : m_groups) {
|
||||
fprintf(fp, "[%s]\n", it.key.characters());
|
||||
outln(fp, "[{}]", it.key);
|
||||
for (auto& jt : it.value)
|
||||
fprintf(fp, "%s=%s\n", jt.key.characters(), jt.value.characters());
|
||||
fprintf(fp, "\n");
|
||||
outln(fp, "{}={}", jt.key, jt.value);
|
||||
outln(fp);
|
||||
}
|
||||
|
||||
fclose(fp);
|
||||
@ -190,10 +190,10 @@ bool ConfigFile::sync()
|
||||
void ConfigFile::dump() const
|
||||
{
|
||||
for (auto& it : m_groups) {
|
||||
printf("[%s]\n", it.key.characters());
|
||||
outln("[{}]", it.key);
|
||||
for (auto& jt : it.value)
|
||||
printf("%s=%s\n", jt.key.characters(), jt.value.characters());
|
||||
printf("\n");
|
||||
outln("{}={}", jt.key, jt.value);
|
||||
outln();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -251,7 +251,7 @@ String DateTime::to_string(const String& format) const
|
||||
|
||||
bool DateTime::is_before(const String& other) const
|
||||
{
|
||||
auto now_string = String::format("%04d%02d%02d%02d%02d%02dZ", year(), month(), weekday(), hour(), minute(), second());
|
||||
auto now_string = String::formatted("{:04}{:02}{:02}{:02}{:02}{:02}Z", year(), month(), weekday(), hour(), minute(), second());
|
||||
return __builtin_strcasecmp(now_string.characters(), other.characters()) < 0;
|
||||
}
|
||||
|
||||
@ -259,4 +259,5 @@ const LogStream& operator<<(const LogStream& stream, const DateTime& value)
|
||||
{
|
||||
return stream << value.to_string();
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -96,7 +96,7 @@ String DirIterator::next_path()
|
||||
|
||||
String DirIterator::next_full_path()
|
||||
{
|
||||
return String::format("%s/%s", m_path.characters(), next_path().characters());
|
||||
return String::formatted("{}/{}", m_path, next_path());
|
||||
}
|
||||
|
||||
String find_executable_in_path(String filename)
|
||||
@ -109,7 +109,7 @@ String find_executable_in_path(String filename)
|
||||
}
|
||||
|
||||
for (auto directory : String { getenv("PATH") }.split(':')) {
|
||||
auto fullpath = String::format("%s/%s", directory.characters(), filename.characters());
|
||||
auto fullpath = String::formatted("{}/{}", directory, filename);
|
||||
|
||||
if (access(fullpath.characters(), X_OK) == 0)
|
||||
return fullpath;
|
||||
|
@ -102,7 +102,7 @@ public:
|
||||
int nread = m_socket->read((u8*)&length, sizeof(length));
|
||||
if (nread == 0) {
|
||||
#ifdef EVENTLOOP_DEBUG
|
||||
dbg() << "RPC client disconnected";
|
||||
dbgln("RPC client disconnected");
|
||||
#endif
|
||||
shutdown();
|
||||
return;
|
||||
@ -112,7 +112,7 @@ public:
|
||||
|
||||
auto request_json = JsonValue::from_string(request);
|
||||
if (!request_json.has_value() || !request_json.value().is_object()) {
|
||||
dbg() << "RPC client sent invalid request";
|
||||
dbgln("RPC client sent invalid request");
|
||||
shutdown();
|
||||
return;
|
||||
}
|
||||
@ -139,7 +139,7 @@ public:
|
||||
auto type = request.get("type").as_string_or({});
|
||||
|
||||
if (type.is_null()) {
|
||||
dbg() << "RPC client sent request without type field";
|
||||
dbgln("RPC client sent request without type field");
|
||||
return;
|
||||
}
|
||||
|
||||
@ -245,12 +245,12 @@ EventLoop::EventLoop()
|
||||
|
||||
if (!s_rpc_server) {
|
||||
if (!start_rpc_server())
|
||||
dbg() << "Core::EventLoop: Failed to start an RPC server";
|
||||
dbgln("Core::EventLoop: Failed to start an RPC server");
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef EVENTLOOP_DEBUG
|
||||
dbg() << getpid() << " Core::EventLoop constructed :)";
|
||||
dbgln("{} Core::EventLoop constructed :)", getpid());
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -304,7 +304,7 @@ EventLoop& EventLoop::current()
|
||||
void EventLoop::quit(int code)
|
||||
{
|
||||
#ifdef EVENTLOOP_DEBUG
|
||||
dbg() << "Core::EventLoop::quit(" << code << ")";
|
||||
dbgln("Core::EventLoop::quit({})", code);
|
||||
#endif
|
||||
m_exit_requested = true;
|
||||
m_exit_code = code;
|
||||
@ -313,7 +313,7 @@ void EventLoop::quit(int code)
|
||||
void EventLoop::unquit()
|
||||
{
|
||||
#ifdef EVENTLOOP_DEBUG
|
||||
dbg() << "Core::EventLoop::unquit()";
|
||||
dbgln("Core::EventLoop::unquit()");
|
||||
#endif
|
||||
m_exit_requested = false;
|
||||
m_exit_code = 0;
|
||||
@ -368,7 +368,7 @@ void EventLoop::pump(WaitMode mode)
|
||||
auto& event = *queued_event.event;
|
||||
#ifdef EVENTLOOP_DEBUG
|
||||
if (receiver)
|
||||
dbg() << "Core::EventLoop: " << *receiver << " event " << (int)event.type();
|
||||
dbgln("Core::EventLoop: {} event {}", *receiver, event.type());
|
||||
#endif
|
||||
if (!receiver) {
|
||||
switch (event.type()) {
|
||||
@ -377,13 +377,13 @@ void EventLoop::pump(WaitMode mode)
|
||||
return;
|
||||
default:
|
||||
#ifdef EVENTLOOP_DEBUG
|
||||
dbg() << "Event type " << event.type() << " with no receiver :(";
|
||||
dbgln("Event type {} with no receiver :(", event.type());
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
} else if (event.type() == Event::Type::DeferredInvoke) {
|
||||
#ifdef DEFERRED_INVOKE_DEBUG
|
||||
dbg() << "DeferredInvoke: receiver = " << receiver->class_name() << "{" << receiver << "}";
|
||||
dbgln("DeferredInvoke: receiver = {}", *receiver);
|
||||
#endif
|
||||
static_cast<DeferredInvocationEvent&>(event).m_invokee(*receiver);
|
||||
} else {
|
||||
@ -394,7 +394,7 @@ void EventLoop::pump(WaitMode mode)
|
||||
if (m_exit_requested) {
|
||||
LOCKER(m_private->lock);
|
||||
#ifdef EVENTLOOP_DEBUG
|
||||
dbg() << "Core::EventLoop: Exit requested. Rejigging " << (events.size() - i) << " events.";
|
||||
dbgln("Core::EventLoop: Exit requested. Rejigging {} events.", events.size() - i);
|
||||
#endif
|
||||
decltype(m_queued_events) new_event_queue;
|
||||
new_event_queue.ensure_capacity(m_queued_events.size() + events.size());
|
||||
@ -411,7 +411,7 @@ void EventLoop::post_event(Object& receiver, NonnullOwnPtr<Event>&& event)
|
||||
{
|
||||
LOCKER(m_private->lock);
|
||||
#ifdef EVENTLOOP_DEBUG
|
||||
dbg() << "Core::EventLoop::post_event: {" << m_queued_events.size() << "} << receiver=" << receiver << ", event=" << event;
|
||||
dbgln("Core::EventLoop::post_event: ({}) << receivier={}, event={}", m_queued_events.size(), receiver, event);
|
||||
#endif
|
||||
m_queued_events.empend(receiver, move(event));
|
||||
}
|
||||
@ -421,7 +421,7 @@ EventLoop::SignalHandlers::SignalHandlers(int signo)
|
||||
, m_original_handler(signal(signo, EventLoop::handle_signal))
|
||||
{
|
||||
#ifdef EVENTLOOP_DEBUG
|
||||
dbg() << "Core::EventLoop: Registered handler for signal " << m_signo;
|
||||
dbgln("Core::EventLoop: Registered handler for signal {}", m_signo);
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -429,7 +429,7 @@ EventLoop::SignalHandlers::~SignalHandlers()
|
||||
{
|
||||
if (m_valid) {
|
||||
#ifdef EVENTLOOP_DEBUG
|
||||
dbg() << "Core::EventLoop: Unregistering handler for signal " << m_signo;
|
||||
dbgln("Core::EventLoop: Unregistering handler for signal {}", m_signo);
|
||||
#endif
|
||||
signal(m_signo, m_original_handler);
|
||||
}
|
||||
@ -461,7 +461,7 @@ void EventLoop::dispatch_signal(int signo)
|
||||
auto handlers = s_signal_handlers.find(signo);
|
||||
if (handlers != s_signal_handlers.end()) {
|
||||
#ifdef EVENTLOOP_DEBUG
|
||||
dbg() << "Core::EventLoop: dispatching signal " << signo;
|
||||
dbgln("Core::EventLoop: dispatching signal {}", signo);
|
||||
#endif
|
||||
handlers->value.dispatch();
|
||||
}
|
||||
@ -602,7 +602,7 @@ try_select_again:
|
||||
goto try_select_again;
|
||||
}
|
||||
#ifdef EVENTLOOP_DEBUG
|
||||
dbg() << "Core::EventLoop::wait_for_event: " << marked_fd_count << " (" << saved_errno << ": " << strerror(saved_errno) << ")";
|
||||
dbgln("Core::EventLoop::wait_for_event: {} ({}: {})", marked_fd_count, saved_errno, strerror(saved_errno));
|
||||
#endif
|
||||
// Blow up, similar to Core::safe_syscall.
|
||||
ASSERT_NOT_REACHED();
|
||||
@ -645,7 +645,7 @@ try_select_again:
|
||||
continue;
|
||||
}
|
||||
#ifdef EVENTLOOP_DEBUG
|
||||
dbg() << "Core::EventLoop: Timer " << timer.timer_id << " has expired, sending Core::TimerEvent to " << timer.owner;
|
||||
dbgln("Core::EventLoop: Timer {} has expired, sending Core::TimerEvent to {}", timer.timer_id, timer.owner);
|
||||
#endif
|
||||
post_event(*timer.owner, make<TimerEvent>(timer.timer_id));
|
||||
if (timer.should_reload) {
|
||||
|
Loading…
Reference in New Issue
Block a user