Blame 0019-compare-problem-data-by-content-of-file-FILENAME_.patch

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