int emufs_destruir(EMUFS *e)
{
+ INDICE *del, *cur;
+
if (e == NULL) return 1;
+
+ /* libero indices */
+ cur = e->indices;
+ while (cur) {
+ del = cur;
+ cur = cur->sig;
+ emufs_indice_destruir(e, cur);
+ }
+
free(e->nombre);
free(e);
return 0;
dummy = (char*)malloc(emu->tam_bloque);
memset(dummy, 0, emu->tam_bloque);
fwrite(dummy, emu->tam_bloque, 1, fp);
+<<<<<<< .mine
+ fprintf(stderr, "new_block ftell = %ld\n", ftell(fp));
+=======
+>>>>>>> .r552
switch(emu->tipo){
case T1: num = (ftell(fp)-sizeof(EMUFS_Tipo)-sizeof(EMUFS_BLOCK_SIZE))/emu->tam_bloque;
break;
{
/* TODO Sacar el indice de la lista en EMUFS */
+ if (!i) return;
+
if (i->tipo == IDX_STRING)
emufs_destruir(i->emu_string);
+ if (i->funcion != IND_PRIMARIO)
+ emufs_destruir(i->emu_mult);
free(i->filename);
free(i->nombre);
free(i);
/* Hack feo :-D */
sprintf(salvar, "%s", data);
k.i_clave = idx->emu_string->grabar_registro(idx->emu_string,
- salvar,
- strlen(salvar)+1,
- &error
- );
+ salvar,
+ strlen(salvar)+1,
+ &error
+ );
}
return k;
PERR(idx->nombre);
PERR(data+idx->offset);
k.i_clave = idx->emu_string->grabar_registro(idx->emu_string,
- data+idx->offset,
- strlen(data+idx->offset)+1,
- &error
- );
+ data+idx->offset,
+ strlen(data+idx->offset)+1,
+ &error
+ );
}
return k;