150 } |
150 } |
151 |
151 |
152 return url.ptr; |
152 return url.ptr; |
153 } |
153 } |
154 |
154 |
|
155 char* util_parent_path(char *path) { |
|
156 char *name = util_resource_name(path); |
|
157 size_t namelen = strlen(name); |
|
158 size_t pathlen = strlen(path); |
|
159 size_t parentlen = pathlen - namelen; |
|
160 char *parent = malloc(parentlen + 1); |
|
161 memcpy(parent, path, parentlen); |
|
162 parent[parentlen] = '\0'; |
|
163 return parent; |
|
164 } |
|
165 |
155 |
166 |
156 char* util_xml_get_text(xmlNode *elm) { |
167 char* util_xml_get_text(xmlNode *elm) { |
157 xmlNode *node = elm->children; |
168 xmlNode *node = elm->children; |
158 while(node) { |
169 while(node) { |
159 if(node->type == XML_TEXT_NODE) { |
170 if(node->type == XML_TEXT_NODE) { |