X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/blobdiff_plain/2112695675116462a84e74e6b4ee25b78852956a..7df902c12f32a2dd03ced69aacd8c1d0eddcfcee:/emufs/tipo3.c diff --git a/emufs/tipo3.c b/emufs/tipo3.c index f9905ec..435e86c 100644 --- a/emufs/tipo3.c +++ b/emufs/tipo3.c @@ -853,17 +853,17 @@ int emufs_tipo3_eliminar_ordenado(EMUFS *emu, CLAVE clave, int *err) break;/*ya borre, corto aca*/ } iter += tam_reg+sizeof(EMUFS_REG_ID); - aux += iter; + aux += tam_reg+sizeof(EMUFS_REG_ID); } - /*reacomodo el bloque */ - memcpy(bloque+iter-tam_reg-sizeof(EMUFS_REG_ID), aux+iter, emu->tam_bloque-iter-sizeof(int)); + memcpy(aux, aux+tam_reg+sizeof(EMUFS_REG_ID), emu->tam_bloque-iter-sizeof(int)); /*le vuelvo a copiar la cantidad de registros*/ cant_reg--; memcpy(bloque+emu->tam_bloque-sizeof(int), &cant_reg, sizeof(int)); /*grabo el bloque en el archivo*/ - if ( emufs_tipo3_grabar_bloque(emu, bloque, query.num_bloque) == EMUFS_NOT_FOUND ){ + if ( emufs_tipo3_grabar_bloque(emu, bloque, query.num_bloque) == -1){ PERR("NO SE PUDO GRABAR EL BLOQUE"); + free(bloque); return -1; } free(bloque);