static void *procesar_guardar_factura(t_Factura *f, t_LstFacturas *lst, int *size);
static t_Reg_Factura *crear_nodo_factura(EMUFS_REG_ID reg, EMUFS_REG_ID texto, unsigned int num);
static int agregar_nodo_factura(t_LstFacturas *lst, t_Reg_Factura *nodo);
+int eliminar_nodo_factura(t_LstFacturas *lst, t_Reg_Factura *nodo);
+
+int eliminar_nodo_factura(t_LstFacturas *lst, t_Reg_Factura *nodo)
+{
+ if (nodo == NULL) return 0;
+ if (nodo->ant == NULL) {
+ /* Me piden borrar el primer nodo */
+ if (nodo->sig) {
+ nodo->sig->ant = NULL;
+ }
+ lst->primero = nodo->sig;
+ } else {
+ if (nodo->sig) {
+ nodo->sig->ant = nodo->ant;
+ }
+ nodo->ant->sig = nodo->sig;
+ }
+ free(nodo);
+ return 1;
+}
t_Reg_Factura *crear_nodo_factura(EMUFS_REG_ID reg, EMUFS_REG_ID texto, unsigned int num)
{
EMUFS_REG_ID id;
lst_facturas = (t_LstFacturas *)malloc(sizeof(t_LstFacturas));
+ lst_facturas->primero = NULL;
if (filename != NULL) {
lst_facturas->fp = emufs_crear("facturas", T3, sizeof(t_Factura)*20, sizeof(t_Factura));