X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/blobdiff_plain/840e216ee1d0b23864f75f44ba549899669d9595..08c5b98cd8a74821b3ef0a72c6385eb6b267fff3:/emufs/idx.c?ds=sidebyside diff --git a/emufs/idx.c b/emufs/idx.c index 8b4f969..f9c33db 100644 --- a/emufs/idx.c +++ b/emufs/idx.c @@ -140,7 +140,7 @@ int emufs_idx_agregar(EMUFS *emu, EMUFS_REG_ID id_reg, EMUFS_BLOCK_ID location) strcpy(name_f_idx,emu->nombre); strcat(name_f_idx, EMUFS_IDX_EXT); - if ( (f_idx = fopen(name_f_idx,"a+"))==NULL ) return -1; + if ( (f_idx = fopen(name_f_idx,"r+"))==NULL ) return -1; fseek(f_idx, sizeof(EMUFS_IDX)*id_reg, SEEK_SET); reg.id_reg = id_reg; @@ -214,21 +214,21 @@ EMUFS_REG_ID *emufs_idx_get(EMUFS *emu, EMUFS_REG_ID *cant) count = 0; while (!feof(f_idx)) { if (fread(®, sizeof(EMUFS_IDX), 1, f_idx) != 1) continue; + count++; /* TODO : Verificar errores :-D */ - if (reg.location != EMUFS_NOT_FOUND) { - count++; - tmp = realloc(tmp, count); - tmp[count-1] = reg.id_reg; - fprintf(stderr, "Nuevo registro de id = %lu\n", reg.id_reg); - } + tmp = realloc(tmp, count*sizeof(EMUFS_REG_ID)); + tmp[count-1] = reg.id_reg; } fclose(f_idx); (*cant) = count; - fprintf(stderr, "Mando %d registros\n", count); return tmp; } +/** @todo FIXME borrar cuando se cambie emufs_gui/registros.c que es el unico + * que lo usa. + * @deprecated Usar emufs_idx_buscar_registro. + */ int emufs_idx_existe_id(EMUFS *emu, int ID) { FILE *f_idx; @@ -267,7 +267,6 @@ int emufs_idx_actualizar(EMUFS *emu, int ID, EMUFS_BLOCK_ID bloque) PERR("No se pudo abrir el archivo"); return -1; } - printf("actualice el id = %d\n",ID); fseek(f_idx,0,SEEK_SET); fseek(f_idx,ID*sizeof(EMUFS_IDX),SEEK_SET); fread(®,sizeof(EMUFS_IDX),1,f_idx);