efs->leer_bloque = emufs_tipo1_leer_bloque;
efs->leer_registro = emufs_tipo1_leer_registro;
efs->grabar_registro = emufs_tipo1_grabar_registro;
- efs->borrar_registro = emufs_tipo1_borrar_registro;
-
+ /*efs->borrar_registro = emufs_tipo1_borrar_registro;*/
return 0;
}
{
char* block; /* bloque leido (en donde está el registro a leer) */
EMUFS_BLOCK_ID block_id; /* id del bloque en donde esta el registro a leer */
- EMUFS_BLOCK_SIZE offset; /* offset del bloque leido */
- EMUFS_REG_SIZE curr_reg_size; /* tamaño del registro leido secuencialmente */
- EMUFS_REG_ID curr_reg_id; /* id del registro leido secuencialmente */
+ EMUFS_BLOCK_SIZE offset; /* offset del bloque leído */
+ EMUFS_BLOCK_SIZE block_size; /* tamaño del bloque leído */
+ EMUFS_REG_SIZE curr_reg_size; /* tamaño del registro leído secuencialmente */
+ EMUFS_REG_ID curr_reg_id; /* id del registro leído secuencialmente */
block_id = emufs_idx_buscar_registro(efs, reg_id);
block = (char*) malloc(efs->tam_bloque);
}
/* Desplazo el offset */
offset += curr_reg_size;
- } while (offset < efs->tam_bloque);
+ } while (offset < block_size);
free(block);
return 0;
{
FILE* file;
char name_f[255];
+ long cant;
strcpy(name_f,efs->nombre);
strcat(name_f,".dat");
SEEK_SET);
/* FIXME: verificar que no se pase de fin de archivo*/
fseek(file, block_id * efs->tam_bloque, SEEK_CUR);
- if (fread(block, efs->tam_bloque, 1, file) != 1) {
- fclose(file);
- return -1;
- }
-
+ cant = fread(block, sizeof(char), efs->tam_bloque, file);
fclose(file);
- return 0;
+ return cant;
}
EMUFS_REG_ID emufs_tipo1_grabar_registro(EMUFS* emu, void* ptr,
{
return -1; /* FIXME Error */
}
-