]> git.llucax.com Git - z.facultad/75.06/emufs.git/blobdiff - emufs/fsc.c
Se agrega debug_ver_estadisticas() para hacer pruebas.
[z.facultad/75.06/emufs.git] / emufs / fsc.c
index 95d378aa5ad5f8d0f0903beca7a694c5b97c574a..d0d912420e816a12781aeec9b01104a70722cb83 100644 (file)
@@ -37,8 +37,8 @@
 
 #include "fsc.h"
 #include "error.h"
+#include "common.h"
 #include <unistd.h>
-#include <sys/types.h>
 #include <string.h>
 
 /* Crea un archivo de Gaps o Espacio Libre en Bloque */
@@ -125,10 +125,7 @@ int emufs_fsc_agregar_gap(EMUFS *emu, EMUFS_OFFSET marker, EMUFS_FREE freespace)
                /* Busco el gap que sucede a este */
                fseek(f_fsc,0,SEEK_SET);
                while (!feof(f_fsc)) {
-                       if (fread(&gap_aux,sizeof(EMUFS_FSC),1,f_fsc) != 1) {
-                               if (feof(f_fsc)) break;
-                               PERR("error al leer archivo fsc");
-                       }
+                       if (fread(&gap_aux,sizeof(EMUFS_FSC),1,f_fsc) != 1) continue;
                        if (gap_aux.marker > gap_new.marker) {
                                found = 1;
                                break;
@@ -571,3 +568,11 @@ EMUFS_BLOCK_ID emufs_fsc_get_num_blocks(EMUFS* efs)
        return cant;
 }
 
+long emufs_fsc_get_file_size(EMUFS* efs, int* err)
+{
+       char name[255];
+       strcpy(name, efs->nombre);
+       strcat(name, EMUFS_FSC_EXT);
+       return emufs_common_get_file_size(name, err);
+}
+