diff options
| author | Sebastien Bacher <seb128@ubuntu.com> | 2019-03-12 15:13:33 +0100 |
|---|---|---|
| committer | Sebastien Bacher <seb128@ubuntu.com> | 2019-03-12 15:13:33 +0100 |
| commit | dd428301eb6f02542015121d7b08d9997f137e50 (patch) | |
| tree | 5530189f63510287d65268fc36025bdbc9414c00 /clients/cli/utils.c | |
| parent | bbae86d3d2997a853ca0365e8eb7a3ca7489ee09 (diff) | |
New upstream version 1.15.91
Diffstat (limited to 'clients/cli/utils.c')
| -rw-r--r-- | clients/cli/utils.c | 34 |
1 files changed, 20 insertions, 14 deletions
diff --git a/clients/cli/utils.c b/clients/cli/utils.c index 1b940467..0e74ba88 100644 --- a/clients/cli/utils.c +++ b/clients/cli/utils.c @@ -23,9 +23,7 @@ #include "utils.h" #include <stdio.h> -#include <string.h> #include <stdlib.h> -#include <errno.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> @@ -1428,19 +1426,20 @@ pager_fallback (void) { char buf[64]; int rb; + int errsv; do { rb = read (STDIN_FILENO, buf, sizeof (buf)); if (rb == -1) { - if (errno == EINTR) { + errsv = errno; + if (errsv == EINTR) continue; - } else { - g_printerr (_("Error reading nmcli output: %s\n"), strerror (errno)); - _exit(EXIT_FAILURE); - } + g_printerr (_("Error reading nmcli output: %s\n"), nm_strerror_native (errsv)); + _exit(EXIT_FAILURE); } if (write (STDOUT_FILENO, buf, rb) == -1) { - g_printerr (_("Error writing nmcli output: %s\n"), strerror (errno)); + errsv = errno; + g_printerr (_("Error writing nmcli output: %s\n"), nm_strerror_native (errsv)); _exit(EXIT_FAILURE); } } while (rb > 0); @@ -1455,6 +1454,7 @@ nmc_terminal_spawn_pager (const NmcConfig *nmc_config) pid_t pager_pid; pid_t parent_pid; int fd[2]; + int errsv; if ( nmc_config->in_editor || nmc_config->print_output == NMC_PRINT_TERSE @@ -1464,7 +1464,8 @@ nmc_terminal_spawn_pager (const NmcConfig *nmc_config) return 0; if (pipe (fd) == -1) { - g_printerr (_("Failed to create pager pipe: %s\n"), strerror (errno)); + errsv = errno; + g_printerr (_("Failed to create pager pipe: %s\n"), nm_strerror_native (errsv)); return 0; } @@ -1472,7 +1473,8 @@ nmc_terminal_spawn_pager (const NmcConfig *nmc_config) pager_pid = fork (); if (pager_pid == -1) { - g_printerr (_("Failed to fork pager: %s\n"), strerror (errno)); + errsv = errno; + g_printerr (_("Failed to fork pager: %s\n"), nm_strerror_native (errsv)); nm_close (fd[0]); nm_close (fd[1]); return 0; @@ -1517,10 +1519,14 @@ nmc_terminal_spawn_pager (const NmcConfig *nmc_config) } /* Return in the parent */ - if (dup2 (fd[1], STDOUT_FILENO) < 0) - g_printerr (_("Failed to duplicate pager pipe: %s\n"), strerror (errno)); - if (dup2 (fd[1], STDERR_FILENO) < 0) - g_printerr (_("Failed to duplicate pager pipe: %s\n"), strerror (errno)); + if (dup2 (fd[1], STDOUT_FILENO) < 0) { + errsv = errno; + g_printerr (_("Failed to duplicate pager pipe: %s\n"), nm_strerror_native (errsv)); + } + if (dup2 (fd[1], STDERR_FILENO) < 0) { + errsv = errno; + g_printerr (_("Failed to duplicate pager pipe: %s\n"), nm_strerror_native (errsv)); + } nm_close (fd[0]); nm_close (fd[1]); |