+ char salvar[100];
+ if (idx == NULL) PERR("NULL INDEX!");
+
+ switch (idx->tipo_dato) {
+ case IDX_FLOAT:
+ k.f_clave= *((float *)(data));
+ break;
+ case IDX_INT:
+ k.i_clave = *((int *)(data));
+ break;
+ case IDX_STRING:
+ /* TODO : Esto deja basura en el archivo.
+ * Ver de borrarla despues de usarla
+ */
+ error = 0;
+ /* Le agrego un * para diferenciarla, porque no la tengo abreviada! */
+ /* Hack feo :-D */
+ sprintf(salvar, "*%s", data);
+ k.i_clave = idx->emu_string->grabar_registro(idx->emu_string,
+ salvar,
+ strlen(salvar)+1,
+ &error
+ );
+ }
+
+ return k;
+}
+
+CLAVE emufs_indice_generar_clave(INDICE *idx, char *data)
+{
+ CLAVE k;
+ int error;
+