]> git.llucax.com Git - z.facultad/75.06/emufs.git/commitdiff
- Uso tipos EMUFS_XXX en los nuevos emufs_idx_xxx().
authorLeandro Lucarella <llucax@gmail.com>
Sun, 11 Apr 2004 15:42:31 +0000 (15:42 +0000)
committerLeandro Lucarella <llucax@gmail.com>
Sun, 11 Apr 2004 15:42:31 +0000 (15:42 +0000)
- Vuelvo a agregar chequeo de error sobre emufs_did_get_last().
- Agrego algunas 'b' al fopen() para compatibilidad ANSI.
- Saco (*err) = 0; en funciones (para la polĂ©mica). Inicializo variable error en
  la GUI para que ande.
Ricky, el ultimo punto es para que veas como habia pensado yo lo de los errores.
Si sigue sin convencerte, lo dejamos como vos queres, no tengo ganas de seguir
peleando por esta boludez.

emufs/idx.c
emufs/idx.h
emufs_gui/articulos.c
emufs_gui/facturas.c

index 6db15a33073b1e768fca12ab6c0194e6f6a3a740..f5b15620e25db386fb62de583fdf973b1bdd26b6 100644 (file)
@@ -78,7 +78,6 @@ EMUFS_REG_ID emufs_idx_buscar_mayor_id_libre(EMUFS* emu, int* err)
        strcpy(name_f_idx, emu->nombre);
        strcat(name_f_idx, EMUFS_IDX_EXT);
 
-       (*err) = 0;
        if ((f_idx = fopen(name_f_idx, "rb")) == NULL) {
                PERR("No se puede abrir archivo");
                *err = 4; /* EMUFS_ERROR_CANT_OPEN_FILE */
@@ -210,9 +209,12 @@ EMUFS_REG_ID emufs_idx_get_new_id(EMUFS* efs, int* err)
 {
        EMUFS_REG_ID id;
 
-       (*err) = 0;
        id = emufs_did_get_last(efs, err);
        if (id == EMUFS_NOT_FOUND) {
+               if (*err) {
+                       PERR("error al obtener ultimo id");
+                       return id;
+               }
                id = emufs_idx_buscar_mayor_id_libre(efs, err);
                if (*err) {
                        PERR("error al obtener id mayor");
@@ -222,26 +224,26 @@ EMUFS_REG_ID emufs_idx_get_new_id(EMUFS* efs, int* err)
        return id;      
 }
 
-unsigned int emufs_idx_get_count(EMUFS *emu)
+EMUFS_REG_ID emufs_idx_get_count(EMUFS *emu)
 {
        FILE *fp;
        char name_f_idx[255];
-       long tam;
+       EMUFS_REG_ID tam;
        
        strcpy(name_f_idx,emu->nombre);
        strcat(name_f_idx, EMUFS_IDX_EXT);
 
-       fp = fopen(name_f_idx, "r");
+       fp = fopen(name_f_idx, "rb");
        if (fp == NULL) return 0;
 
-       fseek(fp, 0, SEEK_END);
+       fseek(fp, 0l, SEEK_END);
        tam = ftell(fp);
        fclose(fp);
 
        return tam/sizeof(EMUFS_IDX);
 }
 
-unsigned long emufs_idx_get_id_at(EMUFS *emu, unsigned int pos)
+EMUFS_REG_ID emufs_idx_get_id_at(EMUFS *emu, long pos)
 {
        FILE *fp;
        char name_f_idx[255];
@@ -250,7 +252,7 @@ unsigned long emufs_idx_get_id_at(EMUFS *emu, unsigned int pos)
        strcpy(name_f_idx,emu->nombre);
        strcat(name_f_idx, EMUFS_IDX_EXT);
 
-       fp = fopen(name_f_idx, "r");
+       fp = fopen(name_f_idx, "rb");
        if (fp == NULL) return EMUFS_NOT_FOUND;
 
        fseek(fp, pos*sizeof(EMUFS_IDX), SEEK_SET);
index fea4f3a10985a7cf875582d8cbb8dee5939c1b01..605bf1b01d7b8a37e29db66ba8e2f237ca36b4c0 100644 (file)
@@ -45,8 +45,8 @@
 #define EMUFS_IDX_EXT ".idx"
 
 typedef struct emufs_idx_t {
-       unsigned long int id_reg;
-       unsigned long int location;
+       EMUFS_REG_ID id_reg;
+       EMUFS_BLOCK_ID location;
 } EMUFS_IDX;
 
 FILE* emufs_idx_abrir(EMUFS*, const char*);
@@ -61,9 +61,9 @@ int emufs_idx_agregar(EMUFS*, EMUFS_BLOCK_ID, EMUFS_REG_ID);
 
 int emufs_idx_borrar(EMUFS*, EMUFS_REG_ID);
 
-unsigned int emufs_idx_get_count(EMUFS *);
+EMUFS_REG_ID emufs_idx_get_count(EMUFS *);
 
-unsigned long emufs_idx_get_id_at(EMUFS *, unsigned int pos);
+EMUFS_REG_ID emufs_idx_get_id_at(EMUFS *, long pos);
 
 EMUFS_REG_ID emufs_idx_get_new_id(EMUFS*, int*);
 
index 4899ab309165dd607401c8ec3ed3248b86a4b05c..26ed7fd9f4d408c4de57aeddec106954c0baf59e 100644 (file)
@@ -13,7 +13,7 @@ t_LstArticulos *art_cargar(const char *filename)
 {
        xmlDocPtr document;
        xmlNode *node, *inicio;
-       int cant, size, error, i, id;
+       int cant, size, error = 0, i, id;
        void *save;
        t_LstArticulos *tmp;
        lst_articulos = NULL;
@@ -126,7 +126,7 @@ t_Articulo *art_obtener(t_LstArticulos *lst, const char *numero)
        /* FIXME : NO ME GUSTA :-/ */
        t_Articulo *art;
        void *tmp;
-       int i,error;
+       int i, error = 0;
        EMUFS_REG_SIZE size;
        int n = atoi(numero);
 
@@ -243,7 +243,7 @@ void art_agregar(char *s)
        t_Form *form;
        t_Articulo art;
        void *save;
-       int error, size, existe, i;
+       int error = 0, size, existe, i;
 
        win = newwin(8, COLS-2, 13, 1);
        box(win, 0, 0);
index 7114dce39fc140aab5f2d57a140eb2b4c7b1a037..a27ba729cdf29f7cf9b576afe6020d06bc9375ee 100644 (file)
@@ -12,7 +12,7 @@ static void *procesar_guardar_factura(t_Factura *f, t_LstFacturas *lst, int *siz
 
 t_LstFacturas *fact_cargar(const char *filename)
 {
-       int i, numero, size, error, cant;
+       int i, numero, size, error = 0, cant;
        char *estados[6] = {"PN", "CD", "CM", "CF", "PM", "NC"}; 
        char *fps[6] = {"CO", "CR", "CH"}; 
        void *save;