|
|
|
@ -575,7 +575,7 @@ imap_fetch_message (imap_t * imap, unsigned int uid, int fd)
|
|
|
|
|
size_t n; |
|
|
|
|
char buf[1024]; |
|
|
|
|
|
|
|
|
|
send_server (imap->sock, "UID FETCH %d RFC822.PEEK", uid); |
|
|
|
|
send_server (imap->sock, "UID FETCH %d (RFC822.PEEK)", uid); |
|
|
|
|
|
|
|
|
|
for (;;) |
|
|
|
|
{ |
|
|
|
@ -594,9 +594,10 @@ imap_fetch_message (imap_t * imap, unsigned int uid, int fd)
|
|
|
|
|
next_arg (&cmd); /* * */ |
|
|
|
|
next_arg (&cmd); /* <msgno> */ |
|
|
|
|
next_arg (&cmd); /* FETCH */ |
|
|
|
|
next_arg (&cmd); /* (RFC822 */ |
|
|
|
|
arg = next_arg (&cmd); |
|
|
|
|
if (*arg != '{') |
|
|
|
|
|
|
|
|
|
while ((arg = next_arg (&cmd)) && *arg != '{') |
|
|
|
|
; |
|
|
|
|
if (!arg) |
|
|
|
|
{ |
|
|
|
|
puts ("parse error getting size"); |
|
|
|
|
return -1; |
|
|
|
@ -662,11 +663,13 @@ imap_fetch_message (imap_t * imap, unsigned int uid, int fd)
|
|
|
|
|
puts ("wrong tag"); |
|
|
|
|
return -1; |
|
|
|
|
} |
|
|
|
|
break; |
|
|
|
|
arg = next_arg (&cmd); |
|
|
|
|
if (!strcmp ("OK", arg)) |
|
|
|
|
return 0; |
|
|
|
|
return -1; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return 0; |
|
|
|
|
/* not reached */ |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* add flags to existing flags */ |
|
|
|
|