Improve variable naming

This commit is contained in:
Maurizio Porrato 2023-10-20 08:39:02 +01:00
parent adf779af8f
commit e970d0a0fe
1 changed files with 59 additions and 59 deletions

118
dsk2img.c
View File

@ -196,92 +196,92 @@ void dump_dsk_header(struct dskheader* h)
} }
#endif #endif
void update_checksum(uint32_t* sum, uint8_t* buffer, size_t size) void update_checksum(uint32_t* checksum, uint8_t* buffer, size_t size)
{ {
uint16_t* p = (uint16_t*)buffer; uint16_t* p = (uint16_t*)buffer;
size_t i; size_t i;
for (i = 0; i < size / 2; i++) for (i = 0; i < size / 2; i++)
*sum += p[i]; *checksum += p[i];
if (size & 1) if (size & 1)
*sum += buffer[size - 1] << 8; *checksum += buffer[size - 1] << 8;
} }
int copy_image_data(FILE* fin, FILE* fout, size_t size, uint32_t* checksum) int copy_image_data(FILE* fin, FILE* fout, size_t size, uint32_t* checksum)
{ {
unsigned long int copied_bytes; unsigned long int copied_bytes;
size_t rres, wres; size_t read_count, write_count;
uint8_t* buffer = NULL; uint8_t* read_buffer = NULL;
buffer = (uint8_t*)malloc(READ_BUFFER_SIZE); read_buffer = (uint8_t*)malloc(READ_BUFFER_SIZE);
if (buffer == NULL) { if (read_buffer == NULL) {
perror("malloc()"); perror("malloc()");
return -1; return -1;
} }
for (copied_bytes = 0; copied_bytes < size;) { for (copied_bytes = 0; copied_bytes < size;) {
rres = fread(buffer, 1, READ_BUFFER_SIZE, fin); read_count = fread(read_buffer, 1, READ_BUFFER_SIZE, fin);
if (rres == 0) { if (read_count == 0) {
perror("fread()"); perror("fread()");
free(buffer); free(read_buffer);
return -2; return -2;
} }
update_checksum(checksum, buffer, rres); update_checksum(checksum, read_buffer, read_count);
wres = fwrite(buffer, 1, rres, fout); write_count = fwrite(read_buffer, 1, read_count, fout);
if (rres != wres) { if (read_count != write_count) {
perror("fwrite()"); perror("fwrite()");
free(buffer); free(read_buffer);
return -3; return -3;
} }
copied_bytes += rres; copied_bytes += read_count;
} }
free(buffer); free(read_buffer);
return 0; return 0;
} }
int copy_compressed_image_data(FILE* fin, FILE* fout) int copy_compressed_image_data(FILE* fin, FILE* fout)
{ {
size_t rres, wres; size_t read_count, write_count;
uint8_t* buffer = NULL; uint8_t* read_buffer = NULL;
buffer = (uint8_t*)malloc(READ_BUFFER_SIZE); read_buffer = (uint8_t*)malloc(READ_BUFFER_SIZE);
if (buffer == NULL) { if (read_buffer == NULL) {
perror("malloc()"); perror("malloc()");
return -1; return -1;
} }
for (;;) { for (;;) {
rres = fread(buffer, 1, READ_BUFFER_SIZE, fin); read_count = fread(read_buffer, 1, READ_BUFFER_SIZE, fin);
if (rres == 0) { if (read_count == 0) {
perror("fread()"); perror("fread()");
free(buffer); free(read_buffer);
return -2; return -2;
} }
wres = fwrite(buffer, 1, rres, fout); write_count = fwrite(read_buffer, 1, read_count, fout);
if (rres != wres) { if (read_count != write_count) {
perror("fwrite()"); perror("fwrite()");
free(buffer); free(read_buffer);
return -3; return -3;
} }
if (rres < READ_BUFFER_SIZE) if (read_count < READ_BUFFER_SIZE)
break; break;
} }
free(buffer); free(read_buffer);
return 0; return 0;
} }
int decompress_image_data(FILE* fin, FILE* fout, size_t size, uint32_t* checksum) int decompress_image_data(FILE* fin, FILE* fout, size_t size, uint32_t* checksum)
{ {
unsigned long int copied_bytes = 0; unsigned long int copied_bytes = 0;
size_t to_decompress, space; size_t read_count, decompress_count;
uint8_t *buffer, *decompress_buffer; uint8_t *read_buffer, *decompress_buffer;
uint8_t *pin, *pout; uint8_t *read_ptr, *decompress_ptr;
struct lzw_ctx* ctx = NULL; struct lzw_ctx* lzw = NULL;
buffer = (uint8_t*)malloc(READ_BUFFER_SIZE); read_buffer = (uint8_t*)malloc(READ_BUFFER_SIZE);
if (buffer == NULL) { if (read_buffer == NULL) {
perror("malloc()"); perror("malloc()");
return -1; return -1;
} }
@ -289,52 +289,52 @@ int decompress_image_data(FILE* fin, FILE* fout, size_t size, uint32_t* checksum
decompress_buffer = (uint8_t*)malloc(DECOMPRESS_BUFFER_SIZE); decompress_buffer = (uint8_t*)malloc(DECOMPRESS_BUFFER_SIZE);
if (decompress_buffer == NULL) { if (decompress_buffer == NULL) {
perror("malloc()"); perror("malloc()");
free(buffer); free(read_buffer);
return -2; return -2;
} }
ctx = (struct lzw_ctx*)malloc(sizeof(struct lzw_ctx)); lzw = (struct lzw_ctx*)malloc(sizeof(struct lzw_ctx));
if (ctx == NULL) { if (lzw == NULL) {
perror("malloc()"); perror("malloc()");
free(buffer); free(read_buffer);
free(decompress_buffer); free(decompress_buffer);
return -3; return -3;
} }
lzw_init(ctx); lzw_init(lzw);
to_decompress = 0; read_count = 0;
space = DECOMPRESS_BUFFER_SIZE; decompress_count = DECOMPRESS_BUFFER_SIZE;
pin = buffer; read_ptr = read_buffer;
pout = decompress_buffer; decompress_ptr = decompress_buffer;
while ((ctx->eos == 0) && (copied_bytes < size)) { while ((lzw->eos == 0) && (copied_bytes < size)) {
if (to_decompress == 0) { if (read_count == 0) {
to_decompress = fread(buffer, 1, READ_BUFFER_SIZE, fin); read_count = fread(read_buffer, 1, READ_BUFFER_SIZE, fin);
pin = buffer; read_ptr = read_buffer;
} }
if (space == 0) { if (decompress_count == 0) {
update_checksum(checksum, decompress_buffer, DECOMPRESS_BUFFER_SIZE); update_checksum(checksum, decompress_buffer, DECOMPRESS_BUFFER_SIZE);
fwrite(decompress_buffer, 1, DECOMPRESS_BUFFER_SIZE, fout); fwrite(decompress_buffer, 1, DECOMPRESS_BUFFER_SIZE, fout);
copied_bytes += DECOMPRESS_BUFFER_SIZE; copied_bytes += DECOMPRESS_BUFFER_SIZE;
space = DECOMPRESS_BUFFER_SIZE; decompress_count = DECOMPRESS_BUFFER_SIZE;
pout = decompress_buffer; decompress_ptr = decompress_buffer;
} }
lzw_decompress(ctx, pin, &to_decompress, pout, &space); lzw_decompress(lzw, read_ptr, &read_count, decompress_ptr, &decompress_count);
pin = buffer + READ_BUFFER_SIZE - to_decompress; read_ptr = read_buffer + READ_BUFFER_SIZE - read_count;
pout = decompress_buffer + DECOMPRESS_BUFFER_SIZE - space; decompress_ptr = decompress_buffer + DECOMPRESS_BUFFER_SIZE - decompress_count;
} }
if (space < DECOMPRESS_BUFFER_SIZE) { if (decompress_count < DECOMPRESS_BUFFER_SIZE) {
update_checksum(checksum, decompress_buffer, DECOMPRESS_BUFFER_SIZE - space); update_checksum(checksum, decompress_buffer, DECOMPRESS_BUFFER_SIZE - decompress_count);
fwrite(decompress_buffer, 1, DECOMPRESS_BUFFER_SIZE - space, fout); fwrite(decompress_buffer, 1, DECOMPRESS_BUFFER_SIZE - decompress_count, fout);
copied_bytes += DECOMPRESS_BUFFER_SIZE - space; copied_bytes += DECOMPRESS_BUFFER_SIZE - decompress_count;
} }
if (copied_bytes != size) if (copied_bytes != size)
printf("WARNING: Decompressed image size (%lu) does not match expected (%lu)", copied_bytes, size); printf("WARNING: Decompressed image size (%lu) does not match expected (%lu)", copied_bytes, size);
free(buffer); free(read_buffer);
free(decompress_buffer); free(decompress_buffer);
free(ctx); free(lzw);
return 0; return 0;
} }