diff options
author | martin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220> | 2010-01-04 09:13:07 +0000 |
---|---|---|
committer | martin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220> | 2010-01-04 09:13:07 +0000 |
commit | 425dec68f8799e1ee36549c6c8a2c399f8fc6b40 (patch) | |
tree | 7951dcdb7513d2c28db5781d7c7034877d6cbb4d /navit/attr.c | |
parent | 771e741ee77bb84cc4d112ca6671addfefe99d6a (diff) | |
download | navit-425dec68f8799e1ee36549c6c8a2c399f8fc6b40.tar.gz |
Add:gui_internal:More html functionality
git-svn-id: http://svn.code.sf.net/p/navit/code/trunk/navit@2895 ffa7fe5e-494d-0410-b361-a75ebd5db220
Diffstat (limited to 'navit/attr.c')
-rw-r--r-- | navit/attr.c | 28 |
1 files changed, 17 insertions, 11 deletions
diff --git a/navit/attr.c b/navit/attr.c index ad9013d0d..79458e90e 100644 --- a/navit/attr.c +++ b/navit/attr.c @@ -504,23 +504,29 @@ attr_free(struct attr *attr) g_free(attr); } -struct attr * -attr_dup(struct attr *attr) +void +attr_dup_content(struct attr *src, struct attr *dst) { int size; - struct attr *ret=g_new0(struct attr, 1); - ret->type=attr->type; - if (attr->type >= attr_type_int_begin && attr->type <= attr_type_int_end) - ret->u.num=attr->u.num; - else if (attr->type >= attr_type_object_begin && attr->type <= attr_type_object_end) - ret->u.data=attr->u.data; + dst->type=src->type; + if (src->type >= attr_type_int_begin && src->type <= attr_type_int_end) + dst->u.num=src->u.num; + else if (src->type >= attr_type_object_begin && src->type <= attr_type_object_end) + dst->u.data=src->u.data; else { - size=attr_data_size(attr); + size=attr_data_size(src); if (size) { - ret->u.data=g_malloc(size); - memcpy(ret->u.data, attr->u.data, size); + dst->u.data=g_malloc(size); + memcpy(dst->u.data, src->u.data, size); } } +} + +struct attr * +attr_dup(struct attr *attr) +{ + struct attr *ret=g_new0(struct attr, 1); + attr_dup_content(attr, ret); return ret; } |