]> git.llucax.com Git - z.facultad/75.06/emufs.git/commitdiff
* BUGFIX : en tipo3 cuando pedia lugar estaba faltando agregar sizeof(EMUFS_REG_ID)
authorRicardo Markiewicz <gazer.arg@gmail.com>
Sun, 11 Apr 2004 04:07:37 +0000 (04:07 +0000)
committerRicardo Markiewicz <gazer.arg@gmail.com>
Sun, 11 Apr 2004 04:07:37 +0000 (04:07 +0000)
 * CodeClean : se limpia un poco algunas cosas, se ajusta coding style.

emufs/did.c
emufs/fsc.c
emufs/idx.c
emufs/tipo3.c
emufs_gui/facturas.c

index e07fa82e05ed52fdc8476d0d7353f5364a459fcc..2a071a6f443ce7d2ea0b84041377fa1b32197360 100644 (file)
@@ -73,7 +73,7 @@ EMUFS_REG_ID emufs_did_get_last(EMUFS *efs)
        } else {
                fclose(f_did);
                /* si el archivo esta vacio */
-               n_regid = -1;
+               n_regid = EMUFS_NOT_FOUND;
        }
        return n_regid;
 }
index a94a2f1ecfde3b1399f3b135e23a427e3213ccb3..d9b26bb2af1bcc9bfb1c5979aeb7810549e05df7 100644 (file)
@@ -205,31 +205,34 @@ int emufs_fsc_actualizar(EMUFS *emu, EMUFS_BLOCK_ID n_marker, EMUFS_FREE n_frees
 }
 
 /* Me devuelve el ID del bloque u Offset del Gap donde quepa un registro, y guarda en n_freespace el espacio libre actualizado */
