summaryrefslogtreecommitdiffabout
path: root/kmicromail/libetpan/generic/mboxdriver_tools.c
Unidiff
Diffstat (limited to 'kmicromail/libetpan/generic/mboxdriver_tools.c') (more/less context) (ignore whitespace changes)
-rw-r--r--kmicromail/libetpan/generic/mboxdriver_tools.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/kmicromail/libetpan/generic/mboxdriver_tools.c b/kmicromail/libetpan/generic/mboxdriver_tools.c
index 1e27798..252a20b 100644
--- a/kmicromail/libetpan/generic/mboxdriver_tools.c
+++ b/kmicromail/libetpan/generic/mboxdriver_tools.c
@@ -196,49 +196,50 @@ mboxdriver_get_cached_flags(struct mail_cache_db * cache_db,
196 struct mail_flags * flags; 196 struct mail_flags * flags;
197 int res; 197 int res;
198 struct mailmbox_msg_info * info; 198 struct mailmbox_msg_info * info;
199 struct mailmbox_folder * folder; 199 struct mailmbox_folder * folder;
200 chashdatum key; 200 chashdatum key;
201 chashdatum data; 201 chashdatum data;
202 202
203 folder = cached_session_get_mbox_session(session); 203 folder = cached_session_get_mbox_session(session);
204 if (folder == NULL) { 204 if (folder == NULL) {
205 res = MAIL_ERROR_BAD_STATE; 205 res = MAIL_ERROR_BAD_STATE;
206 goto err; 206 goto err;
207 } 207 }
208 208
209 key.data = # 209 key.data = #
210 key.len = sizeof(num); 210 key.len = sizeof(num);
211 211
212 r = chash_get(folder->mb_hash, &key, &data); 212 r = chash_get(folder->mb_hash, &key, &data);
213 if (r < 0) { 213 if (r < 0) {
214 res = MAIL_ERROR_MSG_NOT_FOUND; 214 res = MAIL_ERROR_MSG_NOT_FOUND;
215 goto err; 215 goto err;
216 } 216 }
217 217
218 info = data.data; 218 info = data.data;
219 219
220 snprintf(keyname, PATH_MAX, "%u-%u-flags", num, info->msg_body_len); 220 snprintf(keyname, PATH_MAX, "%u-%lu-flags", num,
221 (unsigned long) info->msg_body_len);
221 222
222 r = generic_cache_flags_read(cache_db, mmapstr, keyname, &flags); 223 r = generic_cache_flags_read(cache_db, mmapstr, keyname, &flags);
223 if (r != MAIL_NO_ERROR) { 224 if (r != MAIL_NO_ERROR) {
224 res = r; 225 res = r;
225 goto err; 226 goto err;
226 } 227 }
227 228
228 * result = flags; 229 * result = flags;
229 230
230 return MAIL_NO_ERROR; 231 return MAIL_NO_ERROR;
231 232
232 err: 233 err:
233 return res; 234 return res;
234} 235}
235 236
236int 237int
237mboxdriver_write_cached_flags(struct mail_cache_db * cache_db, 238mboxdriver_write_cached_flags(struct mail_cache_db * cache_db,
238 MMAPString * mmapstr, 239 MMAPString * mmapstr,
239 char * uid, 240 char * uid,
240 struct mail_flags * flags) 241 struct mail_flags * flags)
241{ 242{
242 int r; 243 int r;
243 char keyname[PATH_MAX]; 244 char keyname[PATH_MAX];
244 int res; 245 int res;