]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
findmnt: (refactor) convert add_column macro to a function
authorMasatake YAMATO <yamato@redhat.com>
Sat, 6 Apr 2024 19:56:29 +0000 (04:56 +0900)
committerMasatake YAMATO <yamato@redhat.com>
Wed, 19 Jun 2024 13:11:43 +0000 (22:11 +0900)
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
misc-utils/findmnt.c

index 81473462f994834c637667a0e88f875f9379897e..8c8ffe911f98038df37a2d2e6f43f53d5767f567 100644 (file)
@@ -146,18 +146,15 @@ static struct colinfo infos[] = {
 static int columns[ARRAY_SIZE(infos) * 2];
 static size_t ncolumns;
 
-static inline size_t err_columns_index(size_t arysz, size_t idx)
+static inline void add_column(int id)
 {
-       if (idx >= arysz)
+       if (ncolumns >= ARRAY_SIZE(columns))
                errx(EXIT_FAILURE, _("too many columns specified, "
                                     "the limit is %zu columns"),
-                               arysz - 1);
-       return idx;
+                               ARRAY_SIZE(columns) - 1);
+       columns[ ncolumns++ ] =  id;
 }
 
-#define add_column(ary, n, id) \
-               ((ary)[ err_columns_index(ARRAY_SIZE(ary), (n)) ] = (id))
-
 /* poll actions (parsed --poll=<list> */
 #define FINDMNT_NACTIONS       4               /* mount, umount, move, remount */
 static int actions[FINDMNT_NACTIONS];
@@ -1832,31 +1829,31 @@ int main(int argc, char *argv[])
                list_colunms(&findmnt);         /* print end exit */
 
        if (!ncolumns && (findmnt.flags & FL_DF)) {
-               add_column(columns, ncolumns++, COL_SOURCE);
-               add_column(columns, ncolumns++, COL_FSTYPE);
+               add_column(COL_SOURCE);
+               add_column(COL_FSTYPE);
                if (findmnt.flags & FL_DF_INODES) {
-                       add_column(columns, ncolumns++, COL_INO_TOTAL);
-                       add_column(columns, ncolumns++, COL_INO_USED);
-                       add_column(columns, ncolumns++, COL_INO_AVAIL);
-                       add_column(columns, ncolumns++, COL_INO_USEPERC);
+                       add_column(COL_INO_TOTAL);
+                       add_column(COL_INO_USED);
+                       add_column(COL_INO_AVAIL);
+                       add_column(COL_INO_USEPERC);
                } else {
-                       add_column(columns, ncolumns++, COL_SIZE);
-                       add_column(columns, ncolumns++, COL_USED);
-                       add_column(columns, ncolumns++, COL_AVAIL);
-                       add_column(columns, ncolumns++, COL_USEPERC);
+                       add_column(COL_SIZE);
+                       add_column(COL_USED);
+                       add_column(COL_AVAIL);
+                       add_column(COL_USEPERC);
                }
-               add_column(columns, ncolumns++, COL_TARGET);
+               add_column(COL_TARGET);
        }
 
        /* default columns */
        if (!ncolumns) {
                if (findmnt.flags & FL_POLL)
-                       add_column(columns, ncolumns++, COL_ACTION);
+                       add_column(COL_ACTION);
 
-               add_column(columns, ncolumns++, COL_TARGET);
-               add_column(columns, ncolumns++, COL_SOURCE);
-               add_column(columns, ncolumns++, COL_FSTYPE);
-               add_column(columns, ncolumns++, COL_OPTIONS);
+               add_column(COL_TARGET);
+               add_column(COL_SOURCE);
+               add_column(COL_FSTYPE);
+               add_column(COL_OPTIONS);
        }
 
        if (outarg && string_add_to_idarray(outarg, columns, ARRAY_SIZE(columns),