Revert Linas' broken changes to qof.

Derek Atkins warlord at MIT.EDU
Mon Apr 19 11:43:22 EDT 2004


linas at linas.org (Linas Vepstas) writes:

>> Perhaps I did a disservice by overloading getters that return other
>> objects with getters that return parameter data?
>
> No, the only problem was of passing around function pointers without
> also passing around a user-defined data pointer.

Hmm, I guess I didn't see why that would be an issue, as the 'user
defined' pointer could be part of the object itself.  OTOH I designed
it for GnuCash -- I'm not sure how other things would use it or where
the extra parameter definition is useful (especially since you're just
passing in the parameter specified by the object definition, which
isn't user-defined at all!).

>> Could you perhaps explain why you need to pass the QofParam into the
>> getter function?  Are you trying to overload getters so you only need
>> to implement one function capable of returning multiple parameters?
>
> Yes, more-or-less.  I really had wanted 'lambda'.

Lambda doesn't perform argument checking ;)

I'd much rather have compile-time argument checking than runtime
argument blowout.

>> Well, checking in non-working code that doesn't build is generally a
>
> Well, it did work for me :-) It even passed 'make check'.  
> I even found & fixed a null pointer deref when testing with gnucash.
> Just blew up a late-night half-asleep doing-three-things-at-once checkin.
> Please don't lecture me, I know what I'm doing. 

Honestly, I have no idea how, unless you --disable-error-on-warning.
It failed for Herbert.  It failed for me.  So, unless you diable that
check (which you shouldn't) then I see NO WAY that it could have ever
built.  Certainly not the code you committed.

Also, I have no belief that "make check" worked for you in GnuCash
HEAD.  It fails for me in src/engine:

** CRITICAL **: Error: xaccLotScrubDoubleBalance(): Closed lot fails to double-balance !!

aborting...
FAIL: test-lots

and it's been failing like this for some time.  So I disbelieve you're
actually succeeding with a "make check" in a current GnuCash HEAD
context.

>> you're done.  I'm certainly considering this approach when I go heads
>> down into the move from XML->SQL as the default "file" format.
>
> Uhh, everything I'm doing right now is to get to that goal.  I'm
> taking my time because I want to do it in an architecturally pure
> fashion that is acceptable to other projects as well, not just gnucash.
> So hang on just a bit longer.

Yep.  I've got at least one other largish project to finish before I
want to look into the SQL code.  Matthew finally sent me the snapshot
he's been working on, but it's still a bit further down my todo list.
First I want to finish the generic druid and qif-import code.  Based
on my current level of forward progress that will take me a couple
more months.

I pray that you get a generic SQL environment complete before that pops
to the head of my queue!  :)

> (I'm doing all of the prototyping outside of gnucash, so that I have
> a simpler environment to work with.  Also, less churn in gnucash, and
> less chances of bad cvs checkins).

That's fine.  Makes life easy.

> --linas

-derek

-- 
       Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
       Member, MIT Student Information Processing Board  (SIPB)
       URL: http://web.mit.edu/warlord/    PP-ASEL-IA     N1NWH
       warlord at MIT.EDU                        PGP key available


More information about the gnucash-devel mailing list