static int read_hdrs(int fd, strlist *allhdrs, strlist* delmime, strlist* denymime,int* deny,char** boundary) {
int result = MIME_OK;
char* mime_type = NULL;
+ char *tmp;
/* read headers */
while(1) {
char* line = mygetline(fd);
if(!tll_length(*allhdrs) || ((line[0] != '\t') && (line[0] != ' '))) /* first header line or no more unfolding */
tll_push_back(*allhdrs, line);
else{
- char* tmp = concatstr(2, tll_back(*allhdrs), line);
+ xasprintf(&tmp, "%s%s", tll_back(*allhdrs), line);
free(tll_pop_back(*allhdrs));
tll_push_back(*allhdrs, tmp);
}
log_set_name(argv[0]);
bindir = mydirname(argv[0]);
- mlmmjprocess = concatstr(2, bindir, "/mlmmj-process");
+ xasprintf(&mlmmjprocess, "%s/mlmmj-process", bindir);
free(bindir);
while ((opt = getopt(argc, argv, "hPVL:F")) != -1) {
}
}
- infilename = concatstr(3, listdir, "/incoming/", randomstr);
+ xasprintf(&infilename, "%s/incoming/%s", listdir, randomstr);
free(randomstr);
fd = open(infilename, O_RDWR|O_CREAT|O_EXCL, S_IRUSR|S_IWUSR);
while(fd < 0 && errno == EEXIST) {
free(infilename);
randomstr = random_str();
- infilename = concatstr(3, listdir, "/incoming/", randomstr);
+ xasprintf(&infilename, "%s/incoming/%s", listdir, randomstr);
free(randomstr);
fd = open(infilename, O_RDWR|O_CREAT|O_EXCL, S_IRUSR|S_IWUSR);
}
listname = genlistname(listaddr);
listfqdn = genlistfqdn(listaddr);
- from = concatstr(6, listname, listdelim, "bounces-probe-", myaddr, "@",
- listfqdn);
+ xasprintf(&from, "%s%sbounces-probe-%s@%s", listname, listdelim, myaddr,
+ listfqdn);
free(listaddr);
free(listdelim);
finish_file_lines(fls);
- probefile = concatstr(4, listdir, "/bounce/", addr, "-probe");
- MY_ASSERT(probefile);
+ xasprintf(&probefile, "%s/bounce/%s-probe", listdir, addr);
t = time(NULL);
unlink(probefile);
fd = open(probefile, O_WRONLY|O_TRUNC|O_CREAT, S_IRUSR|S_IWUSR);
CHECKFULLPATH(argv[0]);
bindir = mydirname(argv[0]);
- mlmmjsend = concatstr(2, bindir, "/mlmmj-send");
+ xasprintf(&mlmmjsend, "%s/mlmmj-send");
free(bindir);
while ((opt = getopt(argc, argv, "hdVL:a:n:m:p")) != -1) {