X-Git-Url: http://git.madism.org/?a=blobdiff_plain;f=nntp%2Fmx_nntp.c;h=08eee9a62f871b31ffe313b64b00f75805f3f732;hb=e176d53ddc6abf804824cad054a424f45c0a945e;hp=f9091553decd4b31ac7cc49c0cf8add34aadab36;hpb=25bf57d598476b329536fa3f748cc0c529fef6bd;p=apps%2Fmadmutt.git diff --git a/nntp/mx_nntp.c b/nntp/mx_nntp.c index f909155..08eee9a 100644 --- a/nntp/mx_nntp.c +++ b/nntp/mx_nntp.c @@ -1,8 +1,10 @@ +/* + * This file is part of mutt-ng, see http://www.muttng.org/. + * It's licensed under the GNU General Public License, + * please see the file GPL in the top level source directory. + */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif +#include #include "mutt.h" #include "nntp.h" @@ -10,23 +12,35 @@ #include "mx.h" #include "mx_nntp.h" -#include "lib/mem.h" -#include "lib/str.h" - -#include "url.h" - -static int nntp_is_magic (const char* path) { +static int nntp_is_magic (const char* path, struct stat* st) { url_scheme_t s = url_check_scheme (NONULL (path)); return ((s == U_NNTP || s == U_NNTPS) ? M_NNTP : -1); } -/* called by nntp_init(); don't call elsewhere */ -mx_t* nntp_reg_mx (void) { - mx_t* fmt = safe_calloc (1, sizeof (mx_t)); - - /* make up mx_t record... */ - fmt->type = M_NNTP; - fmt->mx_is_magic = nntp_is_magic; - fmt->mx_open_mailbox = nntp_open_mailbox; - return (fmt); +static int acl_check_nntp (CONTEXT* ctx, int bit) { + switch (bit) { + case ACL_INSERT: /* editing messages */ + case ACL_WRITE: /* change importance */ + return (0); + case ACL_DELETE: /* (un)deletion */ + case ACL_SEEN: /* mark as read */ + return (1); + default: + return (0); + } } + +mx_t const nntp_mx = { + M_NNTP, + 0, + nntp_is_magic, + NULL, + NULL, + nntp_open_mailbox, + NULL, + acl_check_nntp, + nntp_check_mailbox, + nntp_fastclose_mailbox, + nntp_sync_mailbox, + NULL, +};