summaryrefslogtreecommitdiffstats
path: root/libsmartcols/src/column.c
diff options
context:
space:
mode:
Diffstat (limited to 'libsmartcols/src/column.c')
-rw-r--r--libsmartcols/src/column.c119
1 files changed, 23 insertions, 96 deletions
diff --git a/libsmartcols/src/column.c b/libsmartcols/src/column.c
index 29eb63666..8e9b11fdd 100644
--- a/libsmartcols/src/column.c
+++ b/libsmartcols/src/column.c
@@ -66,12 +66,8 @@ struct libscols_column *scols_copy_column(const struct libscols_column *cl)
ret->width_max = cl->width_max;
ret->width_avg = cl->width_avg;
ret->width_hint = cl->width_hint;
+ ret->flags = cl->flags;
ret->is_extreme = cl->is_extreme;
- ret->trunc = cl->trunc;
- ret->tree = cl->tree;
- ret->right = cl->right;
- ret->strict_width = cl->strict_width;
- ret->no_extremes = cl->no_extremes;
return ret;
err:
@@ -96,6 +92,23 @@ double scols_column_get_whint(struct libscols_column *cl)
return cl ? cl->width_hint : -EINVAL;
}
+int scols_column_set_flags(struct libscols_column *cl, int flags)
+{
+ assert(cl);
+
+ if (!cl)
+ return -EINVAL;
+
+ cl->flags = flags;
+ return 0;
+}
+
+int scols_column_get_flags(struct libscols_column *cl)
+{
+ assert(cl);
+ return cl ? cl->flags : -EINVAL;
+}
+
struct libscols_cell *scols_column_get_header(struct libscols_column *cl)
{
assert(cl);
@@ -154,7 +167,7 @@ int scols_column_is_trunc(struct libscols_column *cl)
assert(cl);
if (!cl)
return -EINVAL;
- return cl->trunc;
+ return cl->flags & SCOLS_FL_TRUNC;
}
/**
* scols_column_is_tree:
@@ -169,7 +182,7 @@ int scols_column_is_tree(struct libscols_column *cl)
assert(cl);
if (!cl)
return -EINVAL;
- return cl->tree;
+ return cl->flags & SCOLS_FL_TREE;
}
/**
* scols_column_is_right:
@@ -184,7 +197,7 @@ int scols_column_is_right(struct libscols_column *cl)
assert(cl);
if (!cl)
return -EINVAL;
- return cl->right;
+ return cl->flags & SCOLS_FL_RIGHT;
}
/**
* scols_column_is_strict_width:
@@ -199,7 +212,7 @@ int scols_column_is_strict_width(struct libscols_column *cl)
assert(cl);
if (!cl)
return -EINVAL;
- return cl->strict_width;
+ return cl->flags & SCOLS_FL_STRICTWIDTH;
}
/**
* scols_column_is_no_extremes:
@@ -214,91 +227,5 @@ int scols_column_is_no_extremes(struct libscols_column *cl)
assert(cl);
if (!cl)
return -EINVAL;
- return cl->no_extremes;
-}
-
-/**
- * scols_column_set_trunc:
- * @cl: column
- * @enable: 1 or 0
- *
- * Enable/disable trunc
- *
- * Returns: 0 on success, negative number in case of an error.
- */
-int scols_column_set_trunc(struct libscols_column *cl, int enable)
-{
- assert(cl);
- if (!cl)
- return -EINVAL;
- cl->trunc = enable;
- return 0;
-}
-/**
- * scols_column_set_tree:
- * @cl: column
- * @enable: 1 or 0
- *
- * Enable/disable tree
- *
- * Returns: 0 on success, negative number in case of an error.
- */
-int scols_column_set_tree(struct libscols_column *cl, int enable)
-{
- assert(cl);
- if (!cl)
- return -EINVAL;
- cl->tree = enable;
- return 0;
-}
-/**
- * scols_column_set_right:
- * @cl: column
- * @enable: 1 or 0
- *
- * Enable/disable right
- *
- * Returns: 0 on success, negative number in case of an error.
- */
-int scols_column_set_right(struct libscols_column *cl, int enable)
-{
- assert(cl);
- if (!cl)
- return -EINVAL;
- cl->right = enable;
- return 0;
-}
-/**
- * scols_column_set_strict_width:
- * @cl: column
- * @enable: 1 or 0
- *
- * Enable/disable strict_width
- *
- * Returns: 0 on success, negative number in case of an error.
- */
-int scols_column_set_strict_width(struct libscols_column *cl, int enable)
-{
- assert(cl);
- if (!cl)
- return -EINVAL;
- cl->strict_width = enable;
- return 0;
-}
-/**
- * scols_column_set_no_extremes:
- * @cl: column
- * @enable: 1 or 0
- *
- * Enable/disable no_extremes
- *
- * Returns: 0 on success, negative number in case of an error.
- */
-int scols_column_set_no_extremes(struct libscols_column *cl, int enable)
-{
- assert(cl);
- if (!cl)
- return -EINVAL;
- cl->no_extremes = enable;
- return 0;
+ return cl->flags & SCOLS_FL_NOEXTREMES;
}