diff options
Diffstat (limited to 'apps/plugins/searchengine/dbinterface.c')
-rw-r--r-- | apps/plugins/searchengine/dbinterface.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/apps/plugins/searchengine/dbinterface.c b/apps/plugins/searchengine/dbinterface.c index c098079e35..e10510604d 100644 --- a/apps/plugins/searchengine/dbinterface.c +++ b/apps/plugins/searchengine/dbinterface.c | |||
@@ -29,6 +29,7 @@ | |||
29 | #define FILEENTRY_SIZE (rb->tagdbheader->filelen+12) | 29 | #define FILEENTRY_SIZE (rb->tagdbheader->filelen+12) |
30 | #define ALBUMENTRY_SIZE (rb->tagdbheader->albumlen+4+rb->tagdbheader->songarraylen*4) | 30 | #define ALBUMENTRY_SIZE (rb->tagdbheader->albumlen+4+rb->tagdbheader->songarraylen*4) |
31 | #define ARTISTENTRY_SIZE (rb->tagdbheader->artistlen+rb->tagdbheader->albumarraylen*4) | 31 | #define ARTISTENTRY_SIZE (rb->tagdbheader->artistlen+rb->tagdbheader->albumarraylen*4) |
32 | #define RUNDBENTRY_SIZE 20 | ||
32 | 33 | ||
33 | #define FILERECORD2OFFSET(_x_) (rb->tagdbheader->filestart + _x_ * FILEENTRY_SIZE) | 34 | #define FILERECORD2OFFSET(_x_) (rb->tagdbheader->filestart + _x_ * FILEENTRY_SIZE) |
34 | 35 | ||
@@ -45,7 +46,7 @@ int database_init() { | |||
45 | // zero all entries. | 46 | // zero all entries. |
46 | for(i=0;i<sizeof(struct entry)*rb->tagdbheader->filecount;i++) | 47 | for(i=0;i<sizeof(struct entry)*rb->tagdbheader->filecount;i++) |
47 | *(p++)=0; | 48 | *(p++)=0; |
48 | if(*rb->tagdb_initialized!=1) { | 49 | if(!*rb->tagdb_initialized) { |
49 | if(!rb->tagdb_init()) { | 50 | if(!rb->tagdb_init()) { |
50 | // failed loading db | 51 | // failed loading db |
51 | return -1; | 52 | return -1; |
@@ -110,8 +111,18 @@ void loadsongdata() { | |||
110 | } | 111 | } |
111 | 112 | ||
112 | void loadrundbdata() { | 113 | void loadrundbdata() { |
113 | // we don't do this yet. | ||
114 | currententry->loadedrundbdata=1; | 114 | currententry->loadedrundbdata=1; |
115 | if(!*rb->rundb_initialized) | ||
116 | return; | ||
117 | if(currententry->rundbentry==-1) | ||
118 | return; | ||
119 | rb->lseek(*rb->rundb_fd,currententry->rundbentry,SEEK_SET); | ||
120 | currententry->rundbfe=readlong(*rb->rundb_fd); | ||
121 | currententry->rundbhash=readlong(*rb->rundb_fd); | ||
122 | currententry->rating=readshort(*rb->rundb_fd); | ||
123 | currententry->voladj=readshort(*rb->rundb_fd); | ||
124 | currententry->playcount=readlong(*rb->rundb_fd); | ||
125 | currententry->lastplayed=readlong(*rb->rundb_fd); | ||
115 | } | 126 | } |
116 | 127 | ||
117 | void loadartistname() { | 128 | void loadartistname() { |