clang-tidy: add Chrome-inspired checks
[lttng-tools.git] / tests / utils / testapp / gen-ns-events / gen-ns-events.cpp
index 7c2b6478c4520f526a9dbca17c7d4d12d1bb650f..fef6b02f52f113e8844d766bc7e5b867e963d411 100644 (file)
@@ -9,6 +9,13 @@
 #define _GNU_SOURCE
 #endif
 
+#include "signal-helper.hpp"
+#include "utils.h"
+
+#include <common/compat/tid.hpp>
+#include <common/macros.hpp>
+
+#include <inttypes.h>
 #include <popt.h>
 #include <sched.h>
 #include <stdarg.h>
 #include <sys/types.h>
 #include <unistd.h>
 
-#include <common/compat/tid.h>
-
-#include "signal-helper.h"
-#include "utils.h"
-
 #define LTTNG_PROC_NS_PATH_MAX 40
 
 /*
  * but that use a libc that doesn't define its associated clone flag.
  */
 #ifndef CLONE_NEWNS
-#define CLONE_NEWNS     0x00020000
+#define CLONE_NEWNS 0x00020000
 #endif
 #ifndef CLONE_NEWCGROUP
 #define CLONE_NEWCGROUP 0x02000000
 #endif
 #ifndef CLONE_NEWUTS
-#define CLONE_NEWUTS    0x04000000
+#define CLONE_NEWUTS 0x04000000
 #endif
 #ifndef CLONE_NEWIPC
-#define CLONE_NEWIPC    0x08000000
+#define CLONE_NEWIPC 0x08000000
 #endif
 #ifndef CLONE_NEWUSER
-#define CLONE_NEWUSER   0x10000000
+#define CLONE_NEWUSER 0x10000000
 #endif
 #ifndef CLONE_NEWPID
-#define CLONE_NEWPID    0x20000000
+#define CLONE_NEWPID 0x20000000
 #endif
 #ifndef CLONE_NEWNET
-#define CLONE_NEWNET    0x40000000
+#define CLONE_NEWNET 0x40000000
 #endif
 #ifndef CLONE_NEWTIME
-#define CLONE_NEWTIME   0x00000080
+#define CLONE_NEWTIME 0x00000080
 #endif
 
 static int debug = 0;
-static char *ns_opt = NULL;
-static char *before_unshare_wait_file_path = NULL;
-static char *after_unshare_wait_file_path = NULL;
-static char *after_unshare_signal_file_path = NULL;
+static char *ns_opt = nullptr;
+static char *before_unshare_wait_file_path = nullptr;
+static char *after_unshare_wait_file_path = nullptr;
+static char *after_unshare_signal_file_path = nullptr;
 
 static struct poptOption opts[] = {
        /* longName, shortName, argInfo, argPtr, value, descrip, argDesc */
-       { "debug", 'd', POPT_ARG_NONE, &debug, 0, "Enable debug output", NULL },
-       { "ns", 'n', POPT_ARG_STRING, &ns_opt, 0, "Namespace short identifier", NULL },
-       { "before", 'b', POPT_ARG_STRING, &before_unshare_wait_file_path, 0, "Wait for file before unshare", NULL },
-       { "after", 'a', POPT_ARG_STRING, &after_unshare_wait_file_path, 0, "Wait for file after unshare", NULL },
-       { "signal", 's', POPT_ARG_STRING, &after_unshare_signal_file_path, 0, "Create signal file after unshare", NULL },
-       POPT_AUTOHELP
-       { NULL, 0, 0, NULL, 0 }
+       { "debug", 'd', POPT_ARG_NONE, &debug, 0, "Enable debug output", nullptr },
+       { "ns", 'n', POPT_ARG_STRING, &ns_opt, 0, "Namespace short identifier", nullptr },
+       { "before",
+         'b',
+         POPT_ARG_STRING,
+         &before_unshare_wait_file_path,
+         0,
+         "Wait for file before unshare",
+         nullptr },
+       { "after",
+         'a',
+         POPT_ARG_STRING,
+         &after_unshare_wait_file_path,
+         0,
+         "Wait for file after unshare",
+         nullptr },
+       { "signal",
+         's',
+         POPT_ARG_STRING,
+         &after_unshare_signal_file_path,
+         0,
+         "Create signal file after unshare",
+         nullptr },
+       POPT_AUTOHELP{ nullptr, 0, 0, nullptr, 0, nullptr, nullptr }
 };
 
