Neil, Just a quick remark in between -- please please please follow Derek's advice and do NOT keep your data in static storage!
Am Sonntag, 5. Dezember 2004 17:06 schrieb Derek Atkins: > >> You really need to have a "merge context" that gets created when you > >> initialize the merge process and contains all the state of the merge. > > > > Can that be global or does it have to be passed to and fro with every > > single function? Do I have to return a qof_book_mergeData* from Init, > > pass it to qof_book_mergeUpdateResult and redefine the entire > > qof_book_mergeRuleForeachCB callback then pass mergeData back to Commit? > > It needs to be passed to and fro with every function. So, yes, that's > what you need to do. Absolutely. I totally agree with Derek here. If you have some context in your operation, you should absolutely keep it in a separate structure, of which a pointer will need to be passed to and from with every function. That's how things work in C. In e.g. C++, you would hold your functions inside an object, which internally means just that -- every function gets passed the "this" pointer, which is the structure that keeps the context. This way, there is no internal problem if at any point in the future someone wants to use your code for multiple parallel application sessions, just as Derek pointed out. Christian _______________________________________________ gnucash-devel mailing list [EMAIL PROTECTED] https://lists.gnucash.org/mailman/listinfo/gnucash-devel
