Пример #1
0
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);
}
Пример #2
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;
}
Пример #3
0
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;
}
Пример #4
0
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;
}