Phil Longstaff's patch to fix a kvp_frame bug.

Save the current frame so we know where to build the new one.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15853 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
Derek Atkins 2007-04-09 23:02:33 +00:00
parent 880da659b5
commit 7990568f9b

View File

@ -512,6 +512,7 @@ kvp_frame_add_value_nc(KvpFrame * frame, const char * path, KvpValue *value)
{
char *key = NULL;
KvpValue *oldvalue;
KvpFrame* orig_frame = frame;
frame = (KvpFrame *) get_trailer_or_null (frame, path, &key);
oldvalue = kvp_frame_get_slot (frame, key);
@ -544,6 +545,7 @@ kvp_frame_add_value_nc(KvpFrame * frame, const char * path, KvpValue *value)
/* Hmm, if we are here, the path doesn't exist. We need to
* create the path, add the value to it. */
frame = orig_frame;
frame = kvp_frame_set_value_nc (frame, path, value);
LEAVE ("new frame=%s", kvp_frame_to_string(frame));
return frame;