- tmp = emufs_idx_get(efs,&stats.tam_archivo);
- free(tmp);
-
- /* Size del archivo de datos */
- if ( (file = fopen(name_f,"ab")) == NULL){
- PERR("No se pudo abrir el archivo");
- return stats;
- }
- stats.tam_archivo_bytes = ftell(file);
- fclose(file);
-
- /* Size del archivo de Espacio Libre */
- strcpy(name_f,efs->nombre);
- strcat(name_f,EMUFS_FSC_EXT);
- if ( (file = fopen(name_f,"ab")) == NULL){
- PERR("No se pudo abrir el archivo");
- return stats;
- }
- fsc_size = ftell(file);
- fclose(file);
-
- /* Size del archivo Indice */
- strcpy(name_f,efs->nombre);
- strcat(name_f,EMUFS_IDX_EXT);
- if ( (file = fopen(name_f,"ab")) == NULL){
- PERR("No se pudo abrir el archivo");
- return stats;
- }
- idx_size = ftell(file);
- fclose(file);
-
- /* Cantidad de Bytes en info de control */
- stats.info_control = idx_size + fsc_size + sizeof(EMUFS_REG_ID)*stats.tam_archivo + sizeof(EMUFS_REG_SIZE)*stats.tam_archivo + sizeof(EMUFS_Tipo);
-
+ tmp = emufs_idx_get(efs,&stats.cant_registros);
+ if (tmp) free(tmp);
+
+ /* Cantidad de bytes de info de control del .dat */
+ stats.tam_info_control_dat = (sizeof(EMUFS_REG_ID) + sizeof(EMUFS_REG_SIZE)) * stats.cant_registros + sizeof(EMUFS_Tipo);
+
+ /* Cantidad de bytes en info de control archivos auxiliares */
+ stats.tam_archivo_aux = emufs_idx_get_file_size(efs,&err1) + emufs_fsc_get_file_size(efs,&err2) + emufs_did_get_file_size(efs,&err3);
+ if (err1 || err2 || err3) {
+ PERR("Hubo problemas en lectura de filesize archivos auxiliares");
+ return stats;
+ }
+