summaryrefslogtreecommitdiff
path: root/src/shared
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2014-04-23 19:05:46 +0200
committerLennart Poettering <lennart@poettering.net>2014-04-23 19:06:39 +0200
commit6b01f1d3911bd7c7eadbb8a3b4375bd3ac05c98f (patch)
treeaa572a33491cc0b57a7c04377c4def14408df3b4 /src/shared
parentb91a3b02f3be899dd8a2ae22df5be8de78f5a175 (diff)
delta: draw arrows with draw_special_char()
Let's unify generation of unicode chars at one place. Also, don't add an extra space into chars we print, except for the tree chars where this is really necessary.
Diffstat (limited to 'src/shared')
-rw-r--r--src/shared/cgroup-show.c12
-rw-r--r--src/shared/util.c16
-rw-r--r--src/shared/util.h4
3 files changed, 20 insertions, 12 deletions
diff --git a/src/shared/cgroup-show.c b/src/shared/cgroup-show.c
index ee14cee4ed..c862ee91f6 100644
--- a/src/shared/cgroup-show.c
+++ b/src/shared/cgroup-show.c
@@ -78,10 +78,12 @@ static void show_pid_array(int pids[], unsigned n_pids, const char *prefix, unsi
get_process_cmdline(pids[i], n_columns, true, &t);
- printf("%s%s%*lu %s\n",
- prefix,
- draw_special_char(extra ? DRAW_TRIANGULAR_BULLET :
- ((more || i < n_pids-1) ? DRAW_TREE_BRANCH : DRAW_TREE_RIGHT)),
+ if (extra)
+ printf("%s%s ", prefix, draw_special_char(DRAW_TRIANGULAR_BULLET));
+ else
+ printf("%s%s", prefix, draw_special_char(((more || i < n_pids-1) ? DRAW_TREE_BRANCH : DRAW_TREE_RIGHT)));
+
+ printf("%*lu %s\n",
pid_width,
(unsigned long) pids[i],
strna(t));
@@ -181,7 +183,7 @@ int show_cgroup_by_path(const char *path, const char *prefix, unsigned n_columns
basename(last));
if (!p1) {
- p1 = strappend(prefix, draw_special_char(DRAW_TREE_VERT));
+ p1 = strappend(prefix, draw_special_char(DRAW_TREE_VERTICAL));
if (!p1)
return -ENOMEM;
}
diff --git a/src/shared/util.c b/src/shared/util.c
index b6285abb29..5bf9c9fabd 100644
--- a/src/shared/util.c
+++ b/src/shared/util.c
@@ -5444,21 +5444,25 @@ out:
const char *draw_special_char(DrawSpecialChar ch) {
static const char *draw_table[2][_DRAW_SPECIAL_CHAR_MAX] = {
+
/* UTF-8 */ {
- [DRAW_TREE_VERT] = "\342\224\202 ", /* │ */
+ [DRAW_TREE_VERTICAL] = "\342\224\202 ", /* │ */
[DRAW_TREE_BRANCH] = "\342\224\234\342\224\200", /* ├─ */
[DRAW_TREE_RIGHT] = "\342\224\224\342\224\200", /* └─ */
[DRAW_TREE_SPACE] = " ", /* */
- [DRAW_TRIANGULAR_BULLET] = "\342\200\243 ", /* ‣ */
- [DRAW_BLACK_CIRCLE] = "\342\227\217 ", /* ● */
+ [DRAW_TRIANGULAR_BULLET] = "\342\200\243", /* ‣ */
+ [DRAW_BLACK_CIRCLE] = "\342\227\217", /* ● */
+ [DRAW_ARROW] = "\342\206\222", /* → */
},
+
/* ASCII fallback */ {
- [DRAW_TREE_VERT] = "| ",
+ [DRAW_TREE_VERTICAL] = "| ",
[DRAW_TREE_BRANCH] = "|-",
[DRAW_TREE_RIGHT] = "`-",
[DRAW_TREE_SPACE] = " ",
- [DRAW_TRIANGULAR_BULLET] = "> ",
- [DRAW_BLACK_CIRCLE] = "* ",
+ [DRAW_TRIANGULAR_BULLET] = ">",
+ [DRAW_BLACK_CIRCLE] = "*",
+ [DRAW_ARROW] = "->",
}
};
diff --git a/src/shared/util.h b/src/shared/util.h
index 5b060ef74f..d584a65979 100644
--- a/src/shared/util.h
+++ b/src/shared/util.h
@@ -681,14 +681,16 @@ void *xbsearch_r(const void *key, const void *base, size_t nmemb, size_t size,
bool is_locale_utf8(void);
typedef enum DrawSpecialChar {
- DRAW_TREE_VERT,
+ DRAW_TREE_VERTICAL,
DRAW_TREE_BRANCH,
DRAW_TREE_RIGHT,
DRAW_TREE_SPACE,
DRAW_TRIANGULAR_BULLET,
DRAW_BLACK_CIRCLE,
+ DRAW_ARROW,
_DRAW_SPECIAL_CHAR_MAX
} DrawSpecialChar;
+
const char *draw_special_char(DrawSpecialChar ch);
char *strreplace(const char *text, const char *old_string, const char *new_string);