From 7602124306e5abdfba17106d7e52d8c58ac939e7 Mon Sep 17 00:00:00 2001
From: Cyrille Bagard <nocbos@gmail.com>
Date: Mon, 30 Sep 2019 00:11:38 +0200
Subject: Simplified bookmarks code.

---
 src/analysis/db/items/bookmark.c | 17 ++++-------------
 1 file changed, 4 insertions(+), 13 deletions(-)

diff --git a/src/analysis/db/items/bookmark.c b/src/analysis/db/items/bookmark.c
index 0f985d6..65c948f 100644
--- a/src/analysis/db/items/bookmark.c
+++ b/src/analysis/db/items/bookmark.c
@@ -49,8 +49,6 @@ struct _GDbBookmark
     vmpa2t addr;                            /* Adresse du signet           */
     rle_string comment;                     /* Eventuel commentaire associé*/
 
-    bool prev_state;                        /* Drapeau déjà présent avant ?*/
-
 };
 
 /* Signet à l'intérieur d'une zone de texte (classe) */
@@ -92,7 +90,7 @@ static bool g_db_bookmark_pack(const GDbBookmark *, packed_buffer *);
 static char *g_db_bookmark_build_label(const GDbBookmark *);
 
 /* Exécute un signet sur un tampon de binaire chargé. */
-static bool g_db_bookmark_run(GDbBookmark *, GLoadedBinary *, bool *, bool);
+static bool g_db_bookmark_run(GDbBookmark *, GLoadedBinary *, bool);
 
 /* Applique un signet sur un tampon de binaire chargé. */
 static bool g_db_bookmark_apply(GDbBookmark *, GLoadedBinary *);
@@ -512,7 +510,6 @@ static char *g_db_bookmark_build_label(const GDbBookmark *bookmark)
 *                                                                             *
 *  Paramètres  : bookmark = signet à manipuler.                               *
 *                binary   = binaire chargé en mémoire à modifier.             *
-*                prev     = état précédent de la présence du drapeau. [OUT]   *
 *                set      = précision quant au nouvel état du drapeau.        *
 *                                                                             *
 *  Description : Exécute un signet sur un tampon de binaire chargé.           *
@@ -523,7 +520,7 @@ static char *g_db_bookmark_build_label(const GDbBookmark *bookmark)
 *                                                                             *
 ******************************************************************************/
 
-static bool g_db_bookmark_run(GDbBookmark *bookmark, GLoadedBinary *binary, bool *prev, bool set)
+static bool g_db_bookmark_run(GDbBookmark *bookmark, GLoadedBinary *binary, bool set)
 {
     bool result;                            /* Bilan à faire remonter      */
     GBufferCache *cache;                    /* Tampon d'impression colorée */
@@ -555,11 +552,8 @@ static bool g_db_bookmark_run(GDbBookmark *bookmark, GLoadedBinary *binary, bool
 
     if (result)
     {
-        *prev = g_buffer_line_get_flags(line) & BLF_BOOKMARK;
-
         if (set)
             g_buffer_line_add_flag(line, BLF_BOOKMARK);
-
         else
             g_buffer_line_remove_flag(line, BLF_BOOKMARK);
 
@@ -602,7 +596,7 @@ static bool g_db_bookmark_apply(GDbBookmark *bookmark, GLoadedBinary *binary)
 
     flags = g_db_item_get_flags(G_DB_ITEM(bookmark));
 
-    result = g_db_bookmark_run(bookmark, binary, &bookmark->prev_state, (flags & DIF_ERASER) == 0);
+    result = g_db_bookmark_run(bookmark, binary, (flags & DIF_ERASER) == 0);
 
     return result;
 
@@ -629,10 +623,7 @@ static bool g_db_bookmark_cancel(GDbBookmark *bookmark, GLoadedBinary *binary)
 
     flags = g_db_item_get_flags(G_DB_ITEM(bookmark));
 
-    if (!bookmark->prev_state)
-        result = g_db_bookmark_run(bookmark, binary, (bool []) { 0 }, (flags & DIF_ERASER) != 0);
-    else
-        result = true;
+    result = g_db_bookmark_run(bookmark, binary, (flags & DIF_ERASER) != 0);
 
     return result;
 
-- 
cgit v0.11.2-87-g4458