Hi, my fix compiles, I'm committing ATM.
For your convenience find the replacement for src/plugins/backends/aqofxconnect/plugin/queue.c attached to this mail. Regards Martin -- "Things are only impossible until they're not" AqBanking - http://www.aquamaniac.de/aqbanking/ LibChipcard - http://www.libchipcard.de/
/*************************************************************************** $RCSfile: queues.c,v $ ------------------- cvs : $Id: queues.c,v 1.3 2006/03/25 17:31:49 aquamaniac Exp $ begin : Mon Mar 01 2004 copyright : (C) 2004 by Martin Preuss email : [EMAIL PROTECTED] *************************************************************************** * Please see toplevel file COPYING for license details * ***************************************************************************/ #ifdef HAVE_CONFIG_H # include <config.h> #endif #include "queues_p.h" #include <gwenhywfar/debug.h> #include <gwenhywfar/misc.h> #include <gwenhywfar/text.h> #include <stdlib.h> #include <assert.h> #include <string.h> GWEN_LIST_FUNCTIONS(AO_USERQUEUE, AO_UserQueue) AO_USERQUEUE *AO_UserQueue_new(AB_USER *u) { AO_USERQUEUE *uq; assert(u); GWEN_NEW_OBJECT(AO_USERQUEUE, uq); GWEN_LIST_INIT(AO_USERQUEUE, uq); uq->user=u; uq->jobs=AB_Job_List2_new(); return uq; } void AO_UserQueue_free(AO_USERQUEUE *uq) { if (uq) { GWEN_LIST_FINI(AO_USERQUEUE, uq); AB_Job_List2_free(uq->jobs); GWEN_FREE_OBJECT(uq); } } AB_USER *AO_UserQueue_GetUser(const AO_USERQUEUE *uq){ assert(uq); return uq->user; } AB_JOB_LIST2 *AO_UserQueue_GetJobs(const AO_USERQUEUE *uq){ assert(uq); return uq->jobs; } void AO_UserQueue_AddJob(AO_USERQUEUE *uq, AB_JOB *bj){ assert(uq); assert(bj); AB_Job_List2_PushBack(uq->jobs, bj); } AO_QUEUE *AO_Queue_new() { AO_QUEUE *q; GWEN_NEW_OBJECT(AO_QUEUE, q); q->userQueues=AO_UserQueue_List_new(); return q; } void AO_Queue_free(AO_QUEUE *q) { if (q) { AO_UserQueue_List_free(q->userQueues); GWEN_FREE_OBJECT(q); } } AO_USERQUEUE *AO_Queue_FindUserQueue(AO_QUEUE *q, const AB_USER *u) { AO_USERQUEUE *uq; uq=AO_UserQueue_List_First(q->userQueues); while(uq) { if (AO_UserQueue_GetUser(uq)==u) break; uq=AO_UserQueue_List_Next(uq); } return uq; } AO_USERQUEUE *AO_Queue_GetUserQueue(AO_QUEUE *q, AB_USER *u) { AO_USERQUEUE *uq; assert(q); assert(u); uq=AO_Queue_FindUserQueue(q, u); if (!uq) { uq=AO_UserQueue_new(u); AO_UserQueue_List_Add(uq, q->userQueues); } return uq; } AO_USERQUEUE *AO_Queue_FirstUserQueue(AO_QUEUE *q) { assert(q); return AO_UserQueue_List_First(q->userQueues); } void AO_Queue_AddJob(AO_QUEUE *q, AB_USER *u, AB_JOB *bj) { AO_USERQUEUE *uq; assert(q); assert(u); assert(bj); uq=AO_Queue_GetUserQueue(q, u); assert(uq); AO_UserQueue_AddJob(uq, bj); } void AO_Queue_Clear(AO_QUEUE *q) { assert(q); AO_UserQueue_List_Clear(q->userQueues); }