]> git.ipfire.org Git - thirdparty/mlmmj.git/commitdiff
mlmmj_list: cleanup error handling
authorBaptiste Daroussin <bapt@FreeBSD.org>
Wed, 3 Nov 2021 10:48:39 +0000 (11:48 +0100)
committerBaptiste Daroussin <bapt@FreeBSD.org>
Wed, 3 Nov 2021 13:17:22 +0000 (14:17 +0100)
src/mlmmj.c

index d1c350e91fbf9d17fb46c1460d2ea4d04f9b7510..a3575e355b458d615a24c7097fe0c5c0cca03f50 100644 (file)
@@ -67,17 +67,22 @@ mlmmj_list_open(struct mlmmj_list *list)
 
        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);
 }