strcat(name_f_fsc, EMUFS_FSC_EXT);
/* Lo guardo en el archivo al final "a+"*/
+ PERR(name_f_fsc);
if ( (f_fsc = fopen(name_f_fsc,"r+"))==NULL ) return -1;
/* lo busco.. si esta lo modifico y si no lo agrego */
fseek(f_fsc,0,SEEK_SET);
if (feof(f_fsc)) break;
PERR("No se puede leer el archivo");
*err = EMUFS_ERROR_FILE_READ;
+ fclose(f_fsc);
return EMUFS_NOT_FOUND;
}
if (reg.freespace >= size) {
if (feof(f_fsc)) break;
PERR("No se puede leer el archivo");
*err = EMUFS_ERROR_FILE_READ;
+ fclose(f_fsc);
return EMUFS_NOT_FOUND;
}
/* no hay otro lugar consecutivo */
total = 0;
while ( !feof(f_fsc) ){
if ( fread(®, sizeof(EMUFS_FSC), 1, f_fsc) != 1) continue;
- total += reg.freespace;
+ if ( reg.freespace > 0 )
+ total += reg.freespace;
}
fclose(f_fsc);
return total;
strcat(name, EMUFS_FSC_EXT);
return emufs_common_get_file_size(name, err);
}
-