#include "fd-util.h"
#include "fileio.h"
#include "fs-util.h"
+#include "glyph-util.h"
#include "macro.h"
#include "os-util.h"
#include "parse-util.h"
if (k != 0)
continue;
- log_debug("%s/%s: 'user.extension-release.strict' attribute is false…",
- extension_release_dir_path, de->d_name);
+ log_debug("%s/%s: 'user.extension-release.strict' attribute is false%s",
+ extension_release_dir_path, de->d_name,
+ special_glyph(SPECIAL_GLYPH_ELLIPSIS));
/* We already found what we were looking for, but there's another candidate?
* We treat this as an error, as we want to enforce that there are no ambiguities
return log_error_errno(r, "Failed to open file '%s': %m", filename);
}
- log_debug("Applying %s…", pp);
+ log_debug("Applying %s%s", pp, special_glyph(SPECIAL_GLYPH_ELLIPSIS));
for (unsigned line = 1;; line++) {
_cleanup_free_ char *text = NULL;
char *p;
if (!p)
return log_oom();
- log_debug("Checking whether %s contains any files…", p);
+ log_debug("Checking whether %s contains any files%s", p, special_glyph(SPECIAL_GLYPH_ELLIPSIS));
r = dir_is_empty(p, /* ignore_hidden_or_backup= */ false);
if (r < 0 && r != -ENOENT)
return log_error_errno(r, "Failed to check whether %s contains any files: %m", p);
if (r == 0)
return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */
- log_info("Queuing reload/restart jobs for marked units…");
+ log_info("Queuing reload/restart jobs for marked units%s", special_glyph(SPECIAL_GLYPH_ELLIPSIS));
_cleanup_(sd_bus_message_unrefp) sd_bus_message *reply = NULL;
r = sd_bus_message_new_method_return(message, &reply);
assert(m);
- log_debug("Invoking unit coldplug() handlers…");
+ log_debug("Invoking unit coldplug() handlers%s", special_glyph(SPECIAL_GLYPH_ELLIPSIS));
/* Let's place the units back into their deserialized state */
HASHMAP_FOREACH_KEY(u, k, m->units) {
assert(m);
- log_debug("Invoking unit catchup() handlers…");
+ log_debug("Invoking unit catchup() handlers%s", special_glyph(SPECIAL_GLYPH_ELLIPSIS));
/* Let's catch up on any state changes that happened while we were reloading/reexecing */
HASHMAP_FOREACH_KEY(u, k, m->units) {
#include "def.h"
#include "env-file.h"
#include "escape.h"
+#include "glyph-util.h"
#include "log.h"
#include "path-lookup.h"
#include "strv.h"
* that in case of failure, a partial update is better than none. */
STRV_FOREACH(i, files) {
- log_debug("Reading %s…", *i);
+ log_debug("Reading %s%s", *i, special_glyph(SPECIAL_GLYPH_ELLIPSIS));
r = merge_env_file(&env, NULL, *i);
if (r == -ENOMEM)
int r;
if (arg_pkcs11_token_uri)
- return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "To change the PKCS#11 security token use 'homectl update --pkcs11-token-uri=…'.");
+ return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
+ "To change the PKCS#11 security token use 'homectl update --pkcs11-token-uri=%s'.",
+ special_glyph(SPECIAL_GLYPH_ELLIPSIS));
if (arg_fido2_device)
- return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "To change the FIDO2 security token use 'homectl update --fido2-device=…'.");
+ return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
+ "To change the FIDO2 security token use 'homectl update --fido2-device=%s'.",
+ special_glyph(SPECIAL_GLYPH_ELLIPSIS));
if (identity_properties_specified())
return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "The 'passwd' verb does not permit changing other record properties at the same time.");
return log_error_errno(r, "Failed to parse --rebalance-weight= argument: %s", optarg);
if (u < REBALANCE_WEIGHT_MIN || u > REBALANCE_WEIGHT_MAX)
- return log_error_errno(SYNTHETIC_ERRNO(ERANGE), "Rebalancing weight out of valid range %" PRIu64 "…%" PRIu64 ": %s",
- REBALANCE_WEIGHT_MIN, REBALANCE_WEIGHT_MAX, optarg);
+ return log_error_errno(SYNTHETIC_ERRNO(ERANGE), "Rebalancing weight out of valid range %" PRIu64 "%s%" PRIu64 ": %s",
+ REBALANCE_WEIGHT_MIN, special_glyph(SPECIAL_GLYPH_ELLIPSIS), REBALANCE_WEIGHT_MAX, optarg);
}
/* Drop from per machine stuff and everywhere */
#include "event-source.h"
#include "fd-util.h"
#include "fs-util.h"
+#include "glyph-util.h"
#include "hashmap.h"
#include "list.h"
#include "macro.h"
e->epoll_fd = fd_move_above_stdio(e->epoll_fd);
if (secure_getenv("SD_EVENT_PROFILE_DELAYS")) {
- log_debug("Event loop profiling enabled. Logarithmic histogram of event loop iterations in the range 2^0 … 2^63 us will be logged every 5s.");
+ log_debug("Event loop profiling enabled. Logarithmic histogram of event loop iterations in the range 2^0 %s 2^63 us will be logged every 5s.",
+ special_glyph(SPECIAL_GLYPH_ELLIPSIS));
e->profile_delays = true;
}
#include "env-util.h"
#include "errno-util.h"
+#include "glyph-util.h"
#include "in-addr-util.h"
#include "macro.h"
#include "nss-util.h"
b = json_variant_integer(i);
if (b < 0 || b > 0xff)
- return json_log(variant, flags, SYNTHETIC_ERRNO(EINVAL), "Element %zu of JSON field '%s' is out of range 0…255.", k, strna(name));
+ return json_log(variant, flags, SYNTHETIC_ERRNO(EINVAL),
+ "Element %zu of JSON field '%s' is out of range 0%s255.",
+ k, strna(name), special_glyph(SPECIAL_GLYPH_ELLIPSIS));
buf.bytes[k++] = (uint8_t) b;
}
/* SPDX-License-Identifier: LGPL-2.1-or-later */
+#include "glyph-util.h"
#include "in-addr-util.h"
#include "resolved-dns-synthesize.h"
#include "resolved-varlink.h"
b = json_variant_integer(i);
if (b < 0 || b > 0xff)
- return json_log(variant, flags, SYNTHETIC_ERRNO(EINVAL), "Element %zu of JSON field '%s' is out of range 0…255.", k, strna(name));
+ return json_log(variant, flags, SYNTHETIC_ERRNO(EINVAL),
+ "Element %zu of JSON field '%s' is out of range 0%s255.",
+ k, strna(name), special_glyph(SPECIAL_GLYPH_ELLIPSIS));
buf.bytes[k++] = (uint8_t) b;
}
#include "dns-domain.h"
#include "env-util.h"
#include "fs-util.h"
+#include "glyph-util.h"
#include "hexdecoct.h"
#include "hostname-util.h"
#include "memory-util.h"
k = json_variant_unsigned(variant);
if (k > 0777)
- return json_log(variant, flags, SYNTHETIC_ERRNO(EINVAL), "JSON field '%s' outside of valid range 0…0777.", strna(name));
+ return json_log(variant, flags, SYNTHETIC_ERRNO(EINVAL),
+ "JSON field '%s' outside of valid range 0%s0777.",
+ strna(name), special_glyph(SPECIAL_GLYPH_ELLIPSIS));
*m = (mode_t) k;
return 0;
k = json_variant_unsigned(variant);
if (k > 07777)
- return json_log(variant, flags, SYNTHETIC_ERRNO(EINVAL), "JSON field '%s' outside of valid range 0…07777.", strna(name));
+ return json_log(variant, flags, SYNTHETIC_ERRNO(EINVAL),
+ "JSON field '%s' outside of valid range 0%s07777.",
+ strna(name), special_glyph(SPECIAL_GLYPH_ELLIPSIS));
*m = (mode_t) k;
return 0;
k = json_variant_unsigned(variant);
if (k <= 0 || k >= UINT64_MAX)
- return json_log(variant, flags, SYNTHETIC_ERRNO(ERANGE), "JSON field '%s' is not in valid range %" PRIu64 "…%" PRIu64 ".", strna(name), (uint64_t) 1, UINT64_MAX-1);
+ return json_log(variant, flags, SYNTHETIC_ERRNO(ERANGE),
+ "JSON field '%s' is not in valid range %" PRIu64 "%s%" PRIu64 ".",
+ strna(name), (uint64_t) 1, special_glyph(SPECIAL_GLYPH_ELLIPSIS), UINT64_MAX-1);
*limit = k;
return 0;
k = json_variant_unsigned(variant);
if (k <= CGROUP_WEIGHT_MIN || k >= CGROUP_WEIGHT_MAX)
- return json_log(variant, flags, SYNTHETIC_ERRNO(ERANGE), "JSON field '%s' is not in valid range %" PRIu64 "…%" PRIu64 ".", strna(name), (uint64_t) CGROUP_WEIGHT_MIN, (uint64_t) CGROUP_WEIGHT_MAX);
+ return json_log(variant, flags, SYNTHETIC_ERRNO(ERANGE),
+ "JSON field '%s' is not in valid range %" PRIu64 "%s%" PRIu64 ".",
+ strna(name), (uint64_t) CGROUP_WEIGHT_MIN,
+ special_glyph(SPECIAL_GLYPH_ELLIPSIS), (uint64_t) CGROUP_WEIGHT_MAX);
*weight = k;
return 0;
else if (u == 0)
*rebalance_weight = REBALANCE_WEIGHT_OFF;
else
- return json_log(variant, flags, SYNTHETIC_ERRNO(ERANGE), "Rebalance weight is out of valid range %" PRIu64 "…%" PRIu64 ".", REBALANCE_WEIGHT_MIN, REBALANCE_WEIGHT_MAX);
+ return json_log(variant, flags, SYNTHETIC_ERRNO(ERANGE),
+ "Rebalance weight is out of valid range %" PRIu64 "%s%" PRIu64 ".",
+ REBALANCE_WEIGHT_MIN, special_glyph(SPECIAL_GLYPH_ELLIPSIS), REBALANCE_WEIGHT_MAX);
return 0;
}
if (pipe2(pfd, O_CLOEXEC) < 0)
return log_error_errno(errno, "Failed to allocate pipe: %m");
- log_info("%s Acquiring manifest file %s…", special_glyph(SPECIAL_GLYPH_DOWNLOAD), suffixed_url);
+ log_info("%s Acquiring manifest file %s%s", special_glyph(SPECIAL_GLYPH_DOWNLOAD),
+ suffixed_url, special_glyph(SPECIAL_GLYPH_ELLIPSIS));
r = safe_fork("(sd-pull)", FORK_RESET_SIGNALS|FORK_DEATHSIG|FORK_LOG, &pid);
if (r < 0)
assert(c);
- log_info("Discovering installed instances…");
+ log_info("Discovering installed instances%s", special_glyph(SPECIAL_GLYPH_ELLIPSIS));
for (size_t i = 0; i < c->n_transfers; i++) {
r = resource_load_instances(
assert(c);
- log_info("Discovering available instances…");
+ log_info("Discovering available instances%s", special_glyph(SPECIAL_GLYPH_ELLIPSIS));
for (size_t i = 0; i < c->n_transfers; i++) {
assert(c->transfers[i]);
assert(c);
- log_info("Determining installed update sets…");
+ log_info("Determining installed update sets%s", special_glyph(SPECIAL_GLYPH_ELLIPSIS));
r = context_discover_update_sets_by_flag(c, UPDATE_INSTALLED);
if (r < 0)
return r;
- log_info("Determining available update sets…");
+ log_info("Determining available update sets%s", special_glyph(SPECIAL_GLYPH_ELLIPSIS));
r = context_discover_update_sets_by_flag(c, UPDATE_AVAILABLE);
if (r < 0)
assert(c);
if (space == 0)
- log_info("Making room…");
+ log_info("Making room%s", special_glyph(SPECIAL_GLYPH_ELLIPSIS));
else
- log_info("Making room for %" PRIu64 " updates…", space);
+ log_info("Making room for %" PRIu64 " updates%s", space,special_glyph(SPECIAL_GLYPH_ELLIPSIS));
for (size_t i = 0; i < c->n_transfers; i++) {
r = transfer_vacuum(c->transfers[i], space, extra_protected_version);
if (r < 0)
return r;
- log_info("Determining installed update sets…");
+ log_info("Determining installed update sets%s", special_glyph(SPECIAL_GLYPH_ELLIPSIS));
r = context_discover_update_sets_by_flag(context, UPDATE_INSTALLED);
if (r < 0)
return 0;
if (arg_dry_run) {
- log_info("Would write /etc/passwd…");
+ log_info("Would write /etc/passwd%s", special_glyph(SPECIAL_GLYPH_ELLIPSIS));
return 0;
}
return 0;
if (arg_dry_run) {
- log_info("Would write /etc/shadow…");
+ log_info("Would write /etc/shadow%s", special_glyph(SPECIAL_GLYPH_ELLIPSIS));
return 0;
}
return 0;
if (arg_dry_run) {
- log_info("Would write /etc/group…");
+ log_info("Would write /etc/group%s", special_glyph(SPECIAL_GLYPH_ELLIPSIS));
return 0;
}
return 0;
if (arg_dry_run) {
- log_info("Would write /etc/gshadow…");
+ log_info("Would write /etc/gshadow%s", special_glyph(SPECIAL_GLYPH_ELLIPSIS));
return 0;
}
STRV_FOREACH(f, files)
if (p && path_equal(*f, p)) {
- log_debug("Parsing arguments at position \"%s\"…", *f);
+ log_debug("Parsing arguments at position \"%s\"%s", *f, special_glyph(SPECIAL_GLYPH_ELLIPSIS));
r = parse_arguments(args);
if (r < 0)
return r;
} else {
- log_debug("Reading config file \"%s\"…", *f);
+ log_debug("Reading config file \"%s\"%s", *f, special_glyph(SPECIAL_GLYPH_ELLIPSIS));
/* Just warn, ignore result otherwise */
(void) read_config_file(*f, true);
assert(fn);
if (streq(fn, "-")) {
- log_debug("Reading config from stdin…");
+ log_debug("Reading config from stdin%s", special_glyph(SPECIAL_GLYPH_ELLIPSIS));
fn = "<stdin>";
f = stdin;
} else {
return log_error_errno(r, "Failed to open '%s': %m", fn);
}
- log_debug("Reading config file \"%s\"…", pp);
+ log_debug("Reading config file \"%s\"%s", pp, special_glyph(SPECIAL_GLYPH_ELLIPSIS));
fn = pp;
f = _f;
}
STRV_FOREACH(f, files)
if (p && path_equal(*f, p)) {
- log_debug("Parsing arguments at position \"%s\"…", *f);
+ log_debug("Parsing arguments at position \"%s\"%s", *f, special_glyph(SPECIAL_GLYPH_ELLIPSIS));
r = parse_arguments(config_dirs, args, invalid_config);
if (r < 0)
if (deadline == USEC_INFINITY) {
- log_info("Device '%s' is currently locked, waiting…", path);
+ log_info("Device '%s' is currently locked, waiting%s", path, special_glyph(SPECIAL_GLYPH_ELLIPSIS));
if (flock(fd, LOCK_EX) < 0)
return log_error_errno(errno, "Failed to lock device '%s': %m", path);
* instead do the lock out-of-process: fork off a child that does the locking, and
* that we'll wait on and kill if it takes too long. */
- log_info("Device '%s' is currently locked, waiting %s…",
- path, FORMAT_TIMESPAN(usec_sub_unsigned(deadline, now(CLOCK_MONOTONIC)), 0));
+ log_info("Device '%s' is currently locked, waiting %s%s",
+ path, FORMAT_TIMESPAN(usec_sub_unsigned(deadline, now(CLOCK_MONOTONIC)), 0),
+ special_glyph(SPECIAL_GLYPH_ELLIPSIS));
BLOCK_SIGNALS(SIGCHLD);
}
}
- log_debug("Successfully locked %s (%u:%u)…", path, major(devno), minor(devno));
+ log_debug("Successfully locked %s (%u:%u)%s", path, major(devno), minor(devno), special_glyph(SPECIAL_GLYPH_ELLIPSIS));
return TAKE_FD(fd);
}
#include "dirent-util.h"
#include "fd-util.h"
#include "generator.h"
+#include "glyph-util.h"
#include "hashmap.h"
#include "log.h"
#include "main-func.h"
STRV_FOREACH(path, autostart_dirs) {
_cleanup_closedir_ DIR *d = NULL;
- log_debug("Scanning autostart directory \"%s\"…", *path);
+ log_debug("Scanning autostart directory \"%s\"%s", *path, special_glyph(SPECIAL_GLYPH_ELLIPSIS));
d = opendir(*path);
if (!d) {
log_full_errno(errno == ENOENT ? LOG_DEBUG : LOG_WARNING, errno,
if (!e_autostart_condition)
return log_oom();
- log_debug("%s: ExecCondition converted to %s --condition \"%s\"…",
- service->path, gnome_autostart_condition_path, e_autostart_condition);
+ log_debug("%s: ExecCondition converted to %s --condition \"%s\"%s",
+ service->path, gnome_autostart_condition_path, e_autostart_condition,
+ special_glyph(SPECIAL_GLYPH_ELLIPSIS));
fprintf(f,
"ExecCondition=%s --condition \"%s\"\n",
if (r < 0)
return r;
- log_debug("%s: symlinking %s in xdg-desktop-autostart.target/.wants…", service->path, service->name);
+ log_debug("%s: symlinking %s in xdg-desktop-autostart.target/.wants%s",
+ service->path, service->name, special_glyph(SPECIAL_GLYPH_ELLIPSIS));
return generator_add_symlink(dest, "xdg-desktop-autostart.target", "wants", service->name);
}