Lines Matching defs:uudecode

46 struct uudecode {
378 struct uudecode *uudecode;
388 uudecode = (struct uudecode *)calloc(sizeof(*uudecode), 1);
391 if (uudecode == NULL || out_buff == NULL || in_buff == NULL) {
393 "Can't allocate data for uudecode");
394 free(uudecode);
400 self->data = uudecode;
401 uudecode->in_buff = in_buff;
402 uudecode->in_cnt = 0;
403 uudecode->in_allocated = IN_BUFF_SIZE;
404 uudecode->out_buff = out_buff;
405 uudecode->state = ST_FIND_HEAD;
412 struct uudecode *uudecode, size_t size)
415 if (size > uudecode->in_allocated) {
423 newsize = uudecode->in_allocated;
436 "Can't allocate data for uudecode");
440 if (uudecode->in_cnt)
441 memmove(ptr, uudecode->in_buff, uudecode->in_cnt);
443 free(uudecode->in_buff);
444 uudecode->in_buff = ptr;
445 uudecode->in_allocated = newsize;
453 struct uudecode *uudecode;
461 uudecode = (struct uudecode *)self->data;
473 out = uudecode->out_buff;
475 if (uudecode->state == ST_IGNORE) {
479 if (uudecode->in_cnt) {
484 if (ensure_in_buff_size(self, uudecode,
485 avail_in + uudecode->in_cnt) != ARCHIVE_OK)
487 memcpy(uudecode->in_buff + uudecode->in_cnt,
489 d = uudecode->in_buff;
490 avail_in += uudecode->in_cnt;
491 uudecode->in_cnt = 0;
500 if (uudecode->state == ST_FIND_HEAD &&
501 (uudecode->total > 0 || total > 0)) {
502 uudecode->state = ST_IGNORE;
517 if (ensure_in_buff_size(self, uudecode, len)
520 if (uudecode->in_buff != b)
521 memmove(uudecode->in_buff, b, len);
522 uudecode->in_cnt = (int)len;
532 switch (uudecode->state) {
553 uudecode->state = ST_READ_UU;
555 uudecode->state = ST_READ_BASE64;
578 uudecode->state = ST_UUEND;
616 uudecode->state = ST_FIND_HEAD;
630 uudecode->state = ST_FIND_HEAD;
677 *buff = uudecode->out_buff;
678 uudecode->total += total;
685 struct uudecode *uudecode;
687 uudecode = (struct uudecode *)self->data;
688 free(uudecode->in_buff);
689 free(uudecode->out_buff);
690 free(uudecode);