]> git.llucax.com Git - z.facultad/75.06/emufs.git/blobdiff - emufs/tipo2.c
* BUGFIX : cuando se recreaba con otro formato el archivo de
[z.facultad/75.06/emufs.git] / emufs / tipo2.c
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 */
        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);
 
                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 */
        } 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);
                
                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);
                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)
 {
 /* 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 name_f[255];
-    char *dummyfill;
+       char *dummyfill;
        char *ptr_cur;
        unsigned long fill_size,byte_count;
        
        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");
 
        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);
        
        /* 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;
        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);
        fseek(f_data,reg_pos,SEEK_SET);
        fwrite(dummyfill,fill_size,1,f_data);
        fclose(f_data);