]> git.llucax.com Git - z.facultad/75.06/emufs.git/blobdiff - emufs/tipo1_main.c
Agrego uso de indices primarios para grabra y recuperar en tipo1 y tipo2
[z.facultad/75.06/emufs.git] / emufs / tipo1_main.c
index cc268abee84b8ebfab1aaf77e315b55bdaade93a..ebeb376c84d3c98ba0021eb31e3b7aacaf7892c7 100644 (file)
@@ -35,6 +35,7 @@
 #include "emufs.h"
 
 int main(int argc, char* argv[]) {
+#ifdef LA_PALOMA_MENSAJERA
        EMUFS* efs;
        char reg1[] = "Hola mundo";
        char reg2[] = "Adiós mundo cruel";
@@ -58,33 +59,53 @@ int main(int argc, char* argv[]) {
                return 1;
        }
 
+       /* Lee estadisticas */
+       printf("---------------------------------------------------\n");
+       debug_ver_estadisticas(efs);
+       printf("---------------------------------------------------\n");
+
        /* Graba registros */
-       id1 = efs->grabar_registro(efs, reg1, sizeof(reg1)+1, &err);
+       id1 = efs->grabar_registro(efs, reg1, sizeof(reg1), &err);
        if (err) {
                printf("No se pudo grabar el registro 1 (%d).\n", err);
-               goto error;
+               goto out;
        }
        printf("Se grabó el registro 1 (size: %u) con el id %lu.\n", sizeof(reg1), id1);
 
-       id2 = efs->grabar_registro(efs, reg2, sizeof(reg2)+1, &err);
+       /* Lee estadisticas */
+       printf("---------------------------------------------------\n");
+       debug_ver_estadisticas(efs);
+       printf("---------------------------------------------------\n");
+
+       id2 = efs->grabar_registro(efs, reg2, sizeof(reg2), &err);
        if (err) {
                printf("No se pudo grabar el registro 2 (%d).\n", err);
-               goto error;
+               goto out;
        }
        printf("Se grabó el registro 2 (size: %u) con el id %lu.\n", sizeof(reg2), id2);
 
-       id3 = efs->grabar_registro(efs, reg3, sizeof(reg3)+1, &err);
+       /* Lee estadisticas */
+       printf("---------------------------------------------------\n");
+       debug_ver_estadisticas(efs);
+       printf("---------------------------------------------------\n");
+
+       id3 = efs->grabar_registro(efs, reg3, sizeof(reg3), &err);
        if (err) {
                printf("No se pudo grabar el registro 3 (%d).\n", err);
-               goto error;
+               goto out;
        }
        printf("Se grabó el registro 3 (size: %u) con el id %lu.\n", sizeof(reg3), id3);
 
+       /* Lee estadisticas */
+       printf("---------------------------------------------------\n");
+       debug_ver_estadisticas(efs);
+       printf("---------------------------------------------------\n");
+
        /* Lee registros */
        reg = efs->leer_registro(efs, id1, &size, &err);
        if (err) {
                printf("No se pudo leer el registro 1 (%d).\n", err);
-               goto error;
+               goto out;
        }
        printf("El contenido del registro 1 es: '%s'.\n", reg);
        free(reg);
@@ -92,7 +113,7 @@ int main(int argc, char* argv[]) {
        reg = efs->leer_registro(efs, id2, &size, &err);
        if (err) {
                printf("No se pudo leer el registro 2 (%d).\n", err);
-               goto error;
+               goto out;
        }
        printf("El contenido del registro 2 es: '%s'.\n", reg);
        free(reg);
@@ -100,7 +121,7 @@ int main(int argc, char* argv[]) {
        reg = efs->leer_registro(efs, id3, &size, &err);
        if (err) {
                printf("No se pudo leer el registro 3 (%d).\n", err);
-               goto error;
+               goto out;
        }
        printf("El contenido del registro 3 es: '%s'.\n", reg);
        free(reg);
@@ -108,12 +129,69 @@ int main(int argc, char* argv[]) {
        /* Ve archivos auxiliares */
        printf("\nArchivos auxiliares:\n\n");
        ver_archivo_FS(efs);
+       printf("\n--------------------------------------------------\n\n");
 
-       emufs_destruir(efs);
-       return 0;
+       /* Borra registro */
+       err = efs->borrar_registro(efs, id2);
+       if (err) {
+               printf("No se pudo borrar el registro 2 (%d).\n", err);
+               goto out;
+       }
+       printf("Registro 2 (id = %lu) borrado!.\n", id2);
 
-error:
-       emufs_destruir(efs);
-       return 2;
+       /* Lee estadisticas */
+       printf("---------------------------------------------------\n");
+       debug_ver_estadisticas(efs);
+       printf("---------------------------------------------------\n");
+
+       /* Lee registro 3 (desplazado a izquierda) */
+       reg = efs->leer_registro(efs, id3, &size, &err);
+       if (err) {
+               printf("No se pudo leer el registro 3 (%d).\n", err);
+               goto out;
+       }
+       printf("El contenido del registro 3 es: '%s'.\n", reg);
+       free(reg);
+
+       /* Ve archivos auxiliares */
+       printf("\n--------------------------------------------------\n");
+       printf("Archivos auxiliares:\n\n");
+       ver_archivo_FS(efs);
+
+       /* compacta archivo */
+       printf("\n--------------------------------------------------\n");
+       printf("Compactando archivo.......\n\n");
+       efs->compactar(efs);
+
+       /* Lee estadisticas */
+       printf("---------------------------------------------------\n");
+       debug_ver_estadisticas(efs);
+       printf("---------------------------------------------------\n");
 
+       /* Ve archivos auxiliares */
+       printf("Archivos auxiliares:\n\n");
+       ver_archivo_FS(efs);
+       printf("\n--------------------------------------------------\n");
+
+       /* Lee registros */
+       reg = efs->leer_registro(efs, id1, &size, &err);
+       if (err) {
+               printf("No se pudo leer el registro 1 (%d).\n", err);
+               goto out;
+       }
+       printf("El contenido del registro 1 es: '%s'.\n", reg);
+       free(reg);
+
+       reg = efs->leer_registro(efs, id3, &size, &err);
+       if (err) {
+               printf("No se pudo leer el registro 3 (%d).\n", err);
+               goto out;
+       }
+       printf("El contenido del registro 3 es: '%s'.\n", reg);
+       free(reg);
+
+out:
+       emufs_destruir(efs);
+#endif
+       return 0; /*err;*/
 }