-static void debug_printf(const char *format, ...)
+static ATTR_FORMAT_PRINTF(1, 2) void debug_printf(const char *format, ...)
 {
        va_list args;
        va_start(args, format);
@@ -95,8 +114,7 @@ static int get_ns_inum(const char *ns, ino_t *ns_inum)
        /*
         * /proc/thread-self was introduced in kernel v3.17
         */
-       if (snprintf(proc_ns_path, LTTNG_PROC_NS_PATH_MAX,
-                       "/proc/thread-self/ns/%s", ns) >= 0) {
+       if (snprintf(proc_ns_path, LTTNG_PROC_NS_PATH_MAX, "/proc/thread-self/ns/%s", ns) >= 0) {
                if (stat(proc_ns_path, &sb) == 0) {
                        *ns_inum = sb.st_ino;
                } else {
@@ -105,8 +123,11 @@ static int get_ns_inum(const char *ns, ino_t *ns_inum)
                goto end;
        }
 
-       if (snprintf(proc_ns_path, LTTNG_PROC_NS_PATH_MAX,
-                       "/proc/self/task/%d/%s/net", lttng_gettid(), ns) >= 0) {
+       if (snprintf(proc_ns_path,
+                    LTTNG_PROC_NS_PATH_MAX,
+                    "/proc/self/task/%d/%s/net",
+                    lttng_gettid(),
+                    ns) >= 0) {
                if (stat(proc_ns_path, &sb) == 0) {
                        *ns_inum = sb.st_ino;
                } else {
@@ -125,12 +146,11 @@ static int do_the_needful(int ns_flag, const char *ns_str)
 
        ret = get_ns_inum(ns_str, &ns1);
        if (ret) {
-               debug_printf("Failed to get ns inode number for namespace %s",
-                               ns_str);
+               debug_printf("Failed to get ns inode number for namespace %s", ns_str);
                ret = -1;
                goto end;
        }
-       debug_printf("Initial %s ns inode number:      %lu\n", ns_str, ns1);
+       debug_printf("Initial %s ns inode number:      %" PRIuMAX "\n", ns_str, (uintmax_t) ns1);
 
        /* Wait on synchronization before unshare. */
        if (before_unshare_wait_file_path) {
@@ -148,12 +168,11 @@ static int do_the_needful(int ns_flag, const char *ns_str)
 
        ret = get_ns_inum(ns_str, &ns2);
        if (ret) {
-               debug_printf("Failed to get ns inode number for namespace %s",
-                               ns_str);
+               debug_printf("Failed to get ns inode number for namespace %s", ns_str);
                ret = -1;
                goto end;
        }
-       debug_printf("Post unshare %s ns inode number: %lu\n", ns_str, ns2);
+       debug_printf("Post unshare %s ns inode number: %" PRIuMAX "\n", ns_str, (uintmax_t) ns2);
 
        /* Signal that the unshare call is completed. */
        if (after_unshare_signal_file_path) {
@@ -181,7 +200,7 @@ int main(int argc, const char **argv)
        int ret = EXIT_SUCCESS;
        poptContext pc;
 
-       pc = poptGetContext(NULL, argc, argv, opts, 0);
+       pc = poptGetContext(nullptr, argc, argv, opts, 0);
        poptReadDefaultConfig(pc, 0);
 
        if (argc < 2) {
@@ -202,14 +221,15 @@ int main(int argc, const char **argv)
        if (opt < -1) {
                /* an error occurred during option processing */
                poptPrintUsage(pc, stderr, 0);
-               fprintf(stderr, "%s: %s\n",
+               fprintf(stderr,
+                       "%s: %s\n",
                        poptBadOption(pc, POPT_BADOPTION_NOALIAS),
                        poptStrerror(opt));
                ret = EXIT_FAILURE;
                goto end;
        }
 
-       if (ns_opt == NULL) {
+       if (ns_opt == nullptr) {
                poptPrintUsage(pc, stderr, 0);
                ret = EXIT_FAILURE;
                goto end;
This page took 0.026247 seconds and 4 git commands to generate.