Lines Matching refs:we
27 static int do_wordexp(const char *s, wordexp_t *we, int flags)
42 if (flags & WRDE_REUSE) wordfree(we);
87 wc = we->we_wordc;
88 wv = we->we_wordv;
93 if (we->we_offs > SIZE_MAX/sizeof(void *)/4)
95 i += we->we_offs;
97 we->we_offs = 0;
153 we->we_wordv = wv;
154 we->we_wordc = i;
157 if (wv) for (i=we->we_offs; i; i--)
158 we->we_wordv[i-1] = 0;
159 we->we_wordc -= we->we_offs;
165 we->we_wordc = 0;
166 we->we_wordv = 0;
171 int wordexp(const char *restrict s, wordexp_t *restrict we, int flags)
176 r = do_wordexp(s, we, flags);
181 void wordfree(wordexp_t *we)
184 if (!we->we_wordv) return;
185 for (i=0; i<we->we_wordc; i++) free(we->we_wordv[we->we_offs+i]);
186 free(we->we_wordv);
187 we->we_wordv = 0;
188 we->we_wordc = 0;