Lines Matching refs:it
179 struct qitem *it, *tit;
184 it = calloc(1, sizeof(*it));
185 if (it == NULL)
187 it->addr = strdup(str);
188 if (it->addr == NULL)
191 it->sender = queue->sender;
192 host = strrchr(it->addr, '@');
200 if (strcmp(tit->addr, it->addr) == 0) {
201 free(it->addr);
202 free(it);
206 LIST_INSERT_HEAD(&queue->queue, it, next);
212 if (strrchr(it->addr, '@') == NULL && (config.features & NULLCLIENT) == 0) {
213 it->remote = 0;
215 aliased = do_alias(queue, it->addr);
221 LIST_REMOVE(it, next);
224 pw = getpwnam(it->addr);
232 it->remote = 1;
238 free(it->addr);
239 free(it);
247 struct qitem *it;
260 LIST_FOREACH(it, &queue->queue, next) {
262 if (LIST_NEXT(it, next) == NULL)
285 setlogident("%s", it->queueid);
286 switch (acquirespool(it)) {
297 dropspool(queue, it);
298 return (it);
315 deliver(struct qitem *it)
325 syslog(LOG_INFO, "<%s> trying delivery", it->addr);
327 if (it->remote)
328 error = deliver_remote(it);
330 error = deliver_local(it);
334 syslog(LOG_INFO, "<%s> delivery successful", it->addr);
335 delqueue(it);
339 if (stat(it->queuefn, &st) != 0) {
340 syslog(LOG_ERR, "lost queue file `%s'", it->queuefn);
371 bounce(it, errmsg);
378 struct qitem *it;
383 it = go_background(queue);
384 deliver(it);
391 struct qitem *it;
399 LIST_FOREACH(it, &queue->queue, next) {
403 it->queueid,
405 it->sender, it->addr);
407 if (LIST_NEXT(it, next) != NULL)