]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
libsmartcols: add maxout sample
authorKarel Zak <kzak@redhat.com>
Wed, 31 Aug 2016 13:15:28 +0000 (15:15 +0200)
committerKarel Zak <kzak@redhat.com>
Wed, 31 Aug 2016 13:15:28 +0000 (15:15 +0200)
Signed-off-by: Karel Zak <kzak@redhat.com>
libsmartcols/samples/Makemodule.am
libsmartcols/samples/maxout.c [new file with mode: 0644]

index 0a2d892205bae5f789eaa0b03d842af0bf644e0a..413da5e4870ac0f0288a36748288679031a19244 100644 (file)
@@ -2,7 +2,8 @@
 check_PROGRAMS += \
        sample-scols-title \
        sample-scols-wrap \
-       sample-scols-continuous
+       sample-scols-continuous \
+       sample-scols-maxout
 
 sample_scols_cflags = $(AM_CFLAGS) $(NO_UNUSED_WARN_CFLAGS) \
                       -I$(ul_libsmartcols_incdir)
@@ -27,3 +28,7 @@ sample_scols_continuous_SOURCES = libsmartcols/samples/continuous.c
 sample_scols_continuous_LDADD = $(sample_scols_ldadd) libcommon.la
 sample_scols_continuous_CFLAGS = $(sample_scols_cflags)
 
+sample_scols_maxout_SOURCES = libsmartcols/samples/maxout.c
+sample_scols_maxout_LDADD = $(sample_scols_ldadd)
+sample_scols_maxout_CFLAGS = $(sample_scols_cflags)
+
diff --git a/libsmartcols/samples/maxout.c b/libsmartcols/samples/maxout.c
new file mode 100644 (file)
index 0000000..5718870
--- /dev/null
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2016 Karel Zak <kzak@redhat.com>
+ *
+ * This file may be redistributed under the terms of the
+ * GNU Lesser General Public License.
+ */
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <errno.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <dirent.h>
+#include <getopt.h>
+
+#include "c.h"
+#include "nls.h"
+#include "libsmartcols.h"
+
+enum { COL_LEFT, COL_FOO, COL_RIGHT };
+
+int main(int argc, char *argv[])
+{
+       struct libscols_table *tb;
+       int rc = -1, nlines = 3;
+
+       setlocale(LC_ALL, "");  /* just to have enable UTF8 chars */
+
+       scols_init_debug(0);
+
+       tb = scols_new_table();
+       if (!tb)
+               err(EXIT_FAILURE, "failed to create output table");
+
+       scols_table_enable_maxout(tb, TRUE);
+       if (!scols_table_new_column(tb, "LEFT", 0, 0))
+               goto done;
+       if (!scols_table_new_column(tb, "FOO", 0, 0))
+               goto done;
+       if (!scols_table_new_column(tb, "RIGHT", 0, /*SCOLS_FL_RIGHT*/0 ))
+               goto done;
+
+       while (nlines--) {
+               struct libscols_line *ln = scols_table_new_line(tb, NULL);
+
+               scols_line_set_data(ln, COL_LEFT, "A");
+               scols_line_set_data(ln, COL_FOO, "B");
+               scols_line_set_data(ln, COL_RIGHT, "C");
+       }
+
+       scols_print_table(tb);
+       rc = 0;
+done:
+       scols_unref_table(tb);
+       return rc == 0 ? EXIT_SUCCESS : EXIT_FAILURE;
+}