list->fd = open(list->dir, O_DIRECTORY|O_CLOEXEC);
if (list->fd == -1) {
- warnx("Unabel to open '%s'\n", list->dir);
+ warnx("Unable to open '%s'", list->dir);
return (false);
}
list->addr = ctrlvalue(list, "listaddress");
- if (list->addr == NULL || strchr(list->addr, '@') == NULL)
- errx(EXIT_FAILURE, "Invalid list address");
+ if (list->addr == NULL) {
+ warnx("Missing list address");
+ mlmmj_list_close(list);
+ return (false);
+ }
list->delim = getlistdelim(list->dir);
if (!splitlistaddr(list->addr, &list->name, &list->fqdn)) {
- errx(EXIT_FAILURE, "%s: is not a valid mailing list address,"
+ warnx("%s: is not a valid mailing list address, "
"missing '@'", list->addr);
+ mlmmj_list_close(list);
+ return (false);
}
return (true);
}