/* Compiler: ECL 26.3.27                                                      */
/* Source: /build/ecl/src/ecl-26.3.27/contrib/quicklisp/minitar.lisp          */
#include <ecl/ecl-cmp.h>
#include "ext/minitar.eclh"
/* function definition for MAKE-BLOCK-BUFFER                                  */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L5420make_block_buffer()
{
 cl_object T0;
 cl_object env0 = ECL_NIL;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 ecl_cs_check(cl_env_copy,value0);
L1:;
 T0 = si_make_vector(ECL_SYM("BYTE8",1368), ecl_make_fixnum(512), ECL_NIL, ECL_NIL, ECL_NIL, ecl_make_int8_t(0));
 value0 = si_fill_array_with_elt(T0, ecl_make_int8_t(0), ecl_make_int8_t(0), ECL_NIL);
 return value0;
}
static cl_object L5420make_block_buffer_va(cl_narg narg, ...)
{
 if (ecl_unlikely(narg!=0)) FEwrong_num_arguments(VV[1]);
 {
  return L5420make_block_buffer();
 }
}
/* function definition for SKIP-N-BLOCKS                                      */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L5421skip_n_blocks(cl_object v1n, cl_object v2stream)
{
 cl_object env0 = ECL_NIL;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 ecl_cs_check(cl_env_copy,value0);
L1:;
 {
  cl_object v3block;
  v3block = L5420make_block_buffer();
  {
   cl_object v4i;
   v4i = ecl_make_int8_t(0);
   goto L5;
L4:;
   cl_read_sequence(2, v3block, v2stream);
   v4i = ecl_one_plus(v4i);
L5:;
   if (!(ecl_lower(v4i,v1n))){
    goto L10;
   }
   goto L4;
L10:;
   value0 = ECL_NIL;
   cl_env_copy->nvalues = 1;
   return value0;
  }
 }
}
static cl_object L5421skip_n_blocks_va(cl_narg narg, cl_object v5n, cl_object v6stream, ...)
{
 if (ecl_unlikely(narg!=2)) FEwrong_num_arguments(VV[3]);
 {
  return L5421skip_n_blocks(v5n, v6stream);
 }
}
/* function definition for ASCII-SUBSEQ                                       */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L5422ascii_subseq(cl_object v1vector, cl_object v2start, cl_object v3end)
{
 cl_object T0, T1, T2;
 cl_object env0 = ECL_NIL;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 ecl_cs_check(cl_env_copy,value0);
L1:;
 {
  cl_object v4string;
  T0 = ecl_minus(v3end,v2start);
  v4string = cl_make_string(1, T0);
  {
   cl_object v5i;
   v5i = ecl_make_int8_t(0);
   {
    cl_object v6;
    cl_object v7;
    cl_object v8j;
    {
     cl_object v9;
     v9 = v2start;
     {
      bool v10;
      v10 = ecl_numberp(v9);
      if (ecl_unlikely(!(v10)))
         FEwrong_type_argument(ECL_SYM("NUMBER",608),v9);
      value0 = ECL_NIL;
      cl_env_copy->nvalues = 0;
     }
     v6 = v9;
    }
    {
     cl_object v9;
     v9 = v3end;
     {
      bool v10;
      v10 = ecl_numberp(v9);
      if (ecl_unlikely(!(v10)))
         FEwrong_type_argument(ECL_SYM("NUMBER",608),v9);
      value0 = ECL_NIL;
      cl_env_copy->nvalues = 0;
     }
     v7 = v9;
    }
    v8j = v6;
L12:;
    if (!(ecl_greatereq(v8j,v7))){
     goto L14;
    }
    goto L13;
L14:;
    {
     cl_object v9;
     v9 = v1vector;
     T1 = v9;
     {
      cl_object v10;
      v10 = v8j;
      if (ecl_unlikely((ecl_fixnum(v10))>=(v9)->vector.dim))
           FEwrong_index(ECL_NIL,v9,-1,ecl_make_fixnum(ecl_fixnum(v10)),(v9)->vector.dim);
      value0 = ECL_NIL;
      cl_env_copy->nvalues = 0;
      T2 = v10;
     }
     T0 = ecl_aref_unsafe(T1,ecl_fixnum(T2));
    }
    T1 = cl_code_char(T0);
    si_char_set(v4string,v5i,T1);
    v5i = ecl_one_plus(v5i);
    v8j = ecl_one_plus(v8j);
    goto L12;
L13:;
   }
  }
  value0 = v4string;
  cl_env_copy->nvalues = 1;
  return value0;
 }
}
static cl_object L5422ascii_subseq_va(cl_narg narg, cl_object v5vector, cl_object v6start, cl_object v7end, ...)
{
 if (ecl_unlikely(narg!=3)) FEwrong_num_arguments(VV[5]);
 {
  return L5422ascii_subseq(v5vector, v6start, v7end);
 }
}
/* function definition for BLOCK-ASCIIZ-STRING                                */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L5423block_asciiz_string(cl_object v1block, cl_object v2start, cl_object v3length)
{
 cl_object env0 = ECL_NIL;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 ecl_cs_check(cl_env_copy,value0);
L1:;
 {
  cl_object v4end;
  cl_object v5eos;
  v4end = ecl_plus(v2start,v3length);
  value0 = cl_position(6, ecl_make_int8_t(0), v1block, ECL_SYM("START",1347), v2start, ECL_SYM("END",1256), v4end);
  if (value0!=ECL_NIL) {
   goto L5;
  }
  v5eos = v4end;
  goto L3;
L5:;
  v5eos = value0;
  goto L3;
L3:;
  value0 = L5422ascii_subseq(v1block, v2start, v5eos);
  return value0;
 }
}
static cl_object L5423block_asciiz_string_va(cl_narg narg, cl_object v6block, cl_object v7start, cl_object v8length, ...)
{
 if (ecl_unlikely(narg!=3)) FEwrong_num_arguments(VV[12]);
 {
  return L5423block_asciiz_string(v6block, v7start, v8length);
 }
}
/* function definition for PREFIX                                             */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L5424prefix(cl_object v1header)
{
 cl_object T0, T1, T2;
 cl_object env0 = ECL_NIL;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 ecl_cs_check(cl_env_copy,value0);
L1:;
 {
  cl_object v2;
  v2 = v1header;
  T1 = v2;
  if (ecl_unlikely((345)>=(v2)->vector.dim))
           FEwrong_index(ECL_NIL,v2,-1,ecl_make_fixnum(345),(v2)->vector.dim);
  value0 = ECL_NIL;
  cl_env_copy->nvalues = 0;
  T2 = ecl_make_fixnum(345);
  T0 = ecl_aref_unsafe(T1,ecl_fixnum(T2));
 }
 if (!(ecl_plusp(T0))){
  goto L2;
 }
 value0 = L5423block_asciiz_string(v1header, ecl_make_fixnum(345), ecl_make_uint8_t(155));
 return value0;
L2:;
 value0 = ECL_NIL;
 cl_env_copy->nvalues = 1;
 return value0;
}
static cl_object L5424prefix_va(cl_narg narg, cl_object v2header, ...)
{
 if (ecl_unlikely(narg!=1)) FEwrong_num_arguments(VV[14]);
 {
  return L5424prefix(v2header);
 }
}
/* function definition for NAME                                               */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L5425name(cl_object v1header)
{
 cl_object env0 = ECL_NIL;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 ecl_cs_check(cl_env_copy,value0);
L1:;
 value0 = L5423block_asciiz_string(v1header, ecl_make_int8_t(0), ecl_make_int8_t(100));
 return value0;
}
static cl_object L5425name_va(cl_narg narg, cl_object v2header, ...)
{
 if (ecl_unlikely(narg!=1)) FEwrong_num_arguments(VV[16]);
 {
  return L5425name(v2header);
 }
}
/* function definition for PAYLOAD-SIZE                                       */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L5426payload_size(cl_object v1header)
{
 cl_object T0;
 cl_object env0 = ECL_NIL;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 ecl_cs_check(cl_env_copy,value0);
L1:;
 T0 = L5423block_asciiz_string(v1header, ecl_make_int8_t(124), ecl_make_int8_t(12));
 value0 = cl_parse_integer(3, T0, ECL_SYM("RADIX",1332), ecl_make_int8_t(8));
 cl_env_copy->nvalues = 1;
 return value0;
}
static cl_object L5426payload_size_va(cl_narg narg, cl_object v2header, ...)
{
 if (ecl_unlikely(narg!=1)) FEwrong_num_arguments(VV[18]);
 {
  return L5426payload_size(v2header);
 }
}
/* function definition for NTH-BLOCK                                          */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L5427nth_block(cl_object volatile v1n, cl_object volatile v2file)
{
 cl_object T0;
 cl_object volatile env0 = ECL_NIL;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object volatile value0;
 ecl_cs_check(cl_env_copy,value0);
L1:;
 {
  volatile cl_object v3stream;
  v3stream = cl_open(3, v2file, ECL_SYM("ELEMENT-TYPE",1255), VV[21]);
  {
   struct ecl_stack_frame _ecl_inner_frame_aux;
   volatile cl_object _ecl_inner_frame=ecl_stack_frame_open(cl_env_copy,(cl_object)&_ecl_inner_frame_aux,0);
   volatile bool unwinding = FALSE;
   ecl_frame_ptr next_fr;
   {
    ecl_frs_push(cl_env_copy,ECL_PROTECT_TAG);
    if (__ecl_frs_push_result!=0) {
      unwinding = TRUE; next_fr=cl_env_copy->frs_stack.nlj_fr;
    } else {
    {
     struct ecl_stack_frame _ecl_inner_frame_aux;
     volatile cl_object _ecl_inner_frame=ecl_stack_frame_open(cl_env_copy,(cl_object)&_ecl_inner_frame_aux,0);
     {
      cl_object v4block;
      v4block = L5420make_block_buffer();
      T0 = ecl_one_minus(v1n);
      L5421skip_n_blocks(T0, v3stream);
      cl_read_sequence(2, v4block, v3stream);
      cl_env_copy->values[0] = v4block;
      cl_env_copy->nvalues = 1;
     }
     ecl_stack_frame_push_values(_ecl_inner_frame);
     if (Null(v3stream)){
      goto L8;
     }
     cl_close(1, v3stream);
L8:;
     ecl_stack_frame_pop_values(_ecl_inner_frame);
     ecl_stack_frame_close(_ecl_inner_frame);
    }
    }
   }
   ecl_frs_pop(cl_env_copy);
   ecl_stack_frame_push_values(_ecl_inner_frame);
   if (Null(v3stream)){
    goto L10;
   }
   cl_close(3, v3stream, ECL_SYM("ABORT",1225), ECL_T);
L10:;
   ecl_stack_frame_pop_values(_ecl_inner_frame);
   if (unwinding) ecl_unwind(cl_env_copy,next_fr);
   ecl_stack_frame_close(_ecl_inner_frame);
   return cl_env_copy->values[0];
  }
 }
}
static cl_object L5427nth_block_va(cl_narg narg, cl_object v4n, cl_object v5file, ...)
{
 if (ecl_unlikely(narg!=2)) FEwrong_num_arguments(VV[20]);
 {
  return L5427nth_block(v4n, v5file);
 }
}
/* function definition for PAYLOAD-TYPE                                       */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L5428payload_type(cl_object v1code)
{
 cl_object env0 = ECL_NIL;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 ecl_cs_check(cl_env_copy,value0);
L1:;
 if (!((v1code)==(ecl_make_int8_t(0)))){
  goto L2;
 }
 value0 = ECL_SYM("FILE",1269);
 cl_env_copy->nvalues = 1;
 return value0;
L2:;
 if (!((v1code)==(ecl_make_int8_t(48)))){
  goto L4;
 }
 value0 = ECL_SYM("FILE",1269);
 cl_env_copy->nvalues = 1;
 return value0;
L4:;
 if (!((v1code)==(ecl_make_int8_t(50)))){
  goto L6;
 }
 value0 = VV[24];
 cl_env_copy->nvalues = 1;
 return value0;
L6:;
 if (!((v1code)==(ecl_make_int8_t(76)))){
  goto L8;
 }
 value0 = VV[25];
 cl_env_copy->nvalues = 1;
 return value0;
L8:;
 if (!((v1code)==(ecl_make_int8_t(53)))){
  goto L10;
 }
 value0 = ECL_SYM("DIRECTORY",1250);
 cl_env_copy->nvalues = 1;
 return value0;
L10:;
 if (!((v1code)==(ecl_make_int8_t(103)))){
  goto L12;
 }
 value0 = VV[26];
 cl_env_copy->nvalues = 1;
 return value0;
L12:;
 value0 = VV[27];
 cl_env_copy->nvalues = 1;
 return value0;
}
static cl_object L5428payload_type_va(cl_narg narg, cl_object v2code, ...)
{
 if (ecl_unlikely(narg!=1)) FEwrong_num_arguments(VV[23]);
 {
  return L5428payload_type(v2code);
 }
}
/* function definition for FULL-PATH                                          */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L5429full_path(cl_object v1header)
{
 cl_object env0 = ECL_NIL;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 ecl_cs_check(cl_env_copy,value0);
L1:;
 {
  cl_object v2;
  cl_object v3;
  v2 = L5424prefix(v1header);
  v3 = L5425name(v1header);
  if (Null(v2)){
   goto L4;
  }
  value0 = cl_format(4, ECL_NIL, VV[30], v2, v3);
  return value0;
L4:;
  value0 = v3;
  cl_env_copy->nvalues = 1;
  return value0;
 }
}
static cl_object L5429full_path_va(cl_narg narg, cl_object v4header, ...)
{
 if (ecl_unlikely(narg!=1)) FEwrong_num_arguments(VV[29]);
 {
  return L5429full_path(v4header);
 }
}
/* function definition for SAVE-FILE                                          */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L5430save_file(cl_object volatile v1file, cl_object volatile v2size, cl_object volatile v3stream)
{
 cl_object volatile env0 = ECL_NIL;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object volatile value0;
 ecl_cs_check(cl_env_copy,value0);
L1:;
 {
  cl_object volatile v4;                          /*  FULL-BLOCKS             */
  cl_object volatile v5;                          /*  PARTIAL                 */
  value0 = ecl_truncate2(v2size,ecl_make_fixnum(512));
  {
   v4 = value0;
   v5 = cl_env_copy->values[1];
  }
  cl_ensure_directories_exist(1, v1file);
  {
   volatile cl_object v6outstream;
   v6outstream = cl_open(7, v1file, ECL_SYM("DIRECTION",1249), ECL_SYM("OUTPUT",1319), ECL_SYM("IF-EXISTS",1279), ECL_SYM("SUPERSEDE",1351), ECL_SYM("ELEMENT-TYPE",1255), VV[21]);
   {
    struct ecl_stack_frame _ecl_inner_frame_aux;
    volatile cl_object _ecl_inner_frame=ecl_stack_frame_open(cl_env_copy,(cl_object)&_ecl_inner_frame_aux,0);
    volatile bool unwinding = FALSE;
    ecl_frame_ptr next_fr;
    {
     ecl_frs_push(cl_env_copy,ECL_PROTECT_TAG);
     if (__ecl_frs_push_result!=0) {
       unwinding = TRUE; next_fr=cl_env_copy->frs_stack.nlj_fr;
     } else {
     {
      struct ecl_stack_frame _ecl_inner_frame_aux;
      volatile cl_object _ecl_inner_frame=ecl_stack_frame_open(cl_env_copy,(cl_object)&_ecl_inner_frame_aux,0);
      {
       cl_object v7block;
       v7block = L5420make_block_buffer();
       {
        cl_object v8i;
        v8i = ecl_make_int8_t(0);
        goto L11;
L10:;
        cl_read_sequence(2, v7block, v3stream);
        cl_write_sequence(2, v7block, v6outstream);
        v8i = ecl_one_plus(v8i);
L11:;
        if (!(ecl_lower(v8i,v4))){
         goto L17;
        }
        goto L10;
L17:;
       }
       if (!(ecl_plusp(v5))){
        goto L19;
       }
       cl_read_sequence(2, v7block, v3stream);
       cl_env_copy->values[0] = cl_write_sequence(4, v7block, v6outstream, ECL_SYM("END",1256), v5);
       goto L6;
L19:;
       cl_env_copy->values[0] = ECL_NIL;
       cl_env_copy->nvalues = 1;
      }
L6:;
      ecl_stack_frame_push_values(_ecl_inner_frame);
      if (Null(v6outstream)){
       goto L22;
      }
      cl_close(1, v6outstream);
L22:;
      ecl_stack_frame_pop_values(_ecl_inner_frame);
      ecl_stack_frame_close(_ecl_inner_frame);
     }
     }
    }
    ecl_frs_pop(cl_env_copy);
    ecl_stack_frame_push_values(_ecl_inner_frame);
    if (Null(v6outstream)){
     goto L24;
    }
    cl_close(3, v6outstream, ECL_SYM("ABORT",1225), ECL_T);
L24:;
    ecl_stack_frame_pop_values(_ecl_inner_frame);
    if (unwinding) ecl_unwind(cl_env_copy,next_fr);
    ecl_stack_frame_close(_ecl_inner_frame);
    return cl_env_copy->values[0];
   }
  }
 }
}
static cl_object L5430save_file_va(cl_narg narg, cl_object v4file, cl_object v5size, cl_object v6stream, ...)
{
 if (ecl_unlikely(narg!=3)) FEwrong_num_arguments(VV[32]);
 {
  return L5430save_file(v4file, v5size, v6stream);
 }
}
/* function definition for UNPACK-TARBALL                                     */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L5431unpack_tarball(volatile cl_narg narg, cl_object volatile v1tarfile, ...)
{
 cl_object T0, T1;
 cl_object volatile env0 = ECL_NIL;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object volatile value0;
 ecl_cs_check(cl_env_copy,value0);
 if (ecl_unlikely(narg<1)) FEwrong_num_arguments(VV[34]);
 {
  cl_object volatile v2directory;
  ecl_va_list args; ecl_va_start(args,v1tarfile,narg,1);
  {
   cl_object keyvars[2];
   cl_parse_key(args,1,L5431unpack_tarballkeys,keyvars,NULL,FALSE);
   ecl_va_end(args);
   if (Null(keyvars[1])) {
    v2directory = ecl_cmp_symbol_value(cl_env_copy,ECL_SYM("*DEFAULT-PATHNAME-DEFAULTS*",34));
   } else {
    v2directory = keyvars[0];
   }
  }
  {
   volatile cl_object v3block;
   v3block = L5420make_block_buffer();
   {
    volatile cl_object v4stream;
    v4stream = cl_open(3, v1tarfile, ECL_SYM("ELEMENT-TYPE",1255), VV[21]);
    {
     struct ecl_stack_frame _ecl_inner_frame_aux;
     volatile cl_object _ecl_inner_frame=ecl_stack_frame_open(cl_env_copy,(cl_object)&_ecl_inner_frame_aux,0);
     volatile bool unwinding = FALSE;
     ecl_frame_ptr next_fr;
     {
      ecl_frs_push(cl_env_copy,ECL_PROTECT_TAG);
      if (__ecl_frs_push_result!=0) {
        unwinding = TRUE; next_fr=cl_env_copy->frs_stack.nlj_fr;
      } else {
      {
       struct ecl_stack_frame _ecl_inner_frame_aux;
       volatile cl_object _ecl_inner_frame=ecl_stack_frame_open(cl_env_copy,(cl_object)&_ecl_inner_frame_aux,0);
L6:;
       {
        cl_object v5size;
        v5size = cl_read_sequence(2, v3block, v4stream);
        if (!((ecl_fixnum(v5size))==0)){
         goto L9;
        }
        cl_env_copy->values[0] = ECL_NIL;
        cl_env_copy->nvalues = 1;
        goto L5;
L9:;
        if ((ecl_fixnum(v5size))==(512)) {
         goto L11;
        }
        cl_error(1, VV[35]);
L11:;
        T0 = (ECL_SYM("ZEROP",930)->symbol.gfdef);
        if (Null(cl_every(2, T0, v3block))){
         goto L13;
        }
        cl_env_copy->values[0] = ECL_NIL;
        cl_env_copy->nvalues = 1;
        goto L5;
L13:;
        {
         cl_object v6payload_code;
         cl_object v7payload_type;
         cl_object v8tar_path;
         cl_object v9full_path;
         cl_object v10payload_size;
         cl_object v11block_count;
         {
          cl_object v12;
          v12 = v3block;
          T0 = v12;
          if (ecl_unlikely(((cl_fixnum)(156))>=(v12)->vector.dim))
           FEwrong_index(ECL_NIL,v12,-1,ecl_make_fixnum((cl_fixnum)(156)),(v12)->vector.dim);
          value0 = ECL_NIL;
          cl_env_copy->nvalues = 0;
          T1 = ecl_make_uint8_t(156);
          v6payload_code = ecl_aref_unsafe(T0,ecl_fixnum(T1));
         }
         v7payload_type = L5428payload_type(v6payload_code);
         v8tar_path = L5429full_path(v3block);
         v9full_path = cl_merge_pathnames(2, v8tar_path, v2directory);
         v10payload_size = L5426payload_size(v3block);
         T0 = L5426payload_size(v3block);
         v11block_count = ecl_ceiling2(T0,ecl_make_fixnum(512));
         if (!((v7payload_type)==(ECL_SYM("FILE",1269)))){
          goto L27;
         }
         L5430save_file(v9full_path, v10payload_size, v4stream);
         goto L7;
L27:;
         if (!((v7payload_type)==(ECL_SYM("DIRECTORY",1250)))){
          goto L29;
         }
         cl_ensure_directories_exist(1, v9full_path);
         goto L7;
L29:;
         if (!((v7payload_type)==(VV[24]))){
          goto L36;
         }
         goto L33;
L36:;
         goto L34;
L34:;
         if (!((v7payload_type)==(VV[25]))){
          goto L40;
         }
         goto L33;
L40:;
         goto L38;
L38:;
         if (!((v7payload_type)==(VV[26]))){
          goto L31;
         }
         goto L32;
L33:;
L32:;
         L5421skip_n_blocks(v11block_count, v4stream);
         goto L7;
L31:;
         (cl_env_copy->function=(ECL_SYM("WARN",907)->symbol.gfdef))->cfun.entry(2, VV[39], v6payload_code) /*  WARN */;
         L5421skip_n_blocks(v11block_count, v4stream);
        }
       }
L7:;
       goto L6;
L5:;
       ecl_stack_frame_push_values(_ecl_inner_frame);
       if (Null(v4stream)){
        goto L45;
       }
       cl_close(1, v4stream);
L45:;
       ecl_stack_frame_pop_values(_ecl_inner_frame);
       ecl_stack_frame_close(_ecl_inner_frame);
      }
      }
     }
     ecl_frs_pop(cl_env_copy);
     ecl_stack_frame_push_values(_ecl_inner_frame);
     if (Null(v4stream)){
      goto L47;
     }
     cl_close(3, v4stream, ECL_SYM("ABORT",1225), ECL_T);
L47:;
     ecl_stack_frame_pop_values(_ecl_inner_frame);
     if (unwinding) ecl_unwind(cl_env_copy,next_fr);
     ecl_stack_frame_close(_ecl_inner_frame);
     return cl_env_copy->values[0];
    }
   }
  }
 }
}
/* function definition for CONTENTS                                           */
/* optimize speed 1, debug 1, space 1, safety 2                               */
static cl_object L5432contents(cl_object volatile v1tarfile)
{
 cl_object T0, T1, T2;
 cl_object volatile env0 = ECL_NIL;
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object volatile value0;
 ecl_cs_check(cl_env_copy,value0);
L1:;
 {
  volatile cl_object v2;
  volatile cl_object v3result;
  v2 = L5420make_block_buffer();
  v3result = ECL_NIL;
  {
   volatile cl_object v4stream;
   v4stream = cl_open(3, v1tarfile, ECL_SYM("ELEMENT-TYPE",1255), VV[21]);
   {
    struct ecl_stack_frame _ecl_inner_frame_aux;
    volatile cl_object _ecl_inner_frame=ecl_stack_frame_open(cl_env_copy,(cl_object)&_ecl_inner_frame_aux,0);
    volatile bool unwinding = FALSE;
    ecl_frame_ptr next_fr;
    {
     ecl_frs_push(cl_env_copy,ECL_PROTECT_TAG);
     if (__ecl_frs_push_result!=0) {
       unwinding = TRUE; next_fr=cl_env_copy->frs_stack.nlj_fr;
     } else {
     {
      struct ecl_stack_frame _ecl_inner_frame_aux;
      volatile cl_object _ecl_inner_frame=ecl_stack_frame_open(cl_env_copy,(cl_object)&_ecl_inner_frame_aux,0);
L7:;
      {
       cl_object v5size;
       v5size = cl_read_sequence(2, v2, v4stream);
       if (!((ecl_fixnum(v5size))==0)){
        goto L10;
       }
       cl_env_copy->values[0] = cl_nreverse(v3result);
       goto L6;
L10:;
       if ((ecl_fixnum(v5size))==(512)) {
        goto L12;
       }
       cl_error(1, VV[35]);
L12:;
       T0 = (ECL_SYM("ZEROP",930)->symbol.gfdef);
       if (Null(cl_every(2, T0, v2))){
        goto L14;
       }
       cl_env_copy->values[0] = cl_nreverse(v3result);
       goto L6;
L14:;
       {
        cl_object v6payload_type;
        cl_object v7tar_path;
        cl_object v8payload_size;
        {
         cl_object v9;
         v9 = v2;
         T1 = v9;
         if (ecl_unlikely(((cl_fixnum)(156))>=(v9)->vector.dim))
           FEwrong_index(ECL_NIL,v9,-1,ecl_make_fixnum((cl_fixnum)(156)),(v9)->vector.dim);
         value0 = ECL_NIL;
         cl_env_copy->nvalues = 0;
         T2 = ecl_make_uint8_t(156);
         T0 = ecl_aref_unsafe(T1,ecl_fixnum(T2));
        }
        v6payload_type = L5428payload_type(T0);
        v7tar_path = L5429full_path(v2);
        v8payload_size = L5426payload_size(v2);
        T0 = ecl_ceiling2(v8payload_size,ecl_make_fixnum(512));
        L5421skip_n_blocks(T0, v4stream);
        if (!((v6payload_type)==(ECL_SYM("FILE",1269)))){
         goto L27;
        }
        v3result = CONS(v7tar_path,v3result);
        goto L8;
L27:;
        if (!((v6payload_type)==(ECL_SYM("DIRECTORY",1250)))){
         goto L8;
        }
        v3result = CONS(v7tar_path,v3result);
       }
      }
L8:;
      goto L7;
L6:;
      ecl_stack_frame_push_values(_ecl_inner_frame);
      if (Null(v4stream)){
       goto L33;
      }
      cl_close(1, v4stream);
L33:;
      ecl_stack_frame_pop_values(_ecl_inner_frame);
      ecl_stack_frame_close(_ecl_inner_frame);
     }
     }
    }
    ecl_frs_pop(cl_env_copy);
    ecl_stack_frame_push_values(_ecl_inner_frame);
    if (Null(v4stream)){
     goto L35;
    }
    cl_close(3, v4stream, ECL_SYM("ABORT",1225), ECL_T);
L35:;
    ecl_stack_frame_pop_values(_ecl_inner_frame);
    if (unwinding) ecl_unwind(cl_env_copy,next_fr);
    ecl_stack_frame_close(_ecl_inner_frame);
    return cl_env_copy->values[0];
   }
  }
 }
}
static cl_object L5432contents_va(cl_narg narg, cl_object v5tarfile, ...)
{
 if (ecl_unlikely(narg!=1)) FEwrong_num_arguments(VV[41]);
 {
  return L5432contents(v5tarfile);
 }
}
#include "ext/minitar.data"
#ifdef __cplusplus
extern "C"
#endif

ECL_DLLEXPORT void _eclTaxIcB1NOGWj9_pEX1M881(cl_object flag)
{
 const cl_env_ptr cl_env_copy = ecl_process_env();
 cl_object value0;
 cl_object *VVtemp;
 if (flag != OBJNULL){
 Cblock = flag;
 #ifndef ECL_DYNAMIC_VV
 flag->cblock.data = VV;
 #endif
 flag->cblock.data_size = VM;
 flag->cblock.temp_data_size = VMtemp;
 flag->cblock.data_text = compiler_data_text;
 flag->cblock.cfuns_size = compiler_cfuns_size;
 flag->cblock.cfuns = compiler_cfuns;
 flag->cblock.source = ecl_make_constant_base_string("EXT:QUICKLISP;MINITAR.LISP.NEWEST",-1);
 return;}
 #ifdef ECL_DYNAMIC_VV
 VV = Cblock->cblock.data;
 #endif
 Cblock->cblock.data_text = (const cl_object *)"@EcLtAg:_eclTaxIcB1NOGWj9_pEX1M881@";
 VVtemp = Cblock->cblock.temp_data;
 ECL_DEFINE_SETF_FUNCTIONS
/* MAKE-LOAD-FORMs                                                            */
/* TOP-LEVEL-FORMs                                                            */
  (cl_env_copy->function=(VV[0]->symbol.gfdef))->cfun.entry(12, _ecl_static_0, ECL_NIL, VVtemp[0], ECL_NIL, VVtemp[1], ECL_NIL, ECL_NIL, ECL_NIL, VVtemp[2], ECL_NIL, ECL_NIL, ECL_NIL) /*  DODEFPACKAGE */;
  si_select_package(_ecl_static_0);
  ecl_cmp_defun(VV[43]);                          /*  MAKE-BLOCK-BUFFER       */
  ecl_cmp_defun(VV[44]);                          /*  SKIP-N-BLOCKS           */
  ecl_cmp_defun(VV[45]);                          /*  ASCII-SUBSEQ            */
  ecl_cmp_defun(VV[46]);                          /*  BLOCK-ASCIIZ-STRING     */
  ecl_cmp_defun(VV[47]);                          /*  PREFIX                  */
  ecl_cmp_defun(VV[48]);                          /*  NAME                    */
  ecl_cmp_defun(VV[49]);                          /*  PAYLOAD-SIZE            */
  ecl_cmp_defun(VV[50]);                          /*  NTH-BLOCK               */
  ecl_cmp_defun(VV[51]);                          /*  PAYLOAD-TYPE            */
  ecl_cmp_defun(VV[52]);                          /*  FULL-PATH               */
  ecl_cmp_defun(VV[53]);                          /*  SAVE-FILE               */
  ecl_cmp_defun(VV[54]);                          /*  UNPACK-TARBALL          */
  ecl_cmp_defun(VV[55]);                          /*  CONTENTS                */
}
