]> git.llucax.com Git - z.facultad/75.06/jacu.git/commitdiff
Bugfix. Ya anda bien el fsize() y vfsize().
authorLeandro Lucarella <llucax@gmail.com>
Sun, 27 Jun 2004 02:04:08 +0000 (02:04 +0000)
committerLeandro Lucarella <llucax@gmail.com>
Sun, 27 Jun 2004 02:04:08 +0000 (02:04 +0000)
src/jacu.c
src/vfile/vfile.c
src/zerogrouping/zerogrouping.h

index b435e7b50789b295d9b2a2ebf7eed88e7caa31f1..4d6168856ab20e20cecd31736c3e63b9e0b497ed 100644 (file)
@@ -119,9 +119,7 @@ long fsize(const char* filename)
        FILE* file;
        long  file_size;
 
        FILE* file;
        long  file_size;
 
-       //printf("%s!!!\n", filename);
        if (!(file = fopen(filename, "ab"))) return -1;
        if (!(file = fopen(filename, "ab"))) return -1;
-       //printf("Abrio!\n");
        file_size = ftell(file);
        fclose(file);
        return file_size;
        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 */
        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;
 }
 
        return 0;
 }
 
index 469ef768240fab65c6bbc0cb02a7c4befe39d002..7136eed5e40efc2aee191050f420e03ed258aa41 100644 (file)
@@ -159,25 +159,31 @@ size_t vfwrite(const void *ptr, size_t size, size_t nmemb, VFILE* vfp)
 
 int vfvol_close(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)
 }
 
 int vfvol_open_next(VFILE* vfp)
index 74e088ac0b8608338e6f03573de021a32b0a8408..e672c89fbdc1081573ea4cc7bbe0ed2b09ede20e 100644 (file)
@@ -42,8 +42,8 @@
 /** Estado del agrupador de ceros. */
 typedef struct
 {
 /** 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;
 
 }
 ZG;