- reg = lst->primero;
- while (reg) {
- if (reg->numero == numero) {
- size = 0;
- error = 0;
- leo = lst->fp->leer_registro(lst->fp, reg->num_reg, &size, &error);
- if (leo != NULL) {
- fact = (t_Factura *)malloc(sizeof(t_Factura));
- if (fact == NULL) {
- free(leo);
- return NULL;
- }
- procesar_leer_factura(fact, leo, size, lst);
- (*id) = reg->num_reg;
- (*id_texto) = reg->texto_reg;
- free(leo);
- fact->nota = lst->fp_texto->leer_registro(lst->fp_texto, reg->texto_reg, &size, &error);
- }
- break;
+ leo = lst->fp->leer_registro(lst->fp,
+ emufs_indice_generar_clave_desde_valor(lst->fp->indices, (char*)&numero), &size, &error);
+ if (leo != NULL) {
+ fact = (t_Factura *)malloc(sizeof(t_Factura));
+ if (fact == NULL) {
+ free(leo);
+ return NULL;