]> git.llucax.com Git - z.facultad/75.06/emufs.git/commitdiff
* Agregue algunos memset para asegurar que la GUI se vea bonita (puede que alguno...
authorRicardo Markiewicz <gazer.arg@gmail.com>
Fri, 16 Apr 2004 10:39:57 +0000 (10:39 +0000)
committerRicardo Markiewicz <gazer.arg@gmail.com>
Fri, 16 Apr 2004 10:39:57 +0000 (10:39 +0000)
 de mas, pero me queria asegurar)

emufs/tipo1.c
emufs/tipo2.c
emufs_gui/articulos.c
emufs_gui/facturas.c

index 42899b3d1e4a4b8cf443ae06c6a38755398a8fc9..f1cc3c92ee820515555bd024c3abe87ea79b6d97 100644 (file)
@@ -229,8 +229,7 @@ void* emufs_tipo1_leer_bloque(EMUFS* efs, EMUFS_BLOCK_ID block_id, int *err)
        return block;
 }
 
-EMUFS_REG_ID emufs_tipo1_grabar_registro(EMUFS* efs, void* reg,
-               EMUFS_REG_SIZE reg_size, int* err)
+EMUFS_REG_ID emufs_tipo1_grabar_registro(EMUFS* efs, void* reg, EMUFS_REG_SIZE reg_size, int* err)
 {
        EMUFS_TIPO1_REG_HEADER reg_header; /* cabecera del registro a guardar */
        EMUFS_FREE             fs; /* espacio libre en el bloque */
@@ -249,8 +248,7 @@ EMUFS_REG_ID emufs_tipo1_grabar_registro(EMUFS* efs, void* reg,
        /* si no hay bloques con suficiente espacio creo un bloque nuevo */
        if (block_id == EMUFS_NOT_FOUND) {
                /* tamaño máximo ultilizable para datos en un bloque */
-               EMUFS_BLOCK_SIZE block_space
-                               = efs->tam_bloque - sizeof(EMUFS_TIPO1_REG_HEADER);
+               EMUFS_BLOCK_SIZE block_space = efs->tam_bloque - sizeof(EMUFS_TIPO1_REG_HEADER);
                /* identificador del bloque que se guarda */
                EMUFS_BLOCK_ID curr_block_id = EMUFS_NOT_FOUND;
                /* tamaño de la porción de registro que se guarda */
@@ -273,11 +271,9 @@ EMUFS_REG_ID emufs_tipo1_grabar_registro(EMUFS* efs, void* reg,
                        reg_header.size -= chunk_size; /* Resto lo que ya guardé */
                        chunk_size = MIN(reg_header.size, block_space);
                        /* graba porción del registro en bloque */
-                       emufs_tipo1_escribir_reg_chunk_en_memoria(block, reg_header,
-                                       chunk_ptr, chunk_size);
+                       emufs_tipo1_escribir_reg_chunk_en_memoria(block, reg_header, chunk_ptr, chunk_size);
                        /* graba el bloque en el archivo */
-                       curr_block_id = emufs_tipo1_grabar_bloque(efs, block,
-                                       EMUFS_NOT_FOUND, err);
+                       curr_block_id = emufs_tipo1_grabar_bloque(efs, block, EMUFS_NOT_FOUND, err);
                        if (*err) {
                                PERR("error al grabar bloque");
                                free(block);
index d424bf08714488107f9bc66a761cee921c49ab9e..2bdb6e95ebeac7a36a839e3ead10b6415de2c002 100644 (file)
@@ -115,7 +115,7 @@ EMUFS_REG_ID emufs_tipo2_grabar_registro(EMUFS *efs, void *ptr, EMUFS_REG_SIZE r
        if (wrt_offset == -1) {                
                
                /* Obtengo un ID libre para el registro y luego grabo a disco */
-        id_reg = emufs_idx_get_new_id(efs, err);
+               id_reg = emufs_idx_get_new_id(efs, err);
                fseek(f_data, 0, SEEK_END);
                reg_offset = ftell(f_data);
 
@@ -131,11 +131,11 @@ EMUFS_REG_ID emufs_tipo2_grabar_registro(EMUFS *efs, void *ptr, EMUFS_REG_SIZE r
        } else {
                
                /* Obtengo un ID libre para el registro y luego grabo en disco */
-        id_reg = emufs_idx_get_new_id(efs, err);
+               id_reg = emufs_idx_get_new_id(efs, err);
                reg_offset = wrt_offset;
                fseek(f_data,reg_offset,0);
                
-        /* Escribo [RegId]|[RegSize]|[RegData] */
+    /* Escribo [RegId]|[RegSize]|[RegData] */
                fwrite(&id_reg,sizeof(EMUFS_REG_ID),1,f_data);
                fwrite(&reg_size,sizeof(EMUFS_REG_SIZE),1,f_data);
                fwrite(ptr,reg_size,1,f_data);
@@ -206,23 +206,24 @@ int emufs_tipo2_get_regsize(EMUFS *efs, EMUFS_OFFSET reg_pos, EMUFS_REG_SIZE *re
 /* Pisa con basura lo que es hasta el momento un reg en el disco para indicar su borrado (Debug Purposes Only) */
 int emufs_tipo2_dummyfill(EMUFS *efs, EMUFS_OFFSET reg_pos, EMUFS_REG_SIZE amount)
 {
-    FILE *f_data;
+       FILE *f_data;
        char name_f[255];
-    char *dummyfill;
+       char *dummyfill;
        char *ptr_cur;
        unsigned long fill_size,byte_count;
        
-    /* Armamos el filename del archivo de datos */
-       strcpy(name_f,efs->nombre);
+       /* Armamos el filename del archivo de datos */
+       strcpy(name_f,efs->nombre);
        strcat(name_f,".dat");
 
-    if ((f_data = fopen(name_f,"rb+")) == NULL) return -1; /* ERROR */
+       if ((f_data = fopen(name_f,"rb+")) == NULL) return -1; /* ERROR */
        
        /* Preparo el garbage y se lo tiro encima */
        fill_size = amount+sizeof(EMUFS_REG_ID)+sizeof(EMUFS_REG_SIZE);
        dummyfill = (char*)malloc(fill_size);
+       memset(dummyfill, 0, fill_size);
        ptr_cur = dummyfill;
-       for (byte_count = 0; byte_count < fill_size; ++byte_count) memcpy(ptr_cur+byte_count,"#",1);
+       for (byte_count = 0; byte_count < fill_size; ++byte_count) memcpy(ptr_cur+byte_count,0,1);
        fseek(f_data,reg_pos,SEEK_SET);
        fwrite(dummyfill,fill_size,1,f_data);
        fclose(f_data);
index defdf7e5c884d7cf7c19591437d1fa07836b80a6..91bb4a757b4466887f51b22c158c262e748897e0 100644 (file)
@@ -463,6 +463,7 @@ void *procesar_guardar_articulo(t_Articulo *src, EMUFS_REG_SIZE *size, t_LstArti
                        (*size) = i[0]+i[1]+i[2]+i[3]+i[4]+i[5];
                        tmp = (char *)malloc((*size));
                        if (tmp == NULL) return NULL;
+                       memset(tmp, 0, *size);
                        memcpy(tmp, &src->numero, i[0]);
                        memcpy(tmp+i[0], src->desc, i[1]);
                        memcpy(tmp+i[0]+i[1], src->presentacion, i[2]);
@@ -475,6 +476,7 @@ void *procesar_guardar_articulo(t_Articulo *src, EMUFS_REG_SIZE *size, t_LstArti
                         * registro se vea bien 
                         */
                        tmp = (char *)malloc(sizeof(t_Articulo));
+                       memset(tmp, '*', sizeof(t_Articulo));
                        memcpy(tmp, from, sizeof(t_Articulo));
                        (*size) = sizeof(t_Articulo);
        }
index a7fbb619d3a62eb256c256c4d7479d18c02a9e8e..9e791cf96f0283e3fd106d3ba4b14c077a3595b6 100644 (file)
@@ -115,10 +115,10 @@ char *leer_nota(xmlNode *node)
        }
 
        if (tmp) {
-               salida = (char *)malloc(sizeof(char)*400); /*(strlen(XML_GET_CONTENT(tmp->children))+1));*/
+               salida = (char *)malloc(sizeof(char)*(strlen(XML_GET_CONTENT(tmp->children))+1));
                strcpy(salida, XML_GET_CONTENT(tmp->children));
        } else {
-               salida = (char *)malloc(sizeof(char)*400);
+               salida = (char *)malloc(sizeof(char));
                salida[0] = '\0';
        }
        return salida;
@@ -170,7 +170,7 @@ t_LstFacturas *fact_cargar(const char *filename, int tipo, int tam_bloque)
                        cant_items = 0;
                }
                tmp->fp = emufs_crear("facturas", tipo-1, tam_bloque, sizeof(t_Factura)-sizeof(char *)-sizeof(t_Item*)+cant_items*sizeof(t_Item));
-               tmp->fp_texto = emufs_crear("notas", 1, 420, 400);
+               tmp->fp_texto = emufs_crear("notas", 1, 100, 0);
                for (node=inicio ; node ; node = node->next) {
                        if (node->type == XML_ELEMENT_NODE) {
                                if (strcmp(node->name, "FACTURA") == 0) {
@@ -195,7 +195,7 @@ t_LstFacturas *fact_cargar(const char *filename, int tipo, int tam_bloque)
                                                error = 0;
                                                id = tmp->fp->grabar_registro(tmp->fp, save, size, &error);
                                                error = 0;
-                                               id_texto = tmp->fp_texto->grabar_registro(tmp->fp_texto, fact.nota, 400, &error);
+                                               id_texto = tmp->fp_texto->grabar_registro(tmp->fp_texto, fact.nota, strlen(fact.nota)+1, &error);
                                                agregar_nodo_factura(tmp, crear_nodo_factura(id, id_texto, fact.numero));
                                                if (fact.items) free(fact.items);
                                                if (fact.nota) free(fact.nota);
@@ -543,6 +543,7 @@ void *procesar_guardar_factura(t_Factura *f, t_LstFacturas *lst, EMUFS_REG_SIZE
                        (*size) = i[0]+i[1]+i[2]+i[3]+i[4]+i[5]+i[6]+i[7]+i[8]+i[9]+i[10];
                        tmp = (char *)malloc(*size);
                        if (tmp == NULL) return NULL;
+                       memset(tmp, 0, *size);
                        /* Ahora copio la info */
                        memcpy(tmp, &f->numero, i[0]);
                        memcpy(tmp, &f->procdoi, i[1]);