]> git.llucax.com Git - z.facultad/75.06/emufs.git/commitdiff
* Bugfix en tipo1 leer_raw que se estaba usando una variable
authorRicardo Markiewicz <gazer.arg@gmail.com>
Fri, 16 Apr 2004 09:56:18 +0000 (09:56 +0000)
committerRicardo Markiewicz <gazer.arg@gmail.com>
Fri, 16 Apr 2004 09:56:18 +0000 (09:56 +0000)
 block_size salida de la galera y sin inicializar. Vuelve a andar
 (falta agregar soporte multiples bloques)

emufs/idx.c
emufs/tipo1.c
emufs_gui/articulos.c
emufs_gui/registros.c

index 8b4f969a922b1c2e3df7e99ad6abdb5a6f266202..18d4722a4af763ba88eab83b877df09e29e62320 100644 (file)
@@ -219,13 +219,11 @@ EMUFS_REG_ID *emufs_idx_get(EMUFS *emu, EMUFS_REG_ID *cant)
                        count++;
                        tmp = realloc(tmp, count);
                        tmp[count-1] = reg.id_reg;
-                       fprintf(stderr, "Nuevo registro de id = %lu\n", reg.id_reg);
                }
        }
        fclose(f_idx);
 
        (*cant) = count;
-       fprintf(stderr, "Mando %d registros\n", count);
        return tmp;
 }
 
index a547479685b238a08539f317cc35188f7bc99086..42899b3d1e4a4b8cf443ae06c6a38755398a8fc9 100644 (file)
@@ -1,4 +1,4 @@
-/* vim: set noexpandtab tabstop=4 shiftwidth=4:
+/* vim: set noexpandtab tabstop=4 shiftwidth=4 wrap:
  *----------------------------------------------------------------------------
  *                                  emufs
  *----------------------------------------------------------------------------
@@ -159,13 +159,11 @@ void* emufs_tipo1_leer_registro(EMUFS* efs, EMUFS_REG_ID reg_id,
        return registro;
 }
 
-void* emufs_tipo1_leer_registro_raw(EMUFS *efs, EMUFS_REG_ID id,
-               EMUFS_REG_SIZE *size, int *pos)
+void* emufs_tipo1_leer_registro_raw(EMUFS *efs, EMUFS_REG_ID id, EMUFS_REG_SIZE *size, int *pos)
 {
        char* block; /* bloque leido (en donde está el registro a leer) */
        EMUFS_BLOCK_ID block_id; /* id del bloque en donde esta el registro a leer */
        EMUFS_BLOCK_SIZE offset; /* offset del bloque leído */
-       EMUFS_BLOCK_SIZE block_size; /* tamaño del bloque leído */
        EMUFS_TIPO1_REG_HEADER curr_reg_header; /* cabecera del registro a leer */
        int err;
 
@@ -173,6 +171,7 @@ void* emufs_tipo1_leer_registro_raw(EMUFS *efs, EMUFS_REG_ID id,
        if (block_id == EMUFS_NOT_FOUND) {
                return NULL;
        }
+       err = 0;
        if (!(block = (char*) emufs_tipo1_leer_bloque(efs, block_id, &err))) {
                return NULL;
        }
@@ -189,9 +188,9 @@ void* emufs_tipo1_leer_registro_raw(EMUFS *efs, EMUFS_REG_ID id,
                }
                /* Desplazo el offset */
                offset += curr_reg_header.size;
-       } while (offset < block_size);
+       } while (offset < efs->tam_bloque);
 
-       (*size) = block_size;
+       (*size) = efs->tam_bloque;
        return block;
 }
 
index 1aad096f94cf622fb11dcecd0db8f70a85677028..f7b9fd9a23553e816f1b13e30c89d40d04c23a43 100644 (file)
@@ -495,8 +495,6 @@ void art_reformatear(int tipo, int tam_bloque, int tam_reg)
        /* Si el tipo es el mismo, no tengo que hacer nada! */
        if (old->tipo == tipo) return;
 
-       fprintf(stderr, "Me prepado para cambiar de archivo\n");
-
        /* Creo el nuevo file */
        nuevo = emufs_crear("emufs_tmp", tipo, tam_bloque, sizeof(t_Articulo));
        if (nuevo == NULL) {
@@ -512,28 +510,21 @@ void art_reformatear(int tipo, int tam_bloque, int tam_reg)
        /* Leo los indices del archivo viejo */
        indices = emufs_idx_get(old, &indices_total);
        if (indices == NULL) {
-               fprintf(stderr, "NO HAY INDICES!\n");
                art_liberar(lst_nueva);
                return;
        }
 
        for(i=0; i<indices_total; i++) {
-               fprintf(stderr, "Registro %lu de %lu\n", i, indices_total);
-               fprintf(stderr, "A leer : %lu\n", indices[i]);
-
+               fprintf(stderr, "A procesar %lu de %lu\n",i, indices_total);
                error = 0;
                save = old->leer_registro(old, indices[i], &size, &error);
-               fprintf(stderr, "Lei\n");
                if (procesar_leer_articulo(&art, save, size, lst_articulos) == 1) {
-                       fprintf(stderr, "Procese\n");
                        free(save);
                        /* Lei un registro Ok. Lo salvo en el archivo nuevo */
                        save = procesar_guardar_articulo(&art, &size, lst_nueva);
-                       fprintf(stderr, "Procese guardar\n");
                        if (save) {
                                error = 0;
                                id = nuevo->grabar_registro(nuevo, save, size, &error);
-                               fprintf(stderr, "Guarde\n");
                                agregar_nodo_articulo(lst_nueva, crear_nodo_articulo(id, art.numero));
                                free(save);
                        }
@@ -549,9 +540,9 @@ void art_reformatear(int tipo, int tam_bloque, int tam_reg)
        fprintf(stderr, "Listo. Renombre y me voy\n");
        /* Muevo los archivos! */
        /* TODO : Poner en otro lugar mas generico! */
-/*     rename("emufs_tmp.dat", "articulos.dat");
+       rename("emufs_tmp.dat", "articulos.dat");
        rename("emufs_tmp.idx", "articulos.idx");
        rename("emufs_tmp.fsc", "articulos.fsc");
-       rename("emufs_tmp.did", "articulos.did");*/
+       rename("emufs_tmp.did", "articulos.did");
 }
 
index a94b4be63e02c432d41c83e7d9cca5dc6abf7e8f..2dde456b1a7f12c4a65d18a82784444ea0c4f919 100644 (file)
@@ -321,6 +321,7 @@ char *procesar_registro_articulo_tipo1(EMUFS *emu, char *ptr, EMUFS_REG_SIZE *si
        /* Cuento la cantidad de registros en este bloque */
        cant_header = 0;
        offset = 0;
+       fprintf(stderr, "Tam = %lu\n", *size);
        do {
                /* Me salto el ID, que no me interesa saber su valor */
                offset += sizeof(EMUFS_REG_ID);