mirror of
https://git.pwmt.org/pwmt/zathura.git
synced 2025-01-30 09:34:56 +01:00
use girara_list_find
This commit is contained in:
parent
c06a1a4df7
commit
d18f255bc0
2 changed files with 15 additions and 15 deletions
24
bookmarks.c
24
bookmarks.c
|
@ -8,18 +8,25 @@
|
||||||
#include <girara/datastructures.h>
|
#include <girara/datastructures.h>
|
||||||
#include <girara/utils.h>
|
#include <girara/utils.h>
|
||||||
|
|
||||||
|
static int
|
||||||
|
bookmark_compare_find(const void* item, const void* data)
|
||||||
|
{
|
||||||
|
const zathura_bookmark_t* bookmark = item;
|
||||||
|
const char* id = data;
|
||||||
|
|
||||||
|
return g_strcmp0(bookmark->id, id);
|
||||||
|
}
|
||||||
|
|
||||||
zathura_bookmark_t*
|
zathura_bookmark_t*
|
||||||
zathura_bookmark_add(zathura_t* zathura, const gchar* id, unsigned int page)
|
zathura_bookmark_add(zathura_t* zathura, const gchar* id, unsigned int page)
|
||||||
{
|
{
|
||||||
g_return_val_if_fail(zathura && zathura->document && zathura->bookmarks.bookmarks, NULL);
|
g_return_val_if_fail(zathura && zathura->document && zathura->bookmarks.bookmarks, NULL);
|
||||||
g_return_val_if_fail(id, NULL);
|
g_return_val_if_fail(id, NULL);
|
||||||
|
|
||||||
GIRARA_LIST_FOREACH(zathura->bookmarks.bookmarks, zathura_bookmark_t*, iter, bookmark)
|
zathura_bookmark_t* old = girara_list_find(zathura->bookmarks.bookmarks, bookmark_compare_find, id);
|
||||||
if (strcmp(bookmark->id, id) == 0) {
|
if (old != NULL) {
|
||||||
girara_list_iterator_free(iter);
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
GIRARA_LIST_FOREACH_END(zathura->bookmarks.bookmarks, zathura_bookmark_t*, iter, bookmark);
|
|
||||||
|
|
||||||
zathura_bookmark_t* bookmark = g_malloc0(sizeof(zathura_bookmark_t));
|
zathura_bookmark_t* bookmark = g_malloc0(sizeof(zathura_bookmark_t));
|
||||||
bookmark->id = g_strdup(id);
|
bookmark->id = g_strdup(id);
|
||||||
|
@ -61,14 +68,7 @@ zathura_bookmark_get(zathura_t* zathura, const gchar* id)
|
||||||
g_return_val_if_fail(zathura && zathura->bookmarks.bookmarks, NULL);
|
g_return_val_if_fail(zathura && zathura->bookmarks.bookmarks, NULL);
|
||||||
g_return_val_if_fail(id, NULL);
|
g_return_val_if_fail(id, NULL);
|
||||||
|
|
||||||
GIRARA_LIST_FOREACH(zathura->bookmarks.bookmarks, zathura_bookmark_t*, iter, bookmark)
|
return girara_list_find(zathura->bookmarks.bookmarks, bookmark_compare_find, id);
|
||||||
if (strcmp(bookmark->id, id) == 0) {
|
|
||||||
girara_list_iterator_free(iter);
|
|
||||||
return bookmark;
|
|
||||||
}
|
|
||||||
GIRARA_LIST_FOREACH_END(zathura->bookmarks.bookmarks, zathura_bookmark_t*, iter, bookmark);
|
|
||||||
|
|
||||||
return NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/* See LICENSE file for license and copyright information */
|
/* See LICENSE file for license and copyright information */
|
||||||
|
|
||||||
#define _BSD_SOURCE
|
#define _BSD_SOURCE
|
||||||
#define _XOPEN_SOURCE 500
|
#define _XOPEN_SOURCE 700
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue