#include #include #include #include extern const char *__progname; #include "msgarg.h" #include "folder.h" #include "message.h" static void usage(void) { fprintf(stderr,"Usage: %s file +folder\n",__progname); } int main(int, char **); int main(int ac, char **av) { ARG a; FOLDER *f; MESSAGE *m; if (ac != 3) { usage(); exit(1); } if (!msgarg_parse(av[2],&a,0) || !a.folder || (a.type != AT_NOMSG)) { usage(); exit(1); } folder_lookup(a.folder,&f,0); folder_lock(f,FOLDER_WAIT|FOLDER_EXCLUSIVE); m = folder_new_link(f,av[1]); if (m == 0) { fprintf(stderr,"%s: can't link %s into +%s: %s\n",__progname,av[1],folder_name(f),strerror(errno)); exit(1); } message_free(m); folder_unlock(f); exit(0); }