X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/blobdiff_plain/0197ffb819756560ce134f0d8303ce8054b39d37..cfcbab8ec369453b7809f2d2954b15d1bb5fcfdd:/emufs/tipo3.c diff --git a/emufs/tipo3.c b/emufs/tipo3.c index 4971f5e..721d9ef 100644 --- a/emufs/tipo3.c +++ b/emufs/tipo3.c @@ -38,7 +38,8 @@ #include "tipo3.h" /** Leo un registro del archivo, devuelve cero si no lo encuentra.**/ -void* emufs_tipo3_leer_registro(EMUFS *emu, EMUFS_REG_ID ID, int* err) +void* emufs_tipo3_leer_registro(EMUFS *emu, EMUFS_REG_ID ID, + EMUFS_REG_SIZE* reg_size, int* err) { char* bloque; char* registro; /* registro a leer */ @@ -70,6 +71,7 @@ void* emufs_tipo3_leer_registro(EMUFS *emu, EMUFS_REG_ID ID, int* err) return NULL; } memcpy(registro,bloque+iterador,emu->tam_reg); + *reg_size = emu->tam_reg; break; } iterador += emu->tam_reg; @@ -115,7 +117,7 @@ void* emufs_tipo3_leer_bloque(EMUFS *emu, EMUFS_REG_ID ID, int* err) return block; } -EMUFS_REG_ID emufs_tipo3_grabar_registro(EMUFS *emu, void *ptr, EMUFS_REG_SIZE tam) +EMUFS_REG_ID emufs_tipo3_grabar_registro(EMUFS *emu, void *ptr, EMUFS_REG_SIZE tam, int* err) { EMUFS_REG_ID ID_aux; EMUFS_FREE fs; @@ -124,7 +126,6 @@ EMUFS_REG_ID emufs_tipo3_grabar_registro(EMUFS *emu, void *ptr, EMUFS_REG_SIZE t FILE *file; char name_f[255]; char* bloque; - int err = 0; strcpy(name_f,emu->nombre); strcat(name_f,".dat"); @@ -162,7 +163,7 @@ EMUFS_REG_ID emufs_tipo3_grabar_registro(EMUFS *emu, void *ptr, EMUFS_REG_SIZE t } } else { /*cargo el bloque en "bloque"*/ - if (!(bloque = emufs_tipo3_leer_bloque(emu, num_bloque, &err))) { + if (!(bloque = emufs_tipo3_leer_bloque(emu, num_bloque, err))) { /* TODO Manejo de errores */ printf("no se pudo leer el bloque\n"); return -1;