From bf390e96735a156cb221385cc057aeb957c088b9 Mon Sep 17 00:00:00 2001 From: Jaakko Keränen Date: Fri, 14 Aug 2020 12:15:41 +0300 Subject: Adding and viewing bookmarks --- src/bookmarks.c | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) (limited to 'src/bookmarks.c') diff --git a/src/bookmarks.c b/src/bookmarks.c index babfc323..b023e90a 100644 --- a/src/bookmarks.c +++ b/src/bookmarks.c @@ -55,8 +55,17 @@ void load_Bookmarks(iBookmarks *d, const char *dirPath) { const iRangecc src = range_Block(collect_Block(readAll_File(f))); iRangecc line = iNullRange; while (nextSplit_Rangecc(&src, "\n", &line)) { + /* Skip empty lines. */ { + iRangecc ln = line; + trim_Rangecc(&ln); + if (isEmpty_Range(&ln)) { + continue; + } + } iBookmark bm; init_Bookmark(&bm); + bm.icon = strtoul(line.start, NULL, 16); + line.start += 9; char *endPos; initSeconds_Time(&bm.when, strtod(line.start, &endPos)); line.start = skipSpace_CStr(endPos); @@ -77,20 +86,27 @@ void save_Bookmarks(const iBookmarks *d, const char *dirPath) { iString *str = collectNew_String(); iConstForEach(Array, i, &d->bookmarks) { const iBookmark *bm = i.value; - format_String(str, "%lf %s\%s\n%s\n", seconds_Time(&bm->when), cstr_String(&bm->url), - cstr_String(&bm->title), cstr_String(&bm->tags)); + format_String(str, + "%08x %lf %s\n%s\n%s\n", + bm->icon, + seconds_Time(&bm->when), + cstr_String(&bm->url), + cstr_String(&bm->title), + cstr_String(&bm->tags)); writeData_File(f, cstr_String(str), size_String(str)); } } iRelease(f); } -void add_Bookmarks(iBookmarks *d, const iString *url, const iString *title, const iString *tags) { +void add_Bookmarks(iBookmarks *d, const iString *url, const iString *title, const iString *tags, + iChar icon) { iBookmark bm; init_Bookmark(&bm); set_String(&bm.url, url); set_String(&bm.title, title); set_String(&bm.tags, tags); + bm.icon = icon; initCurrent_Time(&bm.when); pushBack_Array(&d->bookmarks, &bm); } -- cgit v1.2.3