Lines Matching refs:list

35 /*	void	recipient_list_init(list, variant)
36 /* RECIPIENT_LIST *list;
39 /* void recipient_list_add(list, offset, dsn_orcpt, dsn_notify,
41 /* RECIPIENT_LIST *list;
52 /* void recipient_list_free(list)
53 /* RECIPIENT_LIST *list;
71 /* recipient_list_init() creates an empty recipient structure list.
72 /* The list argument is initialized such that it can be given to
74 /* argument specifies how list elements should be initialized;
78 /* recipient_list_add() adds a recipient to the specified list.
84 /* recipient_list_free() releases memory for the specified list
91 /* .IP list
92 /* Recipient list initialized by recipient_list_init().
131 void recipient_list_init(RECIPIENT_LIST *list, int variant)
133 list->avail = 1;
134 list->len = 0;
135 list->info = (RECIPIENT *) mymalloc(sizeof(RECIPIENT));
136 list->variant = variant;
139 /* recipient_list_add - add rcpt to list */
141 void recipient_list_add(RECIPIENT_LIST *list, long offset,
147 if (list->len >= list->avail) {
148 new_avail = list->avail * 2;
149 list->info = (RECIPIENT *)
150 myrealloc((void *) list->info, new_avail * sizeof(RECIPIENT));
151 list->avail = new_avail;
153 list->info[list->len].orig_addr = mystrdup(orig_rcpt);
154 list->info[list->len].address = mystrdup(rcpt);
155 list->info[list->len].offset = offset;
156 list->info[list->len].dsn_orcpt = mystrdup(dsn_orcpt);
157 list->info[list->len].dsn_notify = dsn_notify;
158 if (list->variant == RCPT_LIST_INIT_STATUS)
159 list->info[list->len].u.status = 0;
160 else if (list->variant == RCPT_LIST_INIT_QUEUE)
161 list->info[list->len].u.queue = 0;
162 else if (list->variant == RCPT_LIST_INIT_ADDR)
163 list->info[list->len].u.addr_type = 0;
164 list->len++;
172 msg_panic("recipient_lists_swap: incompatible recipient list variants");
183 void recipient_list_free(RECIPIENT_LIST *list)
187 for (rcpt = list->info; rcpt < list->info + list->len; rcpt++) {
192 myfree((void *) list->info);