-EMUFS_BLOCK_ID emufs_fsc_buscar_lugar(EMUFS *emu, EMUFS_FREE n_RegSize, EMUFS_FREE *n_freespace)
+EMUFS_BLOCK_ID emufs_fsc_buscar_lugar(EMUFS *emu, EMUFS_FREE regsize, EMUFS_FREE *freespace)
 {
        FILE *f_fsc;
        EMUFS_FSC reg;
        char name_f_fsc[255];
-       unsigned short int b_Found = 0;
+       char found = 0;
        
        strcpy(name_f_fsc,emu->nombre);
        strcat(name_f_fsc, EMUFS_FSC_EXT);
 
-       if ( (f_fsc = fopen(name_f_fsc,"r"))==NULL ) return -1;
+       if ( (f_fsc = fopen(name_f_fsc,"r"))==NULL ) return EMUFS_NOT_FOUND;
 
        /* Inicializamos la estructura para devolver algun valor en concreto */
        /* en caso de que no se halle un espacio libre apropiado */
-       while(!feof(f_fsc) && !b_Found){
+       while(!feof(f_fsc)){
                if (fread(&reg,sizeof(EMUFS_FSC),1,f_fsc) != 1) continue;
-               if (reg.n_freespace >= n_RegSize) b_Found = 1;
+               if (reg.n_freespace >= regsize) {
+                       found = 1;
+                       break;
+               }
        }
        
        /* Si salio por error o por fin de archivo y no encontro space... */
-       if (!b_Found) {
-         reg.n_marker = -1;
-         *n_freespace = emu->tam_bloque; 
+       if (!found) {
+         reg.n_marker = EMUFS_NOT_FOUND;
+         *freespace = emu->tam_bloque; 
        }
-       else *n_freespace = reg.n_freespace;
+       else *freespace = reg.n_freespace;
        
        fclose(f_fsc);
        return reg.n_marker;
index c8babf42e0cb531f248bc6fdd553240b54d1c173..9ae481a3f01414ccfb8e540d1be52111326bb199 100644 (file)
@@ -68,28 +68,27 @@ int emufs_idx_crear(EMUFS *efs)
 /* Devuelve el mayor id de registro utilizado so far en el archivo de datos, revisando el indice. */
 EMUFS_REG_ID emufs_idx_buscar_mayor_id(EMUFS *emu)
 {
-       EMUFS_REG_ID n_idreg, max = 0;
+       EMUFS_REG_ID max = 0;
        FILE *f_idx;    
        EMUFS_IDX reg;
        char name_f_idx[255]; /* TODO usar malloc para no limitar el tamaño de nombre de archivo */
-       unsigned short int b_found = 0;
+       char found = 0;
 
        strcpy(name_f_idx,emu->nombre);
        strcat(name_f_idx, EMUFS_IDX_EXT);
 
        if ( (f_idx = fopen(name_f_idx,"r")) == NULL) return -1; /*ERROR*/
-       n_idreg = -1;
        while ( !feof(f_idx) ){
                /* Me aseguro de leer la cantidad de bytes correcta */
                if (fread(&reg,sizeof(EMUFS_IDX),1,f_idx) != 1) continue;
-               if ( reg.n_idreg >= max ) {
+               if (reg.n_idreg >= max) {
                        max = reg.n_idreg;
-                       b_found = 1;
+                       found = 1;
                }
        }
        fclose(f_idx);
        
-       if (!b_found)
+       if (!found)
                return (0);
        else
                return(max+1);
@@ -179,8 +178,8 @@ int emufs_idx_borrar(EMUFS *emu, EMUFS_REG_ID n_IdReg)
        /*leo todos los que quedan*/
        fseek(f_idx,final,SEEK_SET);
        fread(buffer,sizeof(EMUFS_IDX),cant-1,f_idx) ;
-       for( i=0; i<cant-1; i ++)
-               printf("buffer[%d] = %ld , %d\n",i,*(buffer+i),*(buffer+2*i));
+/*     for( i=0; i<cant-1; i ++)
+               printf("buffer[%ld] = %ld , %ld\n",i,*(buffer+i),*(buffer+2*i));*/
        /*apunto al lugar donde deben ser guardados*/
        fseek(f_idx,actual,SEEK_SET);
        printf(" actual  = %ld\n",actual);
index 721d9ef9774c1a5453323e92fb2966ace839ff9f..26ae4267ded0c0b7aa452c0c9b4396a0809f8fe9 100644 (file)
@@ -131,7 +131,7 @@ EMUFS_REG_ID emufs_tipo3_grabar_registro(EMUFS *emu, void *ptr, EMUFS_REG_SIZE t
        strcat(name_f,".dat");
        
        /* me devuelve el ID del bloque donde quepa un registro y el espacio libre en "fs"*/
-       num_bloque = emufs_fsc_buscar_lugar(emu, emu->tam_reg, &fs);
+       num_bloque = emufs_fsc_buscar_lugar(emu, emu->tam_reg+sizeof(EMUFS_REG_ID), &fs);
        /*si no hay bloques con suficiente espacio creo un bloque nuevo */
        if (num_bloque == -1) {
                if ( (file = fopen(name_f,"a+"))==NULL ) return -1; /*ERROR*/
@@ -202,7 +202,7 @@ EMUFS_REG_ID emufs_tipo3_get_id(EMUFS *emu)
 {
        EMUFS_REG_ID id;
 
-       if ( (id = emufs_did_get_last(emu)) == -1 )
+       if ( (id = emufs_did_get_last(emu)) == EMUFS_NOT_FOUND )
                id = emufs_idx_buscar_mayor_id(emu);
        return id;      
 }
index f49a3f08e41bc7c94707123ee20df28822716228..68ffe06cbc78af0a0d08910edb1b83369aeb1e8d 100644 (file)
@@ -8,7 +8,7 @@ static int al_azar(int min, int max);
 static void *procesar_guardar_factura(t_Factura *f, t_LstFacturas *lst, int *size);
 
 /* es por cada mes a generar */
-#define CANT_FACTURAS 500
+#define CANT_FACTURAS 1500
 
 t_LstFacturas *fact_cargar(const char *filename)
 {
@@ -21,13 +21,13 @@ t_LstFacturas *fact_cargar(const char *filename)
        lst_facturas = (t_LstFacturas *)malloc(sizeof(t_LstFacturas));
 
        if (filename != NULL) {
-               lst_facturas->fp = emufs_crear("facturas", T3, sizeof(t_Factura)*20+100, sizeof(t_Factura));
+               lst_facturas->fp = emufs_crear("facturas", T3, sizeof(t_Factura)*20, sizeof(t_Factura));
                /* Genero las facturas en forma automática */
                /* Genero las facturas de fecha Abril 2004 */
                srand(time(NULL));
                numero = 0;
                cant = 0;
-               for(i=0; i<CANT_FACTURAS*0.1; i++) {
+               for(i=0; i<CANT_FACTURAS; i++) {
                        /* Entre 10 y 15 ITEMS! */
                        fact.numero = numero;
                        sprintf(fact.emision, "200404%02d", al_azar(1, 30));