From de636c57356b0e6c41de1ddd5eb1018409c56a84 Mon Sep 17 00:00:00 2001 From: Leandro Lucarella Date: Sun, 27 Jun 2004 02:04:08 +0000 Subject: [PATCH 1/1] Bugfix. Ya anda bien el fsize() y vfsize(). --- src/jacu.c | 6 +----- src/vfile/vfile.c | 36 +++++++++++++++++++-------------- src/zerogrouping/zerogrouping.h | 4 ++-- 3 files changed, 24 insertions(+), 22 deletions(-) diff --git a/src/jacu.c b/src/jacu.c index b435e7b..4d61688 100644 --- a/src/jacu.c +++ b/src/jacu.c @@ -119,9 +119,7 @@ long fsize(const char* filename) FILE* file; long file_size; - //printf("%s!!!\n", filename); if (!(file = fopen(filename, "ab"))) return -1; - //printf("Abrio!\n"); file_size = ftell(file); fclose(file); return file_size; @@ -212,9 +210,7 @@ int comprimir(char *src, char *dst, Uint32 pagesize, Uint32 volumesize, t_Flags free(shuff); /* Muestro bpb */ - //printf("%s: %ld bytes.\n", src, fsize(src)); - //printf("%s: %ld bytes.\n", dst, vfsize(dst)); - printf("%s: %.04f bits/byte.\n", dst, 1.0/fsize(src)*vfsize(dst)*8.0f); + printf("%s: %.04f bits/byte.\n", dst, vfsize(dst)*8.0f/fsize(src)); return 0; } diff --git a/src/vfile/vfile.c b/src/vfile/vfile.c index 469ef76..7136eed 100644 --- a/src/vfile/vfile.c +++ b/src/vfile/vfile.c @@ -159,25 +159,31 @@ size_t vfwrite(const void *ptr, size_t size, size_t nmemb, VFILE* vfp) int vfvol_close(VFILE* vfp) { - /* Si es de escritura y el último guardo la cabecera. */ - if (vfp->mode == VFWRITE && vfp->lastvol) + int ret = 0; + if (vfp->fp) { - int ret; - PERR("vfvol_close: modo == VFWRITE"); - /* Me posiciono al principio del archivo. */ - if ((ret = fseek(vfp->fp, 0l, SEEK_SET))) + /* Si es de escritura y el último guardo la cabecera. */ + if (vfp->mode == VFWRITE && vfp->lastvol) { - PERR("vfvol_close: fseek error"); - return ret; /* fseek error. */ - } - /* Guardo cabecera para indicar si es el último volumen o no. */ - if ((ret = fputc(vfp->lastvol, vfp->fp)) == EOF) - { - PERR("vfvol_close: fputc error"); - return ret; /* fputc error. */ + int ret; + PERR("vfvol_close: modo == VFWRITE"); + /* Me posiciono al principio del archivo. */ + if ((ret = fseek(vfp->fp, 0l, SEEK_SET))) + { + PERR("vfvol_close: fseek error"); + return ret; /* fseek error. */ + } + /* Guardo cabecera para indicar si es el último volumen o no. */ + if ((ret = fputc(vfp->lastvol, vfp->fp)) == EOF) + { + PERR("vfvol_close: fputc error"); + return ret; /* fputc error. */ + } } + ret = fclose(vfp->fp); + vfp->fp = 0; } - return fclose(vfp->fp); + return ret; } int vfvol_open_next(VFILE* vfp) diff --git a/src/zerogrouping/zerogrouping.h b/src/zerogrouping/zerogrouping.h index 74e088a..e672c89 100644 --- a/src/zerogrouping/zerogrouping.h +++ b/src/zerogrouping/zerogrouping.h @@ -42,8 +42,8 @@ /** Estado del agrupador de ceros. */ typedef struct { - unsigned char count; /**< Cantidad de ceros acumulados. */ - int in_zero; /**< Indica si está en una serie de ceros. */ + unsigned char count; /**< Cantidad de ceros acumulados. */ + int in_zero; /**< Indica si está en una serie de ceros. */ } ZG; -- 2.43.0