]> git.llucax.com Git - z.facultad/75.06/emufs.git/commit
Cambios Realizados (son varios, read carefuly):
authorAlan Kennedy <kennedya@3dgames.com.ar>
Sat, 10 Apr 2004 17:42:22 +0000 (17:42 +0000)
committerAlan Kennedy <kennedya@3dgames.com.ar>
Sat, 10 Apr 2004 17:42:22 +0000 (17:42 +0000)
commitc407055e1cc6ff4c435114091c3a5430486aa659
treede2dba0ddb3e44e710ab2353a7cda9621f92a7e6
parentb79e29fb18f3f8898b62ae999fbcd50d5a9fb92d
Cambios Realizados (son varios, read carefuly):

A) En los tres sets de rutinas para el manejo de los archivos auxiliares IDX,FSC y DID, se utilizan ahora los nuevos tipos de datos que definio Luca (son unsigned long int todos creo). Ademas, yo modifique algunas rutinas (y voy a tener que seguir modificando), para que se acomodem al esquema del Archivo Tipo2, en donde no tenemos bloques, tonces hay unas mini-diferencias ya que tenemos Gaps, no hay recompactacion automatica (perderia sentido tener los Gaps), se maneja la localizacion de los registros por Offsets y no bloque, etc.

B) En IDX, fixee la rutina que busca un registro por su ID. El problema que detecte ayer cuando la use, era que si terminaba de recorrer y no lo encontraba en vez de devolver -1, devolvia el ultimo ID que levanto.

C) En EMUFS.c|h, agrege a la estructura un campo para guardar el tamanio de registro, a ser utilizado solo por el Tipo3. Asi mismo, saque el ultimo parametro de la funcion dinamica borrar_registro en la cual se pasaba dicho dato, pues ahora ya se pasa en la estructura.

En el Emufs.c, ahora se deberia estar levantan correctamente el tamanio de registro en el header del archivo Tipo3 (chequeen ese OR por favor), por lo que Nico simplemente modificando tu funcion emufs_tipo3_borrar_registro, para que levante el dato de la estructura y no ese tercer parametro que ya no esta mas, deberia salir andando.

D) Por lo explicado anterioremente deshabilite las asignaciones en los Tipo1 y 3, de la rutina para Borrar Registros.

E) Tipo1 y Tipo3 me compilan, pero no se si estan tirando bien el output (o sea no se si es lo esperado). Fijense antes que nada en los printf que ahora es un unsigned int lo que se imprime y no integer, por lo que si ven un numero raro puede ser por eso. Los dos tests compilan sin warnings salvo el del truncate, pero recuerden que les saque el borrar registro, fix that.

-------------------------------------------
Bueno eso es todo, me tomo un buen rato reordenar esto con los tipos nuevos y lo que yo tenia desde ayer. Ahora voy a ver si puedo dejar mi tipo2 andando como lo habia dejado ayer y lo subo mas tarde. Por ahora solo grabo registros, ayer empeze hacer el borrar registro mio pero quebre (toy enfermo). Calculo que se me va a complicar un toque dado que si borro dos registros consecutivos deberia hacer un merge de esos dos gaps y dejarlo como uno solo en el .DID, pero bueno problema mio, cualquier cosa les pido ayuda.

Saludos, si me necesitan toy en ICQ hasta la noche facil, laburando sobre el TP.
13 files changed:
emufs/Makefile
emufs/did.c
emufs/emufs.c
emufs/emufs.h
emufs/fsc.c
emufs/fsc.h
emufs/idx.c
emufs/idx.h
emufs/tipo1.c
emufs/tipo1_test.c
emufs/tipo2.c [new file with mode: 0644]
emufs/tipo2.h [new file with mode: 0644]
emufs/tipo3_main.c