chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
32895bb
)
journal: when show blob data show length
author
Lennart Poettering
<lennart@poettering.net>
Sat, 14 Jan 2012 02:07:47 +0000
(
03:07
+0100)
committer
Lennart Poettering
<lennart@poettering.net>
Sat, 14 Jan 2012 02:07:47 +0000
(
03:07
+0100)
src/logs-show.c
patch
|
blob
|
history
diff --git
a/src/logs-show.c
b/src/logs-show.c
index 8d1c77e5c37aa85d25dd41abec33cdfba93e28d2..5a001331407f9fa7a9c08a0fa707101c91fc2540 100644
(file)
--- a/
src/logs-show.c
+++ b/
src/logs-show.c
@@
-225,9
+225,10
@@
static int output_short(sd_journal *j, unsigned line, bool show_all, bool monoto
if (show_all)
printf(": %.*s\n", (int) message_len, message);
if (show_all)
printf(": %.*s\n", (int) message_len, message);
- else if (contains_unprintable(message, message_len))
- fputs(": [blob data]\n", stdout);
- else if (message_len + n < columns())
+ else if (contains_unprintable(message, message_len)) {
+ char bytes[FORMAT_BYTES_MAX];
+ printf(": [%s blob data]\n", format_bytes(bytes, sizeof(bytes), message_len));
+ } else if (message_len + n < columns())
printf(": %.*s\n", (int) message_len, message);
else if (n < columns()) {
char *e;
printf(": %.*s\n", (int) message_len, message);
else if (n < columns()) {
char *e;
@@
-298,6
+299,7
@@
static int output_verbose(sd_journal *j, unsigned line, bool show_all) {
if (!show_all && (length > PRINT_THRESHOLD ||
contains_unprintable(data, length))) {
const char *c;
if (!show_all && (length > PRINT_THRESHOLD ||
contains_unprintable(data, length))) {
const char *c;
+ char bytes[FORMAT_BYTES_MAX];
c = memchr(data, '=', length);
if (!c) {
c = memchr(data, '=', length);
if (!c) {
@@
-305,9
+307,10
@@
static int output_verbose(sd_journal *j, unsigned line, bool show_all) {
return -EINVAL;
}
return -EINVAL;
}
- printf("\t%.*s=[blob data]\n",
+ printf("\t%.*s=[
%s
blob data]\n",
(int) (c - (const char*) data),
(int) (c - (const char*) data),
- (const char*) data);
+ (const char*) data,
+ format_bytes(bytes, sizeof(bytes), length - (c - (const char *) data) - 1));
} else
printf("\t%.*s\n", (int) length, (const char*) data);
}
} else
printf("\t%.*s\n", (int) length, (const char*) data);
}