Update 'sk1/compressor.c'
This commit is contained in:
parent
c40a3ff667
commit
17dc898c20
@ -82,13 +82,13 @@ int LZ78compress(struct Input input, struct Output* output) {
|
|||||||
current->toddler[character] = create_node();
|
current->toddler[character] = create_node();
|
||||||
current->toddler[character]->id = ++currentIndex;
|
current->toddler[character]->id = ++currentIndex;
|
||||||
|
|
||||||
int sz_needed = snprintf(NULL, 0, "-%d-%c\n", current->id, character);
|
int size_n = snprintf(NULL, 0, "-%d-%c\n", current->id, character);
|
||||||
char* new_last = calloc(sz_needed + 1, sizeof(char));
|
char* new_last = calloc(size_n + 1, sizeof(char));
|
||||||
sprintf(new_last, "-%d-%c\n", current->id, character );
|
sprintf(new_last, "-%d-%c\n", current->id, character );
|
||||||
|
|
||||||
if (last != NULL) {
|
if (last != NULL) {
|
||||||
size_t last_len = strlen(last);
|
size_t last_len = strlen(last);
|
||||||
char* temp = calloc(last_len + sz_needed + 1, sizeof(char));
|
char* temp = calloc(last_len + size_n + 1, sizeof(char));
|
||||||
strcpy(temp, last);
|
strcpy(temp, last);
|
||||||
strcat(temp, new_last);
|
strcat(temp, new_last);
|
||||||
free(last);
|
free(last);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user