Jump to content
Sign in to follow this  
Fernando Mercês

Chamada de testes para o pev v0.81

Recommended Posts

Pessoal, temos planos de fazer um release da versão 0.81 do pev em breve. Queria pedir a ajuda de vocês para testar a última versão do código disponível em https://github.com/merces/pev. A ideia é baixar e compilar nos ambientes (Windows, Linux e macOS) e rodar os programas com alguns .exe de exemplo (vocês escolhem quais .exe analisar). Se der algum erro, etc, reportar aqui. Posso contar com vocês? 🙂

Abraço!

Share this post


Link to post
Share on other sites
$ make
cd lib/libpe && make all
make[1]: Entering directory '/mnt/vol2/Work/thirdparty/pev/lib/libpe'
make[1]: *** No rule to make target 'all'.  Stop.
make[1]: Leaving directory '/mnt/vol2/Work/thirdparty/pev/lib/libpe'
Makefile:9: recipe for target 'all' failed
make: *** [all] Error 2


Instalei as dependências contidas em README.md....

Note que meu diretório de trabalho é /mnt/vol2/Work/thirdparty/pev/

Share this post


Link to post
Share on other sites
10 horas atrás, Fernando Mercês disse:

Pois é. Tem um subprojeto que é a libpe. Mas e aí, algum bug em princípio?

Abraços e obrigado!

Hehehe... tô dando uma olhada no código... Tenho um patch proce testar ai... (encerrei minha conta no GitHub, dai nada de PRs!)... :)

Não são bugs... só algumas pequeninas melhorias...


PS: Adicionei mais um monte de modificações e comentários de FIXME
Muitas modificações têm comentário FIX.

 

patch.diff

Edited by fredericopissarra
Novo attachment.

Share this post


Link to post
Share on other sites

Outra modificação simples que acho interessante....
Algumas rotinas usam a técnica de limitar um buffer para conter uma string, declarando o buffer com tamanho fixo e usando snprintf... Por exemplo, usando a constante PATH_MAX:
 

char path[PATH_MAX];
...
snprintf( path, PATH_MAX, "%s/%s", dirname, filename);

No entanto, PATH_MAX é histórico e não corresponde ao tamanho máximo de um path na maioria dos sistemas operacionais (Windows, por exemplo, suporta até 32 KiB de path)... Uma maneira mais interessante seria alocar dinamicamente:

 

char *path;

asprintf(&path, "%s/%s", dirname, filename);
...
free(path);

Tá certo que asprintf() não existe no Windows, por exemplo, mas pode-se fazer algo assim:

https://bitismyth.wordpress.com/2015/02/28/nao-existe-asprintf-no-windows-sem-problemas/

Edited by fredericopissarra
  • Curtir 1

Share this post


Link to post
Share on other sites

Outra coisa interessante é usar a função strdupa() ao invés de strdup()... A primeira usa alloca() e livra-se do buffer, alocado na pilha, asim que a função sair do escopo...

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...