// File: /workspace/github_c_makefile_star2_O0/olcaytaner[P]Isell/dataset.c
// Function: free_dataset
void free_dataset(Datasetptr dataset)
{
 /*!Last Changed 06.01.2007*/
 /*!Last Changed 29.01.2004*/
 int i, j;
 for (i = 0; i < dataset->featurecount; i++)
   if (dataset->features[i].type == CLASSDEF || dataset->features[i].type == STRING)
     for (j = 0; j < dataset->features[i].valuecount; j++)
       safe_free(dataset->features[i].strings[j]);
 if (dataset->storetype != STORE_MULTILABEL)
   for (i = 0; i < dataset->classno; i++)
     safe_free(dataset->classes[i]);
 safe_free(dataset->name);
 switch (dataset->storetype)
  {
   case       STORE_TEXT:
   case STORE_SEQUENTIAL:
   case STORE_MULTILABEL:if (dataset->directory)
                           safe_free(dataset->directory);
                         if (dataset->file)
                           safe_free(dataset->file);
                         break;
   case       STORE_DB  :safe_free(dataset->dsnname);
                         safe_free(dataset->tablename);
                         break;
   case     STORE_KERNEL:if (dataset->directory)
                           safe_free(dataset->directory);
                         if (dataset->file)
                           safe_free(dataset->file);
                         if (dataset->kernel)
                          {
                           matrix_free(*(dataset->kernel));
                           safe_free(dataset->kernel);
                          }
                         break;
   default              :printf(m1237, dataset->storetype);
                         break;
  }
 safe_free(dataset);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
movl -0xc(%rbp), %eax
movq -0x8(%rbp), %rcx
cmpl 0x1bc(%rcx), %eax
jge 0x1b7db
movq -0x8(%rbp), %rax
addq $0x30f08, %rax          # imm = 0x30F08
movslq -0xc(%rbp), %rcx
imulq $0x340, %rcx, %rcx      # imm = 0x340
addq %rcx, %rax
cmpl $0x3, (%rax)
je 0x1b770
movq -0x8(%rbp), %rax
addq $0x30f08, %rax          # imm = 0x30F08
movslq -0xc(%rbp), %rcx
imulq $0x340, %rcx, %rcx      # imm = 0x340
addq %rcx, %rax
cmpl $0x1, (%rax)
jne 0x1b7cb
movl $0x0, -0x10(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rcx
addq $0x30f08, %rcx          # imm = 0x30F08
movslq -0xc(%rbp), %rdx
imulq $0x340, %rdx, %rdx      # imm = 0x340
addq %rdx, %rcx
cmpl 0x18(%rcx), %eax
jge 0x1b7c9
movq -0x8(%rbp), %rax
addq $0x30f08, %rax          # imm = 0x30F08
movslq -0xc(%rbp), %rcx
imulq $0x340, %rcx, %rcx      # imm = 0x340
addq %rcx, %rax
movslq -0x10(%rbp), %rcx
movq 0x20(%rax,%rcx,8), %rdi
callq 0x52e80
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x1b777
jmp 0x1b7cb
jmp 0x1b7cd
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x1b723
movq -0x8(%rbp), %rax
cmpl $0x4, 0x140713c(%rax)
je 0x1b81a
movl $0x0, -0xc(%rbp)
movl -0xc(%rbp), %eax
movq -0x8(%rbp), %rcx
cmpl 0x10(%rcx), %eax
jge 0x1b818
movq -0x8(%rbp), %rax
movslq -0xc(%rbp), %rcx
movq 0x18(%rax,%rcx,8), %rdi
callq 0x52e80
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x1b7ef
jmp 0x1b81a
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x52e80
movq -0x8(%rbp), %rax
movl 0x140713c(%rax), %eax
movq %rax, -0x18(%rbp)
subq $0x4, %rax
ja 0x1b92c
movq -0x18(%rbp), %rax
leaq 0xc7866(%rip), %rcx     # 0xe30b0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x8(%rbp), %rax
cmpq $0x0, 0x1407118(%rax)
je 0x1b871
movq -0x8(%rbp), %rax
movq 0x1407118(%rax), %rdi
callq 0x52e80
movq -0x8(%rbp), %rax
cmpq $0x0, 0x1b0(%rax)
je 0x1b88f
movq -0x8(%rbp), %rax
movq 0x1b0(%rax), %rdi
callq 0x52e80
jmp 0x1b944
movq -0x8(%rbp), %rax
movq 0x1407108(%rax), %rdi
callq 0x52e80
movq -0x8(%rbp), %rax
movq 0x1407110(%rax), %rdi
callq 0x52e80
jmp 0x1b944
movq -0x8(%rbp), %rax
cmpq $0x0, 0x1407118(%rax)
je 0x1b8d7
movq -0x8(%rbp), %rax
movq 0x1407118(%rax), %rdi
callq 0x52e80
movq -0x8(%rbp), %rax
cmpq $0x0, 0x1b0(%rax)
je 0x1b8f5
movq -0x8(%rbp), %rax
movq 0x1b0(%rax), %rdi
callq 0x52e80
movq -0x8(%rbp), %rax
cmpq $0x0, 0x1407210(%rax)
je 0x1b92a
movq -0x8(%rbp), %rax
movq 0x1407210(%rax), %rax
movq (%rax), %rdi
movq 0x8(%rax), %rsi
callq 0x59ea0
movq -0x8(%rbp), %rax
movq 0x1407210(%rax), %rdi
callq 0x52e80
jmp 0x1b944
movq -0x8(%rbp), %rax
movl 0x140713c(%rax), %esi
leaq 0xc7b41(%rip), %rdi     # 0xe347e
movb $0x0, %al
callq 0x4030
movq -0x8(%rbp), %rdi
callq 0x52e80
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)