if (r < 0)
return r;
if (is_path(tail))
- log_warning("Suspicious symlink %s/%s→%s, treating as alias.",
- dir, filename, simplified);
+ log_warning("Suspicious symlink %s/%s %s %s, treating as alias.",
+ dir, filename, special_glyph(SPECIAL_GLYPH_ARROW_RIGHT), simplified);
dst = resolve_destination_target ? TAKE_PTR(simplified) : TAKE_PTR(target_name);
} else {
- log_debug("Linked unit file: %s/%s → %s", dir, filename, simplified);
+ log_debug("Linked unit file: %s/%s %s %s", dir, filename, special_glyph(SPECIAL_GLYPH_ARROW_RIGHT), simplified);
if (resolve_destination_target)
dst = TAKE_PTR(simplified);
r = hashmap_ensure_put(&ids, &string_hash_ops_free_free, key, dst);
if (r < 0)
- return log_warning_errno(r, "Failed to add entry to hashmap (%s→%s): %m",
- de->d_name, dst);
+ return log_warning_errno(r, "Failed to add entry to hashmap (%s%s%s): %m",
+ de->d_name, special_glyph(SPECIAL_GLYPH_ARROW_RIGHT), dst);
key = dst = NULL;
}
}
r = string_strv_hashmap_put(&names, dst, src);
if (r < 0)
- return log_warning_errno(r, "Failed to add entry to hashmap (%s→%s): %m", dst, src);
+ return log_warning_errno(r, "Failed to add entry to hashmap (%s%s%s): %m",
+ dst, special_glyph(SPECIAL_GLYPH_ARROW_RIGHT), src);
}
if (cache_timestamp_hash)
return log_oom();
if (!UNIT_WRITE_FLAGS_NOOP(flags))
- log_unit_notice(u, "Transient unit's PIDFile= property references path below legacy directory /var/run, updating %s → %s; please update client accordingly.", n, z);
+ log_unit_notice(u, "Transient unit's PIDFile= property references path below legacy directory /var/run, updating %s %s %s; please update client accordingly.",
+ n, special_glyph(SPECIAL_GLYPH_ARROW_RIGHT), z);
free_and_replace(n, z);
}
r = fd_get_path(fd, &fn);
if (r < 0)
- log_debug_errno(r, "Received serialized fd %i → %m", fd);
+ log_debug_errno(r, "Received serialized fd %i %s %m",
+ fd, special_glyph(SPECIAL_GLYPH_ARROW_RIGHT));
else
- log_debug("Received serialized fd %i → %s", fd, strna(fn));
+ log_debug("Received serialized fd %i %s %s",
+ fd, special_glyph(SPECIAL_GLYPH_ARROW_RIGHT), strna(fn));
}
}
}
#include "extension-release.h"
#include "fd-util.h"
#include "format-util.h"
+#include "glyph-util.h"
#include "label.h"
#include "list.h"
#include "loop-util.h"
"Symlink loop on '%s'.",
mount_entry_path(m));
- log_debug("Followed mount entry path symlink %s → %s.", mount_entry_path(m), target);
+ log_debug("Followed mount entry path symlink %s %s %s.",
+ mount_entry_path(m), special_glyph(SPECIAL_GLYPH_ARROW_RIGHT), target);
mount_entry_consume_prefix(m, TAKE_PTR(target));
if (r < 0)
return log_debug_errno(r, "Failed to follow symlinks on %s: %m", mount_entry_source(m));
- log_debug("Followed source symlinks %s → %s.", mount_entry_source(m), chased);
+ log_debug("Followed source symlinks %s %s %s.",
+ mount_entry_source(m), special_glyph(SPECIAL_GLYPH_ARROW_RIGHT), chased);
free_and_replace(m->source_malloc, chased);
}
if (r < 0)
- log_unit_warning_errno(UNIT(s), r, "Failed to create symlink %s → %s, ignoring: %m", p, *i);
+ log_unit_warning_errno(UNIT(s), r, "Failed to create symlink %s %s %s, ignoring: %m",
+ p, special_glyph(SPECIAL_GLYPH_ARROW_RIGHT), *i);
}
return 0;
#include "fileio.h"
#include "filesystems.h"
#include "fs-util.h"
+#include "glyph-util.h"
#include "home-util.h"
#include "homed-home-bus.h"
#include "homed-home.h"
new_state = home_get_state(h); /* Query the new state, since the 'state' variable might be set to -1,
* in which case we synthesize an high-level state on demand */
- log_info("%s: changing state %s → %s", h->user_name,
+ log_info("%s: changing state %s %s %s", h->user_name,
home_state_to_string(old_state),
+ special_glyph(SPECIAL_GLYPH_ARROW_RIGHT),
home_state_to_string(new_state));
home_update_pin_fd(h, new_state);
#include "fileio.h"
#include "format-util.h"
#include "fs-util.h"
+#include "glyph-util.h"
#include "gpt.h"
#include "home-util.h"
#include "homed-conf.h"
(m->rebalance_state == REBALANCE_GROWING && h->rebalance_goal < h->rebalance_size))
h->rebalance_pending = false;
else {
- log_debug("Rebalancing home directory '%s' %s → %s.", h->user_name,
- FORMAT_BYTES(h->rebalance_size), FORMAT_BYTES(h->rebalance_goal));
+ log_debug("Rebalancing home directory '%s' %s %s %s.", h->user_name,
+ FORMAT_BYTES(h->rebalance_size),
+ special_glyph(SPECIAL_GLYPH_ARROW_RIGHT),
+ FORMAT_BYTES(h->rebalance_goal));
h->rebalance_pending = true;
}
#include "filesystems.h"
#include "fs-util.h"
#include "fsck-util.h"
+#include "glyph-util.h"
#include "gpt.h"
#include "home-util.h"
#include "homework-luks.h"
if (resize_type == CAN_RESIZE_OFFLINE && FLAGS_SET(flags, HOME_SETUP_ALREADY_ACTIVATED))
return log_error_errno(SYNTHETIC_ERRNO(ETXTBSY), "File systems of this type can only be resized offline, but is currently online.");
- log_info("Ready to resize image size %s → %s, partition size %s → %s, file system size %s → %s.",
+ log_info("Ready to resize image size %s %s %s, partition size %s %s %s, file system size %s %s %s.",
FORMAT_BYTES(old_image_size),
+ special_glyph(SPECIAL_GLYPH_ARROW_RIGHT),
FORMAT_BYTES(new_image_size),
FORMAT_BYTES(setup->partition_size),
+ special_glyph(SPECIAL_GLYPH_ARROW_RIGHT),
FORMAT_BYTES(new_partition_size),
FORMAT_BYTES(old_fs_size),
+ special_glyph(SPECIAL_GLYPH_ARROW_RIGHT),
FORMAT_BYTES(new_fs_size));
r = prepare_resize_partition(
#include "alloc-util.h"
#include "fd-util.h"
#include "format-util.h"
+#include "glyph-util.h"
#include "home-util.h"
#include "homework-mount.h"
#include "homework.h"
if (r < 0)
return log_error_errno(errno, "Failed to apply UID/GID map: %m");
- log_debug("Applied uidmap mount to %s. Mapping is " UID_FMT " → " UID_FMT ".", strna(target), stored_uid, exposed_uid);
+ log_debug("Applied uidmap mount to %s. Mapping is " UID_FMT " %s " UID_FMT ".",
+ strna(target), stored_uid, special_glyph(SPECIAL_GLYPH_ARROW_RIGHT), exposed_uid);
if (ret_mount_fd)
*ret_mount_fd = TAKE_FD(mount_fd);
#include "def.h"
#include "errno-util.h"
#include "fd-util.h"
+#include "glyph-util.h"
#include "hexdecoct.h"
#include "hostname-util.h"
#include "io-util.h"
if (state == bus->state)
return;
- log_debug("Bus %s: changing state %s → %s", strna(bus->description), table[bus->state], table[state]);
+ log_debug("Bus %s: changing state %s %s %s", strna(bus->description),
+ table[bus->state], special_glyph(SPECIAL_GLYPH_ARROW_RIGHT), table[state]);
bus->state = state;
}
#include "fileio.h"
#include "format-util.h"
#include "fs-util.h"
+#include "glyph-util.h"
#include "ipvlan.h"
#include "missing_network.h"
#include "netlink-util.h"
else if (master_ifindex == 0)
log_link_debug(link, "Detached from master interface: %i", link->master_ifindex);
else
- log_link_debug(link, "Master interface changed: %i → %i", link->master_ifindex, master_ifindex);
+ log_link_debug(link, "Master interface changed: %i %s %i", link->master_ifindex,
+ special_glyph(SPECIAL_GLYPH_ARROW_RIGHT), master_ifindex);
link_drop_from_master(link);
if (link->hw_addr.length == 0)
log_link_debug(link, "Saved hardware address: %s", HW_ADDR_TO_STR(&addr));
else {
- log_link_debug(link, "Hardware address is changed: %s → %s",
- HW_ADDR_TO_STR(&link->hw_addr), HW_ADDR_TO_STR(&addr));
+ log_link_debug(link, "Hardware address is changed: %s %s %s",
+ HW_ADDR_TO_STR(&link->hw_addr),
+ special_glyph(SPECIAL_GLYPH_ARROW_RIGHT),
+ HW_ADDR_TO_STR(&addr));
hashmap_remove_value(link->manager->links_by_hw_addr, &link->hw_addr, link);
}
return 0;
if (link->mtu != 0)
- log_link_debug(link, "MTU is changed: %"PRIu32" → %"PRIu32" (min: %"PRIu32", max: %"PRIu32")",
- link->mtu, mtu, link->min_mtu, link->max_mtu);
+ log_link_debug(link, "MTU is changed: %"PRIu32" %s %"PRIu32" (min: %"PRIu32", max: %"PRIu32")",
+ link->mtu, special_glyph(SPECIAL_GLYPH_ARROW_RIGHT), mtu,
+ link->min_mtu, link->max_mtu);
link->mtu = mtu;
*sz = parsed;
if (*sz != parsed)
- log_syntax(unit, LOG_NOTICE, filename, line, r, "Rounded %s= size %" PRIu64 " → %" PRIu64 ", a multiple of 4096.", lvalue, parsed, *sz);
+ log_syntax(unit, LOG_NOTICE, filename, line, r, "Rounded %s= size %" PRIu64 " %s %" PRIu64 ", a multiple of 4096.",
+ lvalue, parsed, special_glyph(SPECIAL_GLYPH_ARROW_RIGHT), *sz);
return 0;
}
return log_error_errno(SYNTHETIC_ERRNO(ERANGE), "Specified image size too large, refusing.");
if (rounded != parsed)
- log_warning("Specified size is not a multiple of 4096, rounding up automatically. (%" PRIu64 " → %" PRIu64 ")",
- parsed, rounded);
+ log_warning("Specified size is not a multiple of 4096, rounding up automatically. (%" PRIu64 " %s %" PRIu64 ")",
+ parsed, special_glyph(SPECIAL_GLYPH_ARROW_RIGHT), rounded);
arg_size = rounded;
arg_size_auto = false;
#include "dns-domain.h"
#include "dns-type.h"
#include "event-util.h"
+#include "glyph-util.h"
#include "hostname-util.h"
#include "local-addresses.h"
#include "resolved-dns-query.h"
if (r < 0)
return r;
if (r > 0)
- log_debug("Following CNAME/DNAME %s → %s.", dns_question_first_name(q->question_idna), dns_question_first_name(nq_idna));
+ log_debug("Following CNAME/DNAME %s %s %s.",
+ dns_question_first_name(q->question_idna),
+ special_glyph(SPECIAL_GLYPH_ARROW_RIGHT),
+ dns_question_first_name(nq_idna));
k = dns_question_is_equal(q->question_idna, q->question_utf8);
if (k < 0)
if (k < 0)
return k;
if (k > 0)
- log_debug("Following UTF8 CNAME/DNAME %s → %s.", dns_question_first_name(q->question_utf8), dns_question_first_name(nq_utf8));
+ log_debug("Following UTF8 CNAME/DNAME %s %s %s.",
+ dns_question_first_name(q->question_utf8),
+ special_glyph(SPECIAL_GLYPH_ARROW_RIGHT),
+ dns_question_first_name(nq_utf8));
}
if (r == 0 && k == 0) /* No actual cname happened? */
#include "errno-list.h"
#include "errno-util.h"
#include "fd-util.h"
+#include "glyph-util.h"
#include "random-util.h"
#include "resolved-dns-cache.h"
#include "resolved-dns-transaction.h"
r = dns_name_parent(&name);
if (r > 0) {
type = DNS_TYPE_SOA;
- log_debug("Requesting parent SOA (→ %s) to validate transaction %" PRIu16 " (%s, %s empty DS response).",
- name, t->id, dns_resource_key_name(dns_transaction_key(t)), signed_status);
+ log_debug("Requesting parent SOA (%s %s) to validate transaction %" PRIu16 " (%s, %s empty DS response).",
+ special_glyph(SPECIAL_GLYPH_ARROW_RIGHT), name, t->id,
+ dns_resource_key_name(dns_transaction_key(t)), signed_status);
} else
name = NULL;
} else if (IN_SET(dns_transaction_key(t)->type, DNS_TYPE_SOA, DNS_TYPE_NS)) {
type = DNS_TYPE_DS;
- log_debug("Requesting DS (→ %s) to validate transaction %" PRIu16 " (%s, %s empty SOA/NS response).",
- name, t->id, name, signed_status);
+ log_debug("Requesting DS (%s %s) to validate transaction %" PRIu16 " (%s, %s empty SOA/NS response).",
+ special_glyph(SPECIAL_GLYPH_ARROW_RIGHT), name, t->id, name, signed_status);
} else {
type = DNS_TYPE_SOA;
- log_debug("Requesting SOA (→ %s) to validate transaction %" PRIu16 " (%s, %s empty non-SOA/NS/DS response).",
- name, t->id, name, signed_status);
+ log_debug("Requesting SOA (%s %s) to validate transaction %" PRIu16 " (%s, %s empty non-SOA/NS/DS response).",
+ special_glyph(SPECIAL_GLYPH_ARROW_RIGHT), name, t->id, name, signed_status);
}
if (name) {
#include "fd-util.h"
#include "fileio.h"
#include "generator.h"
+#include "glyph-util.h"
#include "mkdir.h"
#include "proc-cmdline.h"
#include "special.h"
/* And now redirect default.target to our new target */
p = strjoina(arg_dest, "/" SPECIAL_DEFAULT_TARGET);
if (symlink("kernel-command-line.target", p) < 0)
- return log_error_errno(errno, "Failed to link unit file kernel-command-line.target → %s: %m", p);
+ return log_error_errno(errno, "Failed to link unit file kernel-command-line.target %s %s: %m",
+ special_glyph(SPECIAL_GLYPH_ARROW_RIGHT), p);
return 0;
}
#include "fd-util.h"
#include "format-util.h"
#include "fs-util.h"
+#include "glyph-util.h"
#include "set.h"
#include "string-util.h"
#include "util.h"
SET_FOREACH(n, nodes) {
int k;
- log_debug("Changing ACLs at %s for seat %s (uid "UID_FMT"→"UID_FMT"%s%s)",
- n, seat, old_uid, new_uid,
+ log_debug("Changing ACLs at %s for seat %s (uid "UID_FMT"%s"UID_FMT"%s%s)",
+ n, seat, old_uid, special_glyph(SPECIAL_GLYPH_ARROW_RIGHT), new_uid,
del ? " del" : "", add ? " add" : "");
k = devnode_acl(n, flush, del, old_uid, add, new_uid);
#include "alloc-util.h"
#include "dns-domain.h"
+#include "glyph-util.h"
#include "hashmap.h"
#include "hexdecoct.h"
#include "hostname-util.h"
r = sym_idn2_lookup_u8((uint8_t*) name, (uint8_t**) &t,
IDN2_NFC_INPUT | IDN2_TRANSITIONAL);
- log_debug("idn2_lookup_u8: %s → %s", name, t);
+ log_debug("idn2_lookup_u8: %s %s %s", name, special_glyph(SPECIAL_GLYPH_ARROW_RIGHT), t);
if (r == IDN2_OK) {
if (!startswith(name, "xn--")) {
_cleanup_free_ char *s = NULL;
}
if (!streq_ptr(name, s)) {
- log_debug("idn2 roundtrip failed: \"%s\" → \"%s\" → \"%s\", ignoring.",
- name, t, s);
+ log_debug("idn2 roundtrip failed: \"%s\" %s \"%s\" %s \"%s\", ignoring.",
+ name, special_glyph(SPECIAL_GLYPH_ARROW_RIGHT), t,
+ special_glyph(SPECIAL_GLYPH_ARROW_RIGHT), s);
*ret = NULL;
return 0;
}
}
if (chroot_unit_symlinks_equivalent(lp, new_path, dest, old_path)) {
- log_debug("Symlink %s → %s already exists", new_path, dest);
+ log_debug("Symlink %s %s %s already exists",
+ new_path, special_glyph(SPECIAL_GLYPH_ARROW_RIGHT), dest);
return 1;
}
#include "fd-util.h"
#include "fileio.h"
#include "fs-util.h"
+#include "glyph-util.h"
#include "hashmap.h"
#include "label.h"
#include "libmount-util.h"
log_debug("Bind-mounting %s on %s (%s \"%s\")...",
what, where, strnull(fl), strempty(o));
else if (f & MS_MOVE)
- log_debug("Moving mount %s → %s (%s \"%s\")...",
- what, where, strnull(fl), strempty(o));
+ log_debug("Moving mount %s %s %s (%s \"%s\")...",
+ what, special_glyph(SPECIAL_GLYPH_ARROW_RIGHT), where, strnull(fl), strempty(o));
else
log_debug("Mounting %s (%s) on %s (%s \"%s\")...",
strna(what), strna(type), where, strnull(fl), strempty(o));
#include "alloc-util.h"
#include "errno-util.h"
#include "fd-util.h"
+#include "glyph-util.h"
#include "hashmap.h"
#include "io-util.h"
#include "list.h"
varlink_log(v, "Setting state %s",
varlink_state_to_string(state));
else
- varlink_log(v, "Changing state %s → %s",
+ varlink_log(v, "Changing state %s %s %s",
varlink_state_to_string(v->state),
+ special_glyph(SPECIAL_GLYPH_ARROW_RIGHT),
varlink_state_to_string(state));
v->state = state;
r = symlink_atomic(relative, link_path);
if (r < 0)
- return log_error_errno(r, "Failed to update current symlink '%s' → '%s': %m", link_path, relative);
+ return log_error_errno(r, "Failed to update current symlink '%s' %s '%s': %m",
+ link_path,
+ special_glyph(SPECIAL_GLYPH_ARROW_RIGHT),
+ relative);
- log_info("Updated symlink '%s' → '%s'.", link_path, relative);
+ log_info("Updated symlink '%s' %s '%s'.",
+ link_path, special_glyph(SPECIAL_GLYPH_ARROW_RIGHT), relative);
}
}
#include "dirent-util.h"
#include "fd-util.h"
#include "fileio.h"
+#include "glyph-util.h"
#include "netif-naming-scheme.h"
#include "parse-util.h"
#include "proc-cmdline.h"
l = strpcpyf(&s, l, "d%lu", dev_port);
if (l == 0)
names->pci_onboard[0] = '\0';
- log_device_debug(dev, "Onboard index identifier: index=%lu phys_port=%s dev_port=%lu → %s",
+ log_device_debug(dev, "Onboard index identifier: index=%lu phys_port=%s dev_port=%lu %s %s",
idx, strempty(info->phys_port_name), dev_port,
- empty_to_na(names->pci_onboard));
+ special_glyph(SPECIAL_GLYPH_ARROW_RIGHT), empty_to_na(names->pci_onboard));
if (sd_device_get_sysattr_value(names->pcidev, "label", &names->pci_onboard_label) >= 0)
log_device_debug(dev, "Onboard label from PCI device: %s", names->pci_onboard_label);
if (l == 0)
names->pci_path[0] = '\0';
- log_device_debug(dev, "PCI path identifier: domain=%u bus=%u slot=%u func=%u phys_port=%s dev_port=%lu → %s",
+ log_device_debug(dev, "PCI path identifier: domain=%u bus=%u slot=%u func=%u phys_port=%s dev_port=%lu %s %s",
domain, bus, slot, func, strempty(info->phys_port_name), dev_port,
- empty_to_na(names->pci_path));
+ special_glyph(SPECIAL_GLYPH_ARROW_RIGHT), empty_to_na(names->pci_path));
/* ACPI _SUN — slot user number */
r = sd_device_new_from_subsystem_sysname(&pci, "subsystem", "pci");
if (l == 0)
names->pci_slot[0] = '\0';
- log_device_debug(dev, "Slot identifier: domain=%u slot=%"PRIu32" func=%u phys_port=%s dev_port=%lu → %s",
+ log_device_debug(dev, "Slot identifier: domain=%u slot=%"PRIu32" func=%u phys_port=%s dev_port=%lu %s %s",
domain, hotplug_slot, func, strempty(info->phys_port_name), dev_port,
- empty_to_na(names->pci_slot));
+ special_glyph(SPECIAL_GLYPH_ARROW_RIGHT), empty_to_na(names->pci_slot));
}
return 0;
xsprintf(names->vio_slot, "v%u", slotid);
names->type = NET_VIO;
- log_device_debug(dev, "Vio slot identifier: slotid=%u → %s", slotid, names->vio_slot);
+ log_device_debug(dev, "Vio slot identifier: slotid=%u %s %s",
+ slotid, special_glyph(SPECIAL_GLYPH_ARROW_RIGHT), names->vio_slot);
return 0;
}
xsprintf(names->platform_path, "a%s%xi%u", vendor, model, instance);
names->type = NET_PLATFORM;
- log_device_debug(dev, "Platform identifier: vendor=%s model=%u instance=%u → %s",
- vendor, model, instance, names->platform_path);
+ log_device_debug(dev, "Platform identifier: vendor=%s model=%u instance=%u %s %s",
+ vendor, model, instance, special_glyph(SPECIAL_GLYPH_ARROW_RIGHT), names->platform_path);
return 0;
}
if (l == 0)
return log_device_debug_errno(dev, SYNTHETIC_ERRNO(ENAMETOOLONG),
"Generated USB name would be too long.");
- log_device_debug(dev, "USB name identifier: ports=%.*s config=%s interface=%s → %s",
- (int) strlen(ports), sysname + (ports - name), config, interf, names->usb_ports);
+ log_device_debug(dev, "USB name identifier: ports=%.*s config=%s interface=%s %s %s",
+ (int) strlen(ports), sysname + (ports - name), config, interf,
+ special_glyph(SPECIAL_GLYPH_ARROW_RIGHT), names->usb_ports);
names->type = NET_USB;
return 0;
}
xsprintf(names->bcma_core, "b%u", core);
names->type = NET_BCMA;
- log_device_debug(dev, "BCMA core identifier: core=%u → \"%s\"", core, names->bcma_core);
+ log_device_debug(dev, "BCMA core identifier: core=%u %s \"%s\"",
+ core, special_glyph(SPECIAL_GLYPH_ARROW_RIGHT), names->bcma_core);
return 0;
}
return log_device_debug_errno(dev, SYNTHETIC_ERRNO(ENAMETOOLONG),
"Generated CCW name would be too long.");
names->type = NET_CCW;
- log_device_debug(dev, "CCW identifier: ccw_busid=%s → \"%s\"", bus_id, names->ccw_busid);
+ log_device_debug(dev, "CCW identifier: ccw_busid=%s %s \"%s\"",
+ bus_id, special_glyph(SPECIAL_GLYPH_ARROW_RIGHT), names->ccw_busid);
return 0;
}
xsprintf(str, "%sx%s", prefix, HW_ADDR_TO_STR_FULL(&info.hw_addr, HW_ADDR_TO_STRING_NO_COLON));
udev_builtin_add_property(dev, test, "ID_NET_NAME_MAC", str);
- log_device_debug(dev, "MAC address identifier: hw_addr=%s → %s",
- HW_ADDR_TO_STR(&info.hw_addr), str + strlen(prefix));
+ log_device_debug(dev, "MAC address identifier: hw_addr=%s %s %s",
+ HW_ADDR_TO_STR(&info.hw_addr),
+ special_glyph(SPECIAL_GLYPH_ARROW_RIGHT), str + strlen(prefix));
ieee_oui(dev, &info, test);
}