From fcb0620a371475f154a5a1fb91a319ff3483ca0d Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Fri, 8 Apr 2011 16:39:59 +0200 Subject: abrt-cli is one of several places where we hardcode usage of various elements of dump directory. This patch changes it to generic handling, where abrt-cli doesn't know anything about particular elements (like backtrace). Changes in detail: * crash_item->flags how has CD_FLAG_UNIXTIME bit. * format_crash_item(item) returns malloced formatted string (currently only formatted time for items with CD_FLAG_UNIXTIME) or NULL, if item->content is to be used as-is * crash_item->flags how has CD_FLAG_LIST bit, it is set on a small number of elements which are to be shown by abrt-cli -l. * abrt-cli -l doesn't use fixed names, it looks at CD_FLAG_LIST. * abrt-cli -i doesn't use fixed names, it prints all one-line elements: Directory : /var/spool/abrt/ccpp-1298264192-2705 analyzer : CCpp architecture : x86_64 cmdline : metacity comment : Abrt testing, please disregard component : metacity coredump : /var/spool/abrt/ccpp-1298264192-2705/coredump count : 1 crash_function : pa_atomic_load executable : /usr/bin/metacity global_uuid : 1e8b716d2094fb22dccdb5321ac0cf6f14eb6689 hostname : dhcp-25-227.brq.redhat.com kernel : 2.6.34.7-61.fc13.x86_64 os_release : Fedora release 13 (Goddard) package : metacity-2.30.0-3.fc13 rating : 4 reason : Process /usr/bin/metacity was killed by signal 11 (SIGSEGV) time : Mon 21 Feb 2011 05:56:32 AM CET uid : 500 uuid : 453085d0f703b96ddc3a5172dd7d5a29479f5b3f * abrt-cli -i --backtrace is removed. Instead, abrt-cli -i --full is to be used. It shows all elements, one-line and multi-line ones. * abrt-cli code now has an example how to list crast_data_t in the sorted-by-key order. Further ideas: abrt-cli needs -o elem1,elem2,elem3 option which tells which elements to show, and/or -O elem1,elem2,elem3 option which tells elements to NOT show. Rationale: abrt-cli -i --full output is way too long because of smaps, need a way to suppress unneeded elements display Signed-off-by: Denys Vlasenko --- src/include/report/crash_data.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/include') diff --git a/src/include/report/crash_data.h b/src/include/report/crash_data.h index 3813cabf..e152c63f 100644 --- a/src/include/report/crash_data.h +++ b/src/include/report/crash_data.h @@ -32,7 +32,9 @@ enum { CD_FLAG_TXT = (1 << 1), CD_FLAG_ISEDITABLE = (1 << 2), CD_FLAG_ISNOTEDITABLE = (1 << 3), - CD_FLAG_ONELINE = (1 << 4), + /* Show this element in "short" info (abrt-cli -l) */ + CD_FLAG_LIST = (1 << 4), + CD_FLAG_UNIXTIME = (1 << 5), }; struct crash_item { @@ -41,6 +43,8 @@ struct crash_item { }; typedef struct crash_item crash_item; +char *format_crash_item(struct crash_item *item); + /* In-memory crash data structure and accessors */ typedef GHashTable crash_data_t; -- cgit