/*si existe, lo busco en el archivo de bloques*/
block = emufs_idx_buscar_registro(emu,ID); /*me devuelve el nro de bloque al que pertenece el registro*/
+ printf("el bloque es = %d\n",block);
+ if ( block == EMUFS_NOT_FOUND ){
+ printf("No se encontro el bloque\n");
+ return NULL;
+ }
if ((bloque = emufs_tipo3_leer_bloque(emu, block, err)) == NULL) {
/* TODO Manejo de errores, queda en el codigo de error lo que devolvio
* emufs_tipo3_leer_bloque() */
EMUFS_FREE fs;
char *bloque;
int err = 0;
-printf("pase %d\n",__LINE__);
+
num_bloque = emufs_idx_buscar_registro(emu, ID);
if (!(bloque = emufs_tipo3_leer_bloque(emu, num_bloque, &err))) {
/* TODO Manejo de errores */
break;
ptr_elim += emu->tam_reg + sizeof(EMUFS_REG_ID);
}
-printf("pase %d\n",__LINE__);
+
/*apunto al registro que voy a mover*/
ptr_mov = ptr_elim + emu->tam_reg + sizeof(EMUFS_REG_ID);
ptr_elim = ptr_mov;
ptr_mov += sizeof(EMUFS_REG_ID) + emu->tam_reg;
}
-printf("pase %d\n",__LINE__);
+
/*grabo el bloque en el archivo*/
if ( emufs_tipo3_grabar_bloque(emu, bloque, num_bloque) == -1 ){
free(bloque);
printf("No se pudo grabar el bloque\n");
return -1;
}
-printf("pase %d\n",__LINE__);
+
/*actualizo archivo .fsc*/
fs = emufs_fsc_get_fs(emu, num_bloque);
if ( emufs_fsc_actualizar(emu, num_bloque, fs + emu->tam_reg + sizeof(EMUFS_REG_ID)) != 0 ) return -1;
/*actualizo archivo .idx*/
if ( emufs_idx_borrar(emu, ID) != 0 ) return -1;
-printf("pase %d\n",__LINE__);
+
free(bloque);
return 0;
}