main.c 756 Bytes
#include "hashmap.h"
#include "bitwriter.h"
#include "lz77.h"
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
    /* this is bad */

    if (argc != 2)
    {
        printf("Usage: %s <input file>\n", argv[0]);
        exit(1);
    }

    char *input_file_name = argv[1];
    char *output_file_name = malloc(sizeof(char) * 
        (strlen(input_file_name) + strlen(".deflate") + 1));
    sprintf(output_file_name, "%s.deflate", input_file_name);

    FILE *input_file = fopen(input_file_name, "r");
    FILE *output_file = fopen(output_file_name, "w");
    free(output_file_name);

    size_t compressed_size = write_lz77_stream(input_file, output_file);

    fclose(input_file);
    fclose(output_file);
}