MCPcopy Create free account
hub / github.com/acl-dev/acl / acl_argv_alloc2

Function acl_argv_alloc2

lib_acl/src/stdlib/common/acl_argv.c:177–215  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

175}
176
177ACL_ARGV *acl_argv_alloc2(int len, ACL_DBUF_POOL *dbuf) {
178 ACL_ARGV *argvp;
179 int sane_len;
180
181 /* Make sure that always argvp->argc < argvp->len. */
182
183 if (dbuf) {
184 argvp = (ACL_ARGV *) acl_dbuf_pool_alloc(dbuf, sizeof(*argvp));
185 argvp->dbuf = dbuf;
186 } else {
187 argvp = (ACL_ARGV *) acl_mymalloc(sizeof(*argvp));
188 argvp->dbuf = NULL;
189 }
190 argvp->len = 0;
191 sane_len = (len < 2 ? 2 : len);
192 if (argvp->dbuf) {
193 argvp->argv = (char **) acl_dbuf_pool_alloc(argvp->dbuf,
194 (sane_len + 1) * sizeof(char *));
195 } else {
196 argvp->argv = (char **)
197 acl_mymalloc((sane_len + 1) * sizeof(char *));
198 }
199 argvp->len = sane_len;
200 argvp->argc = 0;
201 argvp->argv[0] = 0;
202
203 argvp->push_back = argv_push_back;
204 argvp->push_front = argv_push_front;
205 argvp->pop_back = argv_pop_back;
206 argvp->pop_front = argv_pop_front;
207
208 /* set the iterator callback */
209 argvp->iter_head = acl_argv_iter_head;
210 argvp->iter_next = acl_argv_iter_next;
211 argvp->iter_tail = acl_argv_iter_tail;
212 argvp->iter_prev = acl_argv_iter_prev;
213
214 return argvp;
215}
216
217void acl_argv_iter_init(ACL_ARGV *argvp) {
218 /* set the iterator callback */

Callers 4

acl_argv_split3Function · 0.85
acl_argv_splitn4Function · 0.85
acl_argv_quote_split4Function · 0.85
acl_argv_allocFunction · 0.85

Calls 1

acl_dbuf_pool_allocFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…