Lines Matching defs:sub
182 * WPACKET_fill_lengths() to close a sub-packet and write out its length if
186 static int wpacket_intern_close(WPACKET *pkt, WPACKET_SUB *sub, int doclose)
188 size_t packlen = pkt->written - sub->pwritten;
191 && (sub->flags & WPACKET_FLAGS_NON_ZERO_LENGTH) != 0)
195 && sub->flags & WPACKET_FLAGS_ABANDON_ON_ZERO_LENGTH) {
201 if ((pkt->curr - sub->lenbytes) == sub->packet_len) {
202 pkt->written -= sub->lenbytes;
203 pkt->curr -= sub->lenbytes;
207 sub->packet_len = 0;
208 sub->lenbytes = 0;
212 if (sub->lenbytes > 0
213 && !put_value(&GETBUF(pkt)[sub->packet_len], packlen,
214 sub->lenbytes))
218 pkt->subs = sub->parent;
219 OPENSSL_free(sub);
227 WPACKET_SUB *sub;
232 for (sub = pkt->subs; sub != NULL; sub = sub->parent) {
233 if (!wpacket_intern_close(pkt, sub, 0))
274 WPACKET_SUB *sub;
281 if ((sub = OPENSSL_zalloc(sizeof(*sub))) == NULL) {
286 sub->parent = pkt->subs;
287 pkt->subs = sub;
288 sub->pwritten = pkt->written + lenbytes;
289 sub->lenbytes = lenbytes;
292 sub->packet_len = 0;
299 sub->packet_len = lenchars - GETBUF(pkt);
324 WPACKET_SUB *sub;
332 for (sub = pkt->subs; sub->parent != NULL; sub = sub->parent)
335 lenbytes = sub->lenbytes;
417 WPACKET_SUB *sub, *parent;
419 for (sub = pkt->subs; sub != NULL; sub = parent) {
420 parent = sub->parent;
421 OPENSSL_free(sub);