C and scheme for Timespec KVP type

Derek Atkins warlord@MIT.EDU
20 Nov 2001 20:09:10 -0500


Dave, here is my half of the Timespec KVP type.  I think I got all the
places where it's important.  The type is KVP_TYPE_TIMESPEC and the
new functions are kvp_value_new_timespec() and kvp_value_get_timespec()

An interesting thing to note is that conversion between C types and
scheme appears to happen in multiple places.  For example, what's the
difference between
  kvp_value * gnc_scm_to_kvp_value_ptr(SCM val) in kvp-scm.c, and
  gnc_scm2kvp_value (SCM value_scm) in engine-helpers.c?

Similarly, the conversion from a kvp_valye -> SCM appears in both
files as well.  Weird, huh?

Anyways, here are the files that changed:

Files changed:

	src/engine/engine-helpers.c
	src/engine/gw-engine-spec.scm
	src/engine/kvp-scm.c
	src/engine/kvp_frame.c
	src/engine/kvp_frame.h
	src/engine/test-core/test-engine-stuff.c

-derek

begin 664 gnucash-kvp-warlord-011120.diff.gz
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
7362J>+[8Q>N(2?C=>?-_/G8&QJ<;````
`
end


-- 
       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@MIT.EDU                        PGP key available