add makefile
permite entrada de multiplos arquivos
modifica comportamento de -o[utput]

Flag nao mais recebe argumento.
Arquivo de saida é nomeado de acordo com a funçao realizada.
add -k[ey] flag

Define a chave criptografica pela linha de comando.
Atalho para processar multiplos arquivos com a mesma chave.
INSEGURO.
refatorada enigma()

Apresenta mensagem de erro no caso de algum ocorrer.
Retorna 0 para operaçao com sucesso e 1 para erro.
main() acumula valores de retornos da funçao e os usa para decidir
qual codigo de saida do programa.
fix exclusao mutua de -e[ncrypt] e -d[ecrypt]
fix -h[elp]

Suprime mensagem de argumento invalido e apenas apresenta o modo
de usar do programa.
reorganizaçao do codigo

Funçao enigma() integra main().
fix memory leak

Bloco de memoria alocado em crack_the_code() nunca era liberado,
causando memory leak no processamento de multiplos arquivos.
reestruturaçao do codigo

Melhora organizaçao e evita repeticao de codigo.
modifica comportamento de -k[ey]

Chave nao mais é recebida na cli.
Usar -k faz a primeira chave ser repetida em todos os arquivos
processados.
Quando não é repetida a chave é substituida por '0' e entao a
memoria é liberada.
adiciona tipos boleanos

Utiliza tipos boleanos em algumas funçoes para maior verbosidade do
codigo.
Modifica testes para ficarem mais descritivos.
refatoradas funcoes de input.

set_term() - removida funcionalidade para restaurar ECHO silenciado.

get_input -> get_passwd() - incorpora funcionalidade de input() e
valida chave criptogradica usando check_passwd().

input() -> removida.

check_pass() -> valid_passwd() - refatorado modo de verificaçao de
carecteres repetidos na string. Utiliza funções padrao e teve removido
laços de repetiçao.

erase_pass -> erase_passwd() - funçao renomeada para seguir padrao
das outras funçoes que lidam com a senha..
modifica crypt()

Separa os dois modos de operaçao em duas funçoes diferentes.
Realiza apenas um teste para determinar qual funçao é chamada, por
arquivo processado.
Faz uso de um ponteiro para funçao.
encerra programa se nao for definido modo de operaçao
update README e Makefile
melhora estetica do codigo

Separa declaraçao e inicializaçao das variaveis, quando possivel.
Separa o codigo em blocos de instruçoes que se relacionam.
Minor tweaks no codigo
reverte modificaçoes nos testes
corrige comportamento de dest_name()

Funçao somente nomeava os arquivos de saida como .txt.
Agora é adicionado ao final do nome original do arquivo uma nova
extensão que reflete o modo de operaçao executado.