int main(int ac, char **av) { int fd; char **tab; int size; t_tetri *tet; fd = 0; tet = tetri_new('A'); if (ac != 2) print_error(); fd = open(av[1], O_RDONLY); (fd == -1) ? print_error() : 0; init_shape(tet, fd); if (!file_valide(tet)) print_error(); size = ft_sqrt(tetri_count(tet) * 4); tab = create_double_tab(size, '.'); while (fillit(tab, size, tet) == 0) { free_double_tab(&tab, size); size++; tab = create_double_tab(size, '.'); } end_fillit(&tab, size, fd, tet); return (0); }
uint8_t read_uint8(FILEBUFFER *f,JENV *env) { uint8_t val,tmp; unsigned int pos; char *p; uint8_t *buf; assert(env!=NULL); assert(f!=NULL); if(file_len_dispo(f)<1) { tjvm_env_add_error(env,"Error in file : invalide size"); return 0; } //assert(f->pos+1<f->len); pos=f->pos; //buf=(uint8_t *)(f->buf+pos); //tmp=*buf[pos+1]; //val=(*buf); val=*(f->buf+pos); //pshort=(unsigned short *)f->buf; //version_mineur=swap_uint16(*pshort); //pshort++; f->pos+=1; assert(file_valide(f)); return val; }
char *read_char(FILEBUFFER *f,int len,JENV *env) { uint64_t val,tmp; unsigned int pos; char *p; char *buf,*buf2; assert(env!=NULL); assert(f!=NULL); assert(len>0); if(file_len_dispo(f)<len) { tjvm_env_add_error_c(env,"Error in file : invalide size"); return 0; } //assert(f->pos+len<=f->len); pos=f->pos; buf=(f->buf+pos); buf2=(char*)calloc(len+1,1); strncpy(buf2,buf,len); buf2[len]=0; //tmp=*buf[pos+1]; //val=swap_uint64(*buf); //pshort=(unsigned short *)f->buf; //version_mineur=swap_uint16(*pshort); //pshort++; f->pos+=len; assert(file_valide(f)); return buf2; }
uint64_t file_len_dispo(FILEBUFFER *f) { uint64_t val; assert(f!=NULL); assert(file_valide(f)); val=f->len-f->pos; if(val<0) val=0; return val; }