-void* emufs_tipo1_leer_registro(EMUFS* efs, EMUFS_REG_ID reg_id, int *err)
+void* emufs_tipo1_leer_registro(EMUFS* efs, EMUFS_REG_ID reg_id,
+ EMUFS_REG_SIZE* reg_size, int *err)
{
char* block; /* bloque leido (en donde está el registro a leer) */
char* registro; /* registro a leer */
{
char* block; /* bloque leido (en donde está el registro a leer) */
char* registro; /* registro a leer */
- block_id = emufs_fsc_buscar_lugar(efs, reg_size, &fs);
+ block_id = emufs_fsc_buscar_lugar(efs, reg_size + sizeof(EMUFS_REG_ID)
+ + sizeof(EMUFS_REG_SIZE), &fs);
/* si no hay bloques con suficiente espacio creo un bloque nuevo */
if (block_id == EMUFS_NOT_FOUND) {
/* crear un nuevo bloque en memoria */
/* si no hay bloques con suficiente espacio creo un bloque nuevo */
if (block_id == EMUFS_NOT_FOUND) {
/* crear un nuevo bloque en memoria */
/* graba registro en bloque */
emufs_tipo1_escribir_reg_en_memoria(block, reg_id, reg_size, reg);
/* graba el bloque en el archivo */
/* graba registro en bloque */
emufs_tipo1_escribir_reg_en_memoria(block, reg_id, reg_size, reg);
/* graba el bloque en el archivo */
/* graba registro en bloque */
emufs_tipo1_escribir_reg_en_memoria(block + efs->tam_bloque - fs,
reg_id, reg_size, reg);
/* graba registro en bloque */
emufs_tipo1_escribir_reg_en_memoria(block + efs->tam_bloque - fs,
reg_id, reg_size, reg);
/*borra un registro de un bloque y acomoda los registros que quedan*/
int emufs_tipo1_buscar_registro(EMUFS *emu, EMUFS_REG_ID id_reg)
{
/*borra un registro de un bloque y acomoda los registros que quedan*/
int emufs_tipo1_buscar_registro(EMUFS *emu, EMUFS_REG_ID id_reg)
{