X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/blobdiff_plain/a8e059ad16114056d57a18cbf297204b0ac1bae4..9b6d59d2a6f3ed7e0d2413c3730c29f1041dab2c:/emufs/tipo1.c diff --git a/emufs/tipo1.c b/emufs/tipo1.c index 8bccc4c..fa24cf0 100644 --- a/emufs/tipo1.c +++ b/emufs/tipo1.c @@ -257,9 +257,10 @@ EMUFS_REG_ID emufs_tipo1_grabar_registro(EMUFS* efs, void* reg, return EMUFS_NOT_FOUND; } /* grabo el nuevo registro en el archivo de espacios libres */ - *err = emufs_fsc_agregar(efs, block_id, block_space - chunk_size); + *err = emufs_fsc_agregar(efs, curr_block_id, block_space - chunk_size); if (*err) { PERR("No se pudo agregar fsc"); + free(block); return EMUFS_NOT_FOUND; } /* si es el primer id de bloque obtenido, lo guardo para @@ -267,7 +268,7 @@ EMUFS_REG_ID emufs_tipo1_grabar_registro(EMUFS* efs, void* reg, if (block_id == EMUFS_NOT_FOUND) { block_id = curr_block_id; } - } while (chunk_size > block_space); + } while (reg_header.size > block_space); free(block); /* Encontró espacio en un bloque existente, graba registro ahí */