t_LstFacturas *fact_cargar(const char *filename)
{
- int i, numero, size;
+ int i, numero, size, error, cant;
char *estados[6] = {"PN", "CD", "CM", "CF", "PM", "NC"};
char *fps[6] = {"CO", "CR", "CH"};
void *save;
t_Factura fact;
+ lst_facturas = (t_LstFacturas *)malloc(sizeof(t_LstFacturas));
+
if (filename == NULL) {
+ lst_facturas->fp = emufs_crear("facturas", T3, sizeof(t_Factura)*2, sizeof(t_Factura));
/* Genero las facturas en forma automática */
/* Genero las facturas de fecha Abril 2004 */
srand(time(NULL));
numero = 0;
+ cant = 0;
for(i=0; i<CANT_FACTURAS*0.1; i++) {
/* Entre 10 y 15 ITEMS! */
fact.numero = numero;
/* Guardo */
save = procesar_guardar_factura(&fact, lst_facturas, &size);
if (save != NULL) {
- lst_facturas->fp->grabar_registro(lst_facturas->fp, save, size);
+ lst_facturas->array[cant].numero = numero;
+ lst_facturas->array[cant].num_reg = lst_facturas->fp->grabar_registro(lst_facturas->fp, save, size, &error);
}
}
+ lst_facturas->cant = cant;
} else {
/* Cargo un archivo existente */
}
i[6] = sizeof(float);
i[7] = sizeof(char)*(strlen(f->ctacte)+1); /* +1 por el \0 para separar */
i[8] = sizeof(char)*(strlen(f->cheque)+1); /* +1 por el \0 para separar */
- tmp = (char *)malloc(i[0]+i[1]+i[2]+i[3]+i[4]+i[5]+i[6]+i[7]+i[8]);
+ (*size) = i[0]+i[1]+i[2]+i[3]+i[4]+i[5]+i[6]+i[7]+i[8];
+ tmp = (char *)malloc(*size);
if (tmp == NULL) return NULL;
/* Ahora copio la info */
memcpy(tmp, &f->numero, i[0]);