| 1973 | } |
| 1974 | |
| 1975 | void IMAPSession::expunge(String * folder, ErrorCode * pError) |
| 1976 | { |
| 1977 | int r; |
| 1978 | |
| 1979 | selectIfNeeded(folder, pError); |
| 1980 | if (* pError != ErrorNone) |
| 1981 | return; |
| 1982 | |
| 1983 | r = mailimap_expunge(mImap); |
| 1984 | if (r == MAILIMAP_ERROR_STREAM) { |
| 1985 | mShouldDisconnect = true; |
| 1986 | * pError = ErrorConnection; |
| 1987 | return; |
| 1988 | } |
| 1989 | else if (r == MAILIMAP_ERROR_PARSE) { |
| 1990 | mShouldDisconnect = true; |
| 1991 | * pError = ErrorParse; |
| 1992 | return; |
| 1993 | } |
| 1994 | else if (hasError(r)) { |
| 1995 | * pError = ErrorExpunge; |
| 1996 | return; |
| 1997 | } |
| 1998 | * pError = ErrorNone; |
| 1999 | } |
| 2000 | |
| 2001 | static int |
| 2002 | fetch_imap(mailimap * imap, bool identifier_is_uid, uint32_t identifier, |