-/* vim: set noexpandtab tabstop=4 shiftwidth=4:
+/* vim: set noexpandtab tabstop=4 shiftwidth=4 wrap:
*----------------------------------------------------------------------------
* emufs
*----------------------------------------------------------------------------
return registro;
}
-void* emufs_tipo1_leer_registro_raw(EMUFS *efs, EMUFS_REG_ID id,
- EMUFS_REG_SIZE *size, int *pos)
+void* emufs_tipo1_leer_registro_raw(EMUFS *efs, EMUFS_REG_ID id, EMUFS_REG_SIZE *size, int *pos)
{
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 leído */
- EMUFS_BLOCK_SIZE block_size; /* tamaño del bloque leído */
EMUFS_TIPO1_REG_HEADER curr_reg_header; /* cabecera del registro a leer */
int err;
if (block_id == EMUFS_NOT_FOUND) {
return NULL;
}
+ err = 0;
if (!(block = (char*) emufs_tipo1_leer_bloque(efs, block_id, &err))) {
return NULL;
}
}
/* Desplazo el offset */
offset += curr_reg_header.size;
- } while (offset < block_size);
+ } while (offset < efs->tam_bloque);
- (*size) = block_size;
+ (*size) = efs->tam_bloque;
return block;
}
/* Si el tipo es el mismo, no tengo que hacer nada! */
if (old->tipo == tipo) return;
- fprintf(stderr, "Me prepado para cambiar de archivo\n");
-
/* Creo el nuevo file */
nuevo = emufs_crear("emufs_tmp", tipo, tam_bloque, sizeof(t_Articulo));
if (nuevo == NULL) {
/* Leo los indices del archivo viejo */
indices = emufs_idx_get(old, &indices_total);
if (indices == NULL) {
- fprintf(stderr, "NO HAY INDICES!\n");
art_liberar(lst_nueva);
return;
}
for(i=0; i<indices_total; i++) {
- fprintf(stderr, "Registro %lu de %lu\n", i, indices_total);
- fprintf(stderr, "A leer : %lu\n", indices[i]);
-
+ fprintf(stderr, "A procesar %lu de %lu\n",i, indices_total);
error = 0;
save = old->leer_registro(old, indices[i], &size, &error);
- fprintf(stderr, "Lei\n");
if (procesar_leer_articulo(&art, save, size, lst_articulos) == 1) {
- fprintf(stderr, "Procese\n");
free(save);
/* Lei un registro Ok. Lo salvo en el archivo nuevo */
save = procesar_guardar_articulo(&art, &size, lst_nueva);
- fprintf(stderr, "Procese guardar\n");
if (save) {
error = 0;
id = nuevo->grabar_registro(nuevo, save, size, &error);
- fprintf(stderr, "Guarde\n");
agregar_nodo_articulo(lst_nueva, crear_nodo_articulo(id, art.numero));
free(save);
}
fprintf(stderr, "Listo. Renombre y me voy\n");
/* Muevo los archivos! */
/* TODO : Poner en otro lugar mas generico! */
-/* rename("emufs_tmp.dat", "articulos.dat");
+ rename("emufs_tmp.dat", "articulos.dat");
rename("emufs_tmp.idx", "articulos.idx");
rename("emufs_tmp.fsc", "articulos.fsc");
- rename("emufs_tmp.did", "articulos.did");*/
+ rename("emufs_tmp.did", "articulos.did");
}