chiark / gitweb /
remove duplicate semicolons
[elogind.git] / src / journal / journalctl.c
index d6f19e900a7cde303f3521b09e30008c4ecc78ab..cccd8a7692af2748e158c1541f3e7c4c864af56a 100644 (file)
@@ -19,6 +19,7 @@
   along with systemd; If not, see <http://www.gnu.org/licenses/>.
 ***/
 
+#include <locale.h>
 #include <fcntl.h>
 #include <errno.h>
 #include <stddef.h>
@@ -33,8 +34,6 @@
 #include <sys/stat.h>
 #include <sys/ioctl.h>
 #include <linux/fs.h>
-#include <locale.h>
-#include <langinfo.h>
 
 #include <systemd/sd-journal.h>
 
@@ -197,7 +196,6 @@ static int parse_argv(int argc, char *argv[]) {
 
                 case 'f':
                         arg_follow = true;
-                        signal(SIGWINCH, columns_cache_reset);
                         break;
 
                 case 'o':
@@ -400,21 +398,6 @@ static int parse_argv(int argc, char *argv[]) {
         return 1;
 }
 
-static bool on_tty(void) {
-        static int t = -1;
-
-        /* Note that this is invoked relatively early, before we start
-         * the pager. That means the value we return reflects whether
-         * we originally were started on a tty, not if we currently
-         * are. But this is intended, since we want colour and so on
-         * when run in our own pager. */
-
-        if (_unlikely_(t < 0))
-                t = isatty(STDOUT_FILENO) > 0;
-
-        return t;
-}
-
 static int generate_new_id128(void) {
         sd_id128_t id;
         int r;
@@ -563,8 +546,6 @@ static int add_priorities(sd_journal *j) {
                 if (arg_priorities & (1 << i)) {
                         match[sizeof(match)-2] = '0' + i;
 
-                        log_info("adding match %s", match);
-
                         r = sd_journal_add_match(j, match, strlen(match));
                         if (r < 0) {
                                 log_error("Failed to add match: %s", strerror(-r));
@@ -697,7 +678,7 @@ static int setup_keys(void) {
                 goto finish;
         }
 
-        if (isatty(STDOUT_FILENO)) {
+        if (on_tty()) {
                 fprintf(stderr,
                         "\n"
                         "The new key pair has been generated. The " ANSI_HIGHLIGHT_ON "secret sealing key" ANSI_HIGHLIGHT_OFF " has been written to\n"
@@ -719,7 +700,7 @@ static int setup_keys(void) {
 
         printf("/%llx-%llx\n", (unsigned long long) n, (unsigned long long) arg_interval);
 
-        if (isatty(STDOUT_FILENO)) {
+        if (on_tty()) {
                 char tsb[FORMAT_TIMESPAN_MAX], *hn;
 
                 fprintf(stderr,
@@ -737,9 +718,7 @@ static int setup_keys(void) {
 
 #ifdef HAVE_QRENCODE
                 /* If this is not an UTF-8 system don't print any QR codes */
-                setlocale(LC_CTYPE, "");
-
-                if (streq_ptr(nl_langinfo(CODESET), "UTF-8")) {
+                if (is_locale_utf8()) {
                         fputs("\nTo transfer the verification key to your phone please scan the QR code below:\n\n", stderr);
                         print_qr_code(stderr, seed, seed_size, n, arg_interval, hn, machine);
                 }
@@ -842,6 +821,7 @@ int main(int argc, char *argv[]) {
         bool previous_boot_id_valid = false;
         unsigned n_shown = 0;
 
+        setlocale(LC_ALL, "");
         log_parse_environment();
         log_open();
 
@@ -849,6 +829,8 @@ int main(int argc, char *argv[]) {
         if (r <= 0)
                 goto finish;
 
+        signal(SIGWINCH, columns_lines_cache_reset);
+
         if (arg_action == ACTION_NEW_ID128) {
                 r = generate_new_id128();
                 goto finish;
@@ -982,8 +964,6 @@ int main(int argc, char *argv[]) {
                 goto finish;
         }
 
-        on_tty();
-
         if (!arg_no_pager && !arg_follow)
                 pager_open();