char *genlistname(const char *listaddr)
{
- char *dest, *atsign;
+ const char *atsign;
atsign = strchr(listaddr, '@');
MY_ASSERT(atsign);
-
- xasprintf(&dest, "%s", listaddr);
-
- return dest;
+ return (xstrndup(listaddr, atsign - listaddr));
}
char *genlistfqdn(const char *listaddr)
#include <limits.h>
#include <errno.h>
+#include "atf-c/macros.h"
#include "xmalloc.h"
#include "wrappers.h"
#include "chomp.h"
ATF_TC_WITHOUT_HEAD(extract_bouncetime);
ATF_TC_WITHOUT_HEAD(open_subscriber_directory);
ATF_TC_WITHOUT_HEAD(unsubscribe);
+ATF_TC_WITHOUT_HEAD(genlistname);
#ifndef NELEM
#define NELEM(array) (sizeof(array) / sizeof((array)[0]))
}
+ATF_TC_BODY(genlistname, tc)
+{
+ char *ret;
+
+ ret = genlistname("plop@bla");
+ ATF_REQUIRE_STREQ(ret, "plop");
+ free(ret);
+
+ ret = genlistname("plop@bla@meh");
+ ATF_REQUIRE_STREQ(ret, "plop");
+ free(ret);
+}
+
ATF_TP_ADD_TCS(tp)
{
ATF_TP_ADD_TC(tp, random_int);
ATF_TP_ADD_TC(tp, extract_bouncetime);
ATF_TP_ADD_TC(tp, open_subscriber_directory);
ATF_TP_ADD_TC(tp, unsubscribe);
+ ATF_TP_ADD_TC(tp, genlistname);
return (atf_no_error());
}