'g'ravar e 'o'riginal não funcionam para imagens muito grandes?

'g'ravar e 'o'riginal não funcionam para imagens muito grandes?

por Antonio Abello -
Número de respostas: 6

Terminei o EP e para comemorar converti a minha imagem do facebook para PPM (http://www.youconvertit.com/ConvertFiles.aspx para quem quiser sorriso) e fui brincar com ela

No entanto, na hora de gravar, quando eu aperto 'g', nada acontece (independente de qual imagem está aberta, grande ou pequena) e quando eu aperto 'o' em uma imagem muito grande ele dá Segmentation Fault (core dumped)

Por que isso acontece? Como consertar?

UPDATE: 'o' causa um segfault aleatóriamente, as vezes sim, as vezes não

Em resposta à Antonio Abello

Re: 'g'ravar e 'o'riginal não funcionam para imagens muito grandes?

por João Henrique Luciano -

Acho que pode ser algum problema no seu ulimit. Caso já tenha feito a alteração no ulimit, provavelmente seu programa não está alocando direito a imagem. Eu testei aqui com uma foto minha (usando seu conversor) e todas as funções estão funcionando perfeitamente.

Em resposta à João Henrique Luciano

Re: 'g'ravar e 'o'riginal não funcionam para imagens muito grandes?

por Antonio Abello -

Não, não mexi no ulimit ainda...

Em resposta à Antonio Abello

Re: 'g'ravar e 'o'riginal não funcionam para imagens muito grandes?

por Antonio Abello -

Não funcionou, continua dando segfault aleatoriamente ao abrir a imagem, ao apertar 'o' e 'g'.

Deve ser alguma coisa de errado no mallocImagemRGB. Eu não entendi o que significa o size_t do mallocSafe, eu posso chamar mallocSafe(sizeof('x'))?

 

 

Em resposta à Antonio Abello

Re: 'g'ravar e 'o'riginal não funcionam para imagens muito grandes?

por João Henrique Luciano -

Sim, pode sim. Tem certeza que passou os parâmetros de "copieImagemRGB" certinho, e em todas as outras funções que envolvem a imagem original? Eu troquei alguns parâmetros algumas vezes e isso tinha acabado com todo o código.

Em resposta à Antonio Abello

Re: 'g'ravar e 'o'riginal não funcionam para imagens muito grandes?

por José Coelho de Pina -

Oi Antonio,

Sobre gravar a imagem, verifique a sua função graveImagemRGB que está no main.c.

Sobre o programa explodir, se na sua função regioesImagem você tem uma linha

  reg->ini->prox = NULL; 

troque-a por

  reg->ini = NULL;
Em resposta à José Coelho de Pina

Re: 'g'ravar e 'o'riginal não funcionam para imagens muito grandes?

por Antonio Abello -

Wow!!!
não só adivinhou o problema, mas os nomes das variáveis são os mesmos tambem!
 Ta funcionando direitinho! :3
e que vergonha, achei que a função graveImagemRGB já estava escrita! Hahahahah