]> git.llucax.com Git - z.facultad/75.06/emufs.git/blobdiff - emufs/tipo2.c
* bugfixes
[z.facultad/75.06/emufs.git] / emufs / tipo2.c
index e0c3aba849b9c3d33031bf6596f76347fb53089c..1858c75f30b12b4e75152d486aa9387f1aa7c19e 100644 (file)
@@ -478,12 +478,12 @@ void* emufs_tipo2_leer_registro_raw(EMUFS *efs, EMUFS_REG_ID id, EMUFS_REG_SIZE
        fseek(f_data,reg_offset+sizeof(EMUFS_REG_ID), SEEK_SET);
        fread(size,sizeof(EMUFS_REG_SIZE),1,f_data);
        registro = (char*)malloc(*size+sizeof(EMUFS_REG_ID)+sizeof(EMUFS_REG_SIZE)+100);
        fseek(f_data,reg_offset+sizeof(EMUFS_REG_ID), SEEK_SET);
        fread(size,sizeof(EMUFS_REG_SIZE),1,f_data);
        registro = (char*)malloc(*size+sizeof(EMUFS_REG_ID)+sizeof(EMUFS_REG_SIZE)+100);
-       if (reg_offset > 50) {
+       if (reg_offset >= 50) {
                fseek(f_data, reg_offset - 50, SEEK_SET);
                (*pos) = 50;
        } else {
                /* Si no hay 50 antes mio, estoy cerca del 0! */
                fseek(f_data, reg_offset - 50, SEEK_SET);
                (*pos) = 50;
        } else {
                /* Si no hay 50 antes mio, estoy cerca del 0! */
-               (*pos) = 50 - reg_offset;
+               (*pos) = reg_offset;
                fseek(f_data, 0, SEEK_SET);
        }
        (*size) += sizeof(EMUFS_REG_ID)+sizeof(EMUFS_REG_SIZE)+100;
                fseek(f_data, 0, SEEK_SET);
        }
        (*size) += sizeof(EMUFS_REG_ID)+sizeof(EMUFS_REG_SIZE)+100;