From: Nicolás Dimov Date: Mon, 5 Apr 2004 21:21:54 +0000 (+0000) Subject: se cuelga X-Git-Tag: svn_import_r684~634 X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/commitdiff_plain/1b02a88830b3f4d2bc0e1518cd4c80ac276f7089 se cuelga --- diff --git a/tipo3/emufs.c b/tipo3/emufs.c index 71e9dd0..49cb4b4 100644 --- a/tipo3/emufs.c +++ b/tipo3/emufs.c @@ -1,13 +1,11 @@ - #include "emufs.h" #include "param_cte.h" /* Defino las extenciones que usan cada tipo de archivo */ -#define EXT_TIPO3_ID ".id3" +#define EXT_TIPO3_ID ".idx" #define EXT_TIPO3_DATA ".dat" #define EXT_TIPO3_DISP ".fsc" -#define EXT_TIPO3_IDS ".idc" -#define EXT_TIPO3_EXTRA ".ids" +#define EXT_TIPO3_IDS ".ids" char *str_dup(const char *s) { @@ -67,11 +65,7 @@ EMUFS *emufs_crear(const char *filename, char tipo, unsigned int tam_bloque, uns strcat(name, EXT_TIPO3_IDS); fp = fopen(name, "w"); fclose(fp); - - strcpy(name, filename); - strcat(name, EXT_TIPO3_EXTRA); - fp = fopen(name, "w"); - fclose(fp); + break; default: free(tmp); diff --git a/tipo3/main.c b/tipo3/main.c index 92e4707..c9796c1 100644 --- a/tipo3/main.c +++ b/tipo3/main.c @@ -25,7 +25,7 @@ int main() fp = emufs_crear("articulos", T3, 220, 100); - + n1 = fp->grabar_registro(fp, a, 100); n2 = fp->grabar_registro(fp, c, 100); n3 = fp->grabar_registro(fp, d, 100); diff --git a/tipo3/param_cte.c b/tipo3/param_cte.c index a67db77..a32db33 100644 --- a/tipo3/param_cte.c +++ b/tipo3/param_cte.c @@ -11,7 +11,7 @@ int leer_registro(EMUFS *emu, int ID, void *ptr, unsigned long tam_reg) int block, ID_aux; int iterador = 0; strcpy(name_f_block_reg,emu->nombre); - strcat(name_f_block_reg,".id3"); + strcat(name_f_block_reg,".idx"); if ( (f_block_reg = fopen(name_f_block_reg,"a+")) == NULL ) @@ -80,7 +80,7 @@ int buscar_registro(EMUFS *emu, int ID) BLOCK_REG_T reg; char name_f_block_reg[255]; strcpy(name_f_block_reg,emu->nombre); - strcat(name_f_block_reg,".id3"); + strcat(name_f_block_reg,".idx"); if ( (f_block_reg = fopen(name_f_block_reg,"r")) == NULL) return -1; /*ERROR*/ while ( !feof(f_block_reg) ){ @@ -133,15 +133,14 @@ int grabar_registro(EMUFS *emu, void *ptr, unsigned long tam) strcat(name_f,".dat"); strcpy(name_f_block_reg,emu->nombre); - strcat(name_f_block_reg,".id3"); + strcat(name_f_block_reg,".idx"); strcpy(name_f_id,emu->nombre); - strcat(name_f_id,".idc"); + strcat(name_f_id,".ids"); strcpy(name_f_free,emu->nombre); strcat(name_f_free,".fsc"); - if ( (file = fopen(name_f,"a+"))==NULL ) return -1; /*ERROR*/ /* me devuelve el ID del bloque donde quepa un registro y el espacio libre en "fs"*/ num_bloque = buscar_lugar(emu, tam, &fs); @@ -161,7 +160,6 @@ int grabar_registro(EMUFS *emu, void *ptr, unsigned long tam) fseek(file, 0, SEEK_END); /* grabo el bloque en el final del archivo */ fwrite(bloque,emu->tam_bloque,1,file); - /*actualizo el archivo de espacios libres*/ /*tengo que buscar la cantidad de bloques que existen*/ /*me paro al principio salteando el encabezado del archivo*/ @@ -182,6 +180,7 @@ int grabar_registro(EMUFS *emu, void *ptr, unsigned long tam) /*cargo el bloque en "bloque"*/ bloque = (char*)malloc(emu->tam_bloque); if ( leer_bloque(emu,num_bloque,bloque)== -1) return -1; + /*printf("el bloque existe y tiene esto = %s\n", bloque +sizeof(int)); */ /*El error puede haberse producido porque la funcion leer_bloque devolvio -1, el cual es un bloque invalido*/ /*insertar el registro en el bloque*/ /*tengo que buscar un ID valido para el nuevo registro*/ @@ -289,7 +288,7 @@ int get_id(EMUFS *emu) char name_f_block_reg[255]; strcpy(name_f_block_reg,emu->nombre); - strcat(name_f_block_reg,".id3"); + strcat(name_f_block_reg,".idx"); strcpy(name_f_reg_exist,emu->nombre); strcat(name_f_reg_exist,".ids");