|
Jiri Moskovcak |
4696337 |
From 6b208e8762e2ec07ed4ad2fb5a80a4acf53a005a Mon Sep 17 00:00:00 2001
|
|
Jiri Moskovcak |
4696337 |
From: Nikola Pajkovsky <npajkovs@redhat.com>
|
|
Jiri Moskovcak |
4696337 |
Date: Wed, 27 Jul 2011 16:10:56 +0200
|
|
Jiri Moskovcak |
4696337 |
Subject: [PATCH 19/52] compare problem data by content of file (FILENAME_*)
|
|
Jiri Moskovcak |
4696337 |
|
|
Jiri Moskovcak |
4696337 |
Signed-off-by: Nikola Pajkovsky <npajkovs@redhat.com>
|
|
Jiri Moskovcak |
4696337 |
---
|
|
Jiri Moskovcak |
4696337 |
src/include/internal_libreport.h | 4 ++++
|
|
Jiri Moskovcak |
4696337 |
src/lib/problem_data.c | 20 ++++++++++++++++++++
|
|
Jiri Moskovcak |
4696337 |
2 files changed, 24 insertions(+), 0 deletions(-)
|
|
Jiri Moskovcak |
4696337 |
|
|
Jiri Moskovcak |
4696337 |
diff --git a/src/include/internal_libreport.h b/src/include/internal_libreport.h
|
|
Jiri Moskovcak |
4696337 |
index 1959d40..6538edb 100644
|
|
Jiri Moskovcak |
4696337 |
--- a/src/include/internal_libreport.h
|
|
Jiri Moskovcak |
4696337 |
+++ b/src/include/internal_libreport.h
|
|
Jiri Moskovcak |
4696337 |
@@ -637,6 +637,10 @@ GList *kernel_tainted_long(unsigned tainted);
|
|
Jiri Moskovcak |
4696337 |
|
|
Jiri Moskovcak |
4696337 |
// Not stored as files, added "on the fly":
|
|
Jiri Moskovcak |
4696337 |
#define CD_DUMPDIR "Directory"
|
|
Jiri Moskovcak |
4696337 |
+
|
|
Jiri Moskovcak |
4696337 |
+#define cmp_problem_data libreport_cmp_problem_data
|
|
Jiri Moskovcak |
4696337 |
+gint cmp_problem_data(gconstpointer a, gconstpointer b, gpointer filename);
|
|
Jiri Moskovcak |
4696337 |
+
|
|
Jiri Moskovcak |
4696337 |
//UNUSED:
|
|
Jiri Moskovcak |
4696337 |
//// "Which events are possible (make sense) on this dump dir?"
|
|
Jiri Moskovcak |
4696337 |
//// (a string with "\n" terminated event names)
|
|
Jiri Moskovcak |
4696337 |
diff --git a/src/lib/problem_data.c b/src/lib/problem_data.c
|
|
Jiri Moskovcak |
4696337 |
index 0878b88..cee9527 100644
|
|
Jiri Moskovcak |
4696337 |
--- a/src/lib/problem_data.c
|
|
Jiri Moskovcak |
4696337 |
+++ b/src/lib/problem_data.c
|
|
Jiri Moskovcak |
4696337 |
@@ -459,3 +459,23 @@ void log_problem_data(problem_data_t *problem_data, const char *pfx)
|
|
Jiri Moskovcak |
4696337 |
);
|
|
Jiri Moskovcak |
4696337 |
}
|
|
Jiri Moskovcak |
4696337 |
}
|
|
Jiri Moskovcak |
4696337 |
+
|
|
Jiri Moskovcak |
4696337 |
+gint cmp_problem_data(gconstpointer a, gconstpointer b, gpointer filename)
|
|
Jiri Moskovcak |
4696337 |
+{
|
|
Jiri Moskovcak |
4696337 |
+ problem_data_t *a_data = (problem_data_t *) a;
|
|
Jiri Moskovcak |
4696337 |
+ const char *a_time_str = get_problem_item_content_or_NULL(a_data, filename);
|
|
Jiri Moskovcak |
4696337 |
+ unsigned long a_time= strtoul(a_time_str, NULL, 10);
|
|
Jiri Moskovcak |
4696337 |
+
|
|
Jiri Moskovcak |
4696337 |
+ problem_data_t *b_data = (problem_data_t *) b;
|
|
Jiri Moskovcak |
4696337 |
+ const char *b_time_str = get_problem_item_content_or_NULL(b_data, filename);
|
|
Jiri Moskovcak |
4696337 |
+ unsigned long b_time= strtoul(b_time_str, NULL, 10);
|
|
Jiri Moskovcak |
4696337 |
+
|
|
Jiri Moskovcak |
4696337 |
+ /* newer first */
|
|
Jiri Moskovcak |
4696337 |
+ if (a_time > b_time)
|
|
Jiri Moskovcak |
4696337 |
+ return -1;
|
|
Jiri Moskovcak |
4696337 |
+
|
|
Jiri Moskovcak |
4696337 |
+ if (a_time == b_time)
|
|
Jiri Moskovcak |
4696337 |
+ return 0;
|
|
Jiri Moskovcak |
4696337 |
+
|
|
Jiri Moskovcak |
4696337 |
+ return 1;
|
|
Jiri Moskovcak |
4696337 |
+}
|
|
Jiri Moskovcak |
4696337 |
--
|
|
Jiri Moskovcak |
4696337 |
1.7.6
|
|
Jiri Moskovcak |
4696337 |
|