summaryrefslogtreecommitdiff
path: root/apps/bookmark.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/bookmark.c')
-rw-r--r--apps/bookmark.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/apps/bookmark.c b/apps/bookmark.c
index 687290b901..1b82966be8 100644
--- a/apps/bookmark.c
+++ b/apps/bookmark.c
@@ -62,7 +62,7 @@ struct bookmark_list
62}; 62};
63 63
64/* bookmark flags */ 64/* bookmark flags */
65#define F_BMFILES 0x001 65#define F_BMFILES 0x01
66 66
67/* bookmark values */ 67/* bookmark values */
68static struct { 68static struct {
@@ -916,6 +916,12 @@ static const char* skip_token(const char* s)
916 return s; 916 return s;
917} 917}
918 918
919static const char* long_token(const char* s, long* dest)
920{
921 *dest = atoi(s); /* Should be atol, but we don't have it. */
922 return skip_token(s);
923}
924
919/* ----------------------------------------------------------------------- */ 925/* ----------------------------------------------------------------------- */
920/* This function takes a bookmark and parses it. This function also */ 926/* This function takes a bookmark and parses it. This function also */
921/* validates the bookmark. Flags are set to indicate which bookmark */ 927/* validates the bookmark. Flags are set to indicate which bookmark */
@@ -927,7 +933,7 @@ static bool parse_bookmark(const char *bookmark, const int flags)
927 const char* end; 933 const char* end;
928 934
929#define FLAG(a) (flags & a) 935#define FLAG(a) (flags & a)
930#define GET_INT_TOKEN(var) var = atoi(s); s = skip_token(s) 936#define GET_INT_TOKEN(var) s = long_token(s, (long *)&var)
931#define GET_BOOL_TOKEN(var) var = (atoi(s)!=0); s = skip_token(s) 937#define GET_BOOL_TOKEN(var) var = (atoi(s)!=0); s = skip_token(s)
932 938
933 GET_INT_TOKEN(bm.resume_index); 939 GET_INT_TOKEN(bm.resume_index);