X-Git-Url: https://git.llucax.com/z.facultad/75.06/jacu.git/blobdiff_plain/64cd44addd33d589c56bf7c6b669f3a9b2c2a410..0f208e595dd865267c9a4af16164c9874f8e334e:/src/statichuff/main.c diff --git a/src/statichuff/main.c b/src/statichuff/main.c index de98c2b..65a1c3d 100644 --- a/src/statichuff/main.c +++ b/src/statichuff/main.c @@ -9,6 +9,7 @@ int main(int argc, char* argv[]) int tflag = 0; long int volumesize = 0; int ch; + HUFF_STATE *shuff; while ((ch = getopt(argc, argv, "cdt:")) != -1) { @@ -30,20 +31,25 @@ int main(int argc, char* argv[]) if ( (argc == 1) || (cflag & dflag) || !(cflag | dflag) || ((argc - optind) < 2) ) { fprintf(stderr, "Usage: %s [-cdt] sourcefile targetfile\n", argv[0]); - if ((tflag == 1) && (volumesize <= 0)) fprintf(stderr,"Error: The volume size must be a non-zero value\n"); + if ((tflag == 1) && (volumesize < 0)) fprintf(stderr,"Error: The volume size must be a non-zero value\n"); return (2); } if (cflag == 1) { /* Comprimo */ - return shuff_encode_file(argv[optind],argv[optind+1]); + shuff = shuff_init_static_byfile(argv[optind],argv[optind+1],volumesize*1024); + shuff_encode_file(shuff); + shuff_deinit_static_byfile(shuff); + free(shuff); } if (dflag == 1) { /* Descomprimo */ - return shuff_decode_file(argv[optind],argv[optind+1]); + shuff = shuff_init_static_byfile(argv[optind],argv[optind+1],0); + shuff_decode_file(shuff); + shuff_deinit_static_byfile(shuff); + free(shuff); } return 0; } -