+ if (scroll > max_scroll) scroll = max_scroll;
+ case 'k': /* Desplano los registros a derecha! */
+ if (ant_indice != EMUFS_NOT_FOUND) {
+ if (data[ANT]) free(data[ANT]);
+ if (data[ACT]) free(data[ACT]);
+ if (data[SIG]) free(data[SIG]);
+ ant_indice--;
+
+ data[ANT] = (char *)fp->leer_registro(fp, ant_indice, &size, &error);
+ data[ANT] = procesar_registro(data[ANT], &size);
+ data[ACT] = (char *)fp->leer_registro(fp, ant_indice+1, &size, &error);
+ data[ACT] = procesar_registro(data[ACT], &size);
+ data[SIG] = (char *)fp->leer_registro(fp, ant_indice+2, &size, &error);
+ data[SIG] = procesar_registro(data[SIG], &size);
+ }
+ break;
+ case 'l': /* Desplazo los registros a izquieda!! */
+ if (ant_indice+1 < total_indice-1) {
+ if (data[ANT]) free(data[ANT]);
+ if (data[ACT]) free(data[ACT]);
+ if (data[SIG]) free(data[SIG]);
+ ant_indice++;
+
+ data[ANT] = (char *)fp->leer_registro(fp, ant_indice, &size, &error);
+ data[ANT] = procesar_registro(data[ANT], &size);
+ data[ACT] = (char *)fp->leer_registro(fp, ant_indice+1, &size, &error);
+ data[ACT] = procesar_registro(data[ACT], &size);
+ data[SIG] = (char *)fp->leer_registro(fp, ant_indice+2, &size, &error);
+ data[SIG] = procesar_registro(data[SIG], &size);
+ }