(*size1) = (*size2) = (*size3) = efs->tam_bloque;
}
-int emufs_tipo3_insertar_ordenado(EMUFS *emu, void *ptr, CLAVE clave, int *err)
+CLAVE obtener_clave(void *ptr, INDICE indice)
{
- FILE *f;
- char f_name[255];
+ CLAVE clave;
+
+ switch ( indice->tipo_dato ){
+ case IDX_FLOAT:
+ memcpy(&clave, ptr+indice->offset, sizeof(float));
+ break;
+ case IDX_INT:
+ memcpy(&clave, ptr+indice->offset, sizeof(int));
+ }
+ return clave;
+}
+
+int emufs_tipo3_insertar_ordenado(EMUFS *emu, void *ptr, CLAVE clave, int offset, EMUFS_BLOCK_ID num_bloque, int *err)
+{
+ /*FILE *f;
+ char f_name[255];*/
char *bloque;
+ CLAVE clave_ant;
+
- strcpy(f_name, emu->nombre);
- strcat(f_name, ".dat");
+ bloque = emufs_tipo3_leer_bloque(emu, num_bloque, err);
+ if (err){
+ PERR("NO SE PUDO LEER EL BLQUE");
+ return -1;
+ }