Lines Matching refs:cmds
16 void add_cmdname(struct cmdnames *cmds, const char *name, size_t len)
26 ALLOC_GROW(cmds->names, cmds->cnt + 1, cmds->alloc);
27 cmds->names[cmds->cnt++] = ent;
30 void clean_cmdnames(struct cmdnames *cmds)
34 for (i = 0; i < cmds->cnt; ++i)
35 zfree(&cmds->names[i]);
36 zfree(&cmds->names);
37 cmds->cnt = 0;
38 cmds->alloc = 0;
48 void uniq(struct cmdnames *cmds)
52 if (!cmds->cnt)
55 for (i = 1; i < cmds->cnt; i++) {
56 if (!strcmp(cmds->names[i]->name, cmds->names[i-1]->name))
57 zfree(&cmds->names[i - 1]);
59 for (i = 0, j = 0; i < cmds->cnt; i++) {
60 if (cmds->names[i]) {
64 cmds->names[j++] = cmds->names[i];
67 cmds->cnt = j;
69 cmds->names[j++] = NULL;
72 void exclude_cmds(struct cmdnames *cmds, struct cmdnames *excludes)
78 while (ci < cmds->cnt && ei < excludes->cnt) {
79 cmp = strcmp(cmds->names[ci]->name, excludes->names[ei]->name);
85 zfree(&cmds->names[cj]);
86 cmds->names[cj++] = cmds->names[ci++];
96 while (ci < cmds->cnt) {
97 zfree(&cmds->names[cj]);
98 cmds->names[cj++] = cmds->names[ci++];
101 for (ci = cj; ci < cmds->cnt; ci++)
102 zfree(&cmds->names[ci]);
103 cmds->cnt = cj;
128 static void pretty_print_string_list(struct cmdnames *cmds, int longest)
141 rows = (cmds->cnt + cols - 1) / cols;
150 if (n >= cmds->cnt)
152 if (j == cols-1 || n + rows >= cmds->cnt)
154 printf("%-*s", size, cmds->names[n]->name);
179 static void list_commands_in_dir(struct cmdnames *cmds,
210 add_cmdname(cmds, de->d_name + prefix_len, entlen);