X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/blobdiff_plain/32feb1e82b00d6c1ad3f5aa6884d003a665ea975..e12f7e6ef14af28c89e08f570e24c61493558731:/emufs/did.c?ds=inline diff --git a/emufs/did.c b/emufs/did.c index 0c7c10a..556f07b 100644 --- a/emufs/did.c +++ b/emufs/did.c @@ -37,8 +37,10 @@ */ #include "did.h" -#include +#include "error.h" #include +#include +#include int emufs_did_crear(EMUFS* efs) { @@ -58,13 +60,13 @@ EMUFS_REG_ID emufs_did_get_last(EMUFS *efs, int* err) if ((f_did = fopen(name_f_did, "rb")) == NULL) { PERR("No se puede abrir archivo"); - *err = 4; /* EMUFS_ERROR_CANT_OPEN_FILE */ + *err = EMUFS_ERROR_CANT_OPEN_FILE; return EMUFS_NOT_FOUND; } if (fseek(f_did, 0l, SEEK_END)) { PERR("No se pudo hacer fseek()"); fclose(f_did); - *err = 8; /* EMUFS_ERROR_SEEK_FILE */ + *err = EMUFS_ERROR_SEEK_FILE; return EMUFS_NOT_FOUND; } @@ -73,35 +75,35 @@ EMUFS_REG_ID emufs_did_get_last(EMUFS *efs, int* err) if (fseek(f_did, -sizeof(EMUFS_REG_ID), SEEK_END)) { PERR("No se pudo hacer fseek()"); fclose(f_did); - *err = 8; /* EMUFS_ERROR_SEEK_FILE */ + *err = EMUFS_ERROR_SEEK_FILE; return EMUFS_NOT_FOUND; } /* leo el ultimo numero */ if (fread(&n_regid, sizeof(EMUFS_REG_ID), 1, f_did) != 1) { fclose(f_did); PERR("Error al leer did"); - *err = 3; /* EMUFS_ERROR_FILE_READ */ - return NULL; + *err = EMUFS_ERROR_FILE_READ; + return EMUFS_NOT_FOUND; } /* voy al final */ if (fseek(f_did, 0l, SEEK_END)) { PERR("No se pudo hacer fseek()"); fclose(f_did); - *err = 8; /* EMUFS_ERROR_SEEK_FILE */ + *err = EMUFS_ERROR_SEEK_FILE; return EMUFS_NOT_FOUND; } /* mido el tamaƱo del archivo */ if ((n_offset = ftell(f_did)) == -1) { PERR("No se pudo hacer ftell()"); fclose(f_did); - *err = 9; /* EMUFS_ERROR_TELL_FILE */ + *err = EMUFS_ERROR_TELL_FILE; return EMUFS_NOT_FOUND; } fclose(f_did); /* lo trunco */ if (truncate(name_f_did, n_offset - sizeof(EMUFS_REG_ID))) { PERR("No se pudo truncar el archivo did"); - *err = 10; /* EMUFS_ERROR_TRUNCATE_FILE */ + *err = EMUFS_ERROR_TRUNCATE_FILE; return EMUFS_NOT_FOUND; } } else if (!pos) { @@ -111,7 +113,7 @@ EMUFS_REG_ID emufs_did_get_last(EMUFS *efs, int* err) } else { PERR("No se pudo hacer ftell()"); fclose(f_did); - *err = 9; /* EMUFS_ERROR_TELL_FILE */ + *err = EMUFS_ERROR_TELL_FILE; return EMUFS_NOT_FOUND; } return n_regid;