diff options
author | Jonathan Gordon <rockbox@jdgordon.info> | 2010-06-17 13:54:09 +0000 |
---|---|---|
committer | Jonathan Gordon <rockbox@jdgordon.info> | 2010-06-17 13:54:09 +0000 |
commit | 95b0cefad012c3092d8e0f4c91118fe157baf6c0 (patch) | |
tree | 3657fac796b197f165af21ac1f60bac35ccb01f2 /lib/skin_parser | |
parent | 8d3dbb88094a8774cd571675d76a1319850259c5 (diff) |
tiny clean up of memory allocation
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26887 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'lib/skin_parser')
-rw-r--r-- | lib/skin_parser/skin_buffer.c | 13 | ||||
-rw-r--r-- | lib/skin_parser/skin_buffer.h | 4 | ||||
-rw-r--r-- | lib/skin_parser/skin_parser.c | 15 | ||||
-rw-r--r-- | lib/skin_parser/skin_parser.h | 1 |
4 files changed, 23 insertions, 10 deletions
diff --git a/lib/skin_parser/skin_buffer.c b/lib/skin_parser/skin_buffer.c index b0910976e2..05cdc0ce03 100644 --- a/lib/skin_parser/skin_buffer.c +++ b/lib/skin_parser/skin_buffer.c @@ -56,3 +56,16 @@ void* skin_buffer_alloc(size_t size) #endif return retval; } + + +#ifdef ROCKBOX +/* get the number of bytes currently being used */ +size_t skin_buffer_usage(void) +{ + return buffer_front - buffer; +} +size_t skin_buffer_freespace(void) +{ + return SKIN_BUFFER_SIZE - skin_buffer_usage(); +} +#endif diff --git a/lib/skin_parser/skin_buffer.h b/lib/skin_parser/skin_buffer.h index fa8f149c71..ff477da539 100644 --- a/lib/skin_parser/skin_buffer.h +++ b/lib/skin_parser/skin_buffer.h @@ -28,4 +28,8 @@ void skin_buffer_init(size_t size); /* Allocate size bytes from the buffer */ void* skin_buffer_alloc(size_t size); + +/* get the number of bytes currently being used */ +size_t skin_buffer_usage(void); +size_t skin_buffer_freespace(void); #endif diff --git a/lib/skin_parser/skin_parser.c b/lib/skin_parser/skin_parser.c index f7ff4ad693..9c360231e1 100644 --- a/lib/skin_parser/skin_parser.c +++ b/lib/skin_parser/skin_parser.c @@ -51,6 +51,8 @@ static int skin_parse_conditional(struct skin_element* element, static int skin_parse_comment(struct skin_element* element, char** document); static struct skin_element* skin_parse_code_as_arg(char** document); + + struct skin_element* skin_parse(const char* document) { @@ -836,15 +838,10 @@ static struct skin_element* skin_parse_code_as_arg(char** document) /* Memory management */ -char* skin_alloc(size_t size) -{ - return skin_buffer_alloc(size); -} - struct skin_element* skin_alloc_element() { struct skin_element* retval = (struct skin_element*) - skin_alloc(sizeof(struct skin_element)); + skin_buffer_alloc(sizeof(struct skin_element)); retval->type = UNKNOWN; retval->next = NULL; retval->tag = NULL; @@ -858,19 +855,19 @@ struct skin_element* skin_alloc_element() struct skin_tag_parameter* skin_alloc_params(int count) { size_t size = sizeof(struct skin_tag_parameter) * count; - return (struct skin_tag_parameter*)skin_alloc(size); + return (struct skin_tag_parameter*)skin_buffer_alloc(size); } char* skin_alloc_string(int length) { - return (char*)skin_alloc(sizeof(char) * (length + 1)); + return (char*)skin_buffer_alloc(sizeof(char) * (length + 1)); } struct skin_element** skin_alloc_children(int count) { return (struct skin_element**) - skin_alloc(sizeof(struct skin_element*) * count); + skin_buffer_alloc(sizeof(struct skin_element*) * count); } void skin_free_tree(struct skin_element* root) diff --git a/lib/skin_parser/skin_parser.h b/lib/skin_parser/skin_parser.h index ec0f3b9bfc..95a22a6d53 100644 --- a/lib/skin_parser/skin_parser.h +++ b/lib/skin_parser/skin_parser.h @@ -122,7 +122,6 @@ struct skin_element struct skin_element* skin_parse(const char* document); /* Memory management functions */ -char *skin_alloc(size_t size); struct skin_element* skin_alloc_element(void); struct skin_element** skin_alloc_children(int count); struct skin_tag_parameter* skin_alloc_params(int count); |