if (we->we_offs > SIZE_MAX/sizeof(void *)/4)
return WRDE_NOSPACE;
i += we->we_offs;
+ } else {
+ we->we_offs = 0;
}
if (pipe(p) < 0) return WRDE_NOSPACE;
we->we_wordv = wv;
we->we_wordc = i;
+
+ for (i=we->we_offs; i; i--)
+ we->we_wordv[i-1] = 0;
+
if (flags & WRDE_DOOFFS) we->we_wordc -= we->we_offs;
return err;
}