]> git.llucax.com Git - z.facultad/75.06/emufs.git/blobdiff - emufs/emufs.c
emufs.h comente los campos de stats en doxy, fsc.h/c agregue la funcion para obtener...
[z.facultad/75.06/emufs.git] / emufs / emufs.c
index 293d5567343274cda2701a4986355debd74757ae..297cf9d017e76d6230c1f02fb392b675a0581688 100644 (file)
@@ -157,8 +157,9 @@ EMUFS *emufs_crear(const char *filename, EMUFS_Tipo tipo, EMUFS_BLOCK_SIZE tam_b
 
                case T3:
                        /* Asigna punteros a funciones. */
-                       efs->leer_bloque     = emufs_tipo3_leer_bloque;
-                       efs->leer_registro   = emufs_tipo3_leer_registro;
+                       efs->leer_bloque = emufs_tipo3_leer_bloque;
+                       efs->leer_registro = emufs_tipo3_leer_registro;
+                       efs->leer_registro_raw = emufs_tipo3_leer_registro_raw;
                        efs->grabar_registro = emufs_tipo3_grabar_registro;
                        efs->borrar_registro = emufs_tipo3_borrar_registro;
                        efs->leer_estadisticas = emufs_tipo3_leer_estadisticas;
@@ -230,8 +231,9 @@ EMUFS *emufs_abrir(const char *filename)
                                return NULL;
                        }                       
                        /* Asigna punteros a funciones. */                      
-                       efs->leer_bloque     = emufs_tipo3_leer_bloque;
-                       efs->leer_registro   = emufs_tipo3_leer_registro;
+                       efs->leer_bloque = emufs_tipo3_leer_bloque;
+                       efs->leer_registro_raw = emufs_tipo3_leer_registro_raw;
+                       efs->leer_registro = emufs_tipo3_leer_registro;
                        efs->grabar_registro = emufs_tipo3_grabar_registro;
                        efs->borrar_registro = emufs_tipo3_borrar_registro;
                        efs->leer_estadisticas = emufs_tipo3_leer_estadisticas;
@@ -276,17 +278,15 @@ int ver_archivo_FS(EMUFS *emu)
        fprintf(stderr, "BLOQUES Y REGISTROS\n");
        strcpy(name_f_block_free,emu->nombre);
        strcat(name_f_block_free,".idx");
+       f_block_free = fopen(name_f_block_free, "r");
        {
                EMUFS_IDX r;
-               f_block_free = fopen(name_f_block_free, "r");
-               fread(&r, sizeof(EMUFS_IDX), 1, f_block_free);
                while (!feof(f_block_free)) {
+                       if (fread(&r, sizeof(EMUFS_IDX), 1, f_block_free) != 1) continue;
                        fprintf(stderr, "ID %li en bloque %li\n", r.id_reg, r.location);
-                       fread(&r, sizeof(EMUFS_IDX), 1, f_block_free);
                }
-               fclose(f_block_free);
        }
-       
+       fclose(f_block_free);
        
        return 0;
 }