]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
commandhelper: Factor out printFds
authorTim Wiederhake <twiederh@redhat.com>
Mon, 1 Feb 2021 11:27:54 +0000 (12:27 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Tue, 2 Feb 2021 14:00:54 +0000 (15:00 +0100)
Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
tests/commandhelper.c

index 842cc729423023e7d3f3b09239b322113c1fe816..fd45c4fdf78ab1059d82c2a58b3a743fc6cb4cc7 100644 (file)
@@ -140,10 +140,32 @@ static int printEnvironment(FILE *log)
     return ret;
 }
 
+static int printFds(FILE *log)
+{
+    long int open_max = sysconf(_SC_OPEN_MAX);
+    size_t i;
+
+    if (open_max < 0)
+        return -1;
+
+    for (i = 0; i < open_max; i++) {
+        int ignore;
+
+        if (i == fileno(log))
+            continue;
+
+        if (fcntl(i, F_GETFD, &ignore) == -1 && errno == EBADF)
+            continue;
+
+        fprintf(log, "FD:%zu\n", i);
+    }
+
+    return 0;
+}
+
 int main(int argc, char **argv) {
     struct Arguments *args = parseArguments(argc, argv);
     size_t i;
-    int open_max;
     char *cwd;
     FILE *log = fopen(abs_builddir "/commandhelper.log", "w");
     int ret = EXIT_FAILURE;
@@ -162,19 +184,8 @@ int main(int argc, char **argv) {
     if (printEnvironment(log) != 0)
         goto cleanup;
 
-    open_max = sysconf(_SC_OPEN_MAX);
-    if (open_max < 0)
+    if (printFds(log) != 0)
         goto cleanup;
-    for (i = 0; i < open_max; i++) {
-        int f;
-        int closed;
-        if (i == fileno(log))
-            continue;
-        closed = fcntl(i, F_GETFD, &f) == -1 &&
-            errno == EBADF;
-        if (!closed)
-            fprintf(log, "FD:%zu\n", i);
-    }
 
     while (true) {
         bool daemonized = getpgrp() != getppid();