- less_opts = strappenda(less_opts, " +G");
- setenv("LESS", less_opts, 1);
+ less_opts = strjoina(less_opts, " +G");
+ if (setenv("LESS", less_opts, 1) < 0)
+ _exit(EXIT_FAILURE);
+
+ /* Initialize a good charset for less. This is
+ * particularly important if we output UTF-8
+ * characters. */
+ less_charset = getenv("SYSTEMD_LESSCHARSET");
+ if (!less_charset && is_locale_utf8())
+ less_charset = "utf-8";
+ if (less_charset &&
+ setenv("LESSCHARSET", less_charset, 1) < 0)
+ _exit(EXIT_FAILURE);