make the parser slightly more usable for rockbox, move the buffer allocation into the lib (maybe not the best spot?)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26880 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
1dc2c5ebcb
commit
b2ea95e8d2
2 changed files with 6 additions and 21 deletions
|
@ -9,7 +9,7 @@
|
|||
|
||||
BUILDDIR ?= .
|
||||
|
||||
SRC = skin_parser.c skin_debug.c skin_scan.c tag_table.c
|
||||
SRC = skin_buffer.c skin_parser.c skin_debug.c skin_scan.c tag_table.c
|
||||
OBJ := $(patsubst %.c,$(BUILDDIR)/%.o,$(SRC))
|
||||
OUT = $(BUILDDIR)/libskin_parser.a
|
||||
CC = gcc
|
||||
|
|
|
@ -24,19 +24,13 @@
|
|||
#include <string.h>
|
||||
#include <ctype.h>
|
||||
|
||||
#include "skin_buffer.h"
|
||||
#include "skin_parser.h"
|
||||
#include "skin_debug.h"
|
||||
#include "tag_table.h"
|
||||
#include "symbols.h"
|
||||
#include "skin_scan.h"
|
||||
|
||||
#ifdef ROCKBOX
|
||||
/* Declaration of parse tree buffer */
|
||||
#define SKIN_MAX_MEMORY (30*1024)
|
||||
static char skin_parse_tree[SKIN_MAX_MEMORY];
|
||||
static char *skin_buffer;
|
||||
#endif
|
||||
|
||||
/* Global variables for the parser */
|
||||
int skin_line = 0;
|
||||
|
||||
|
@ -66,10 +60,6 @@ struct skin_element* skin_parse(const char* document)
|
|||
struct skin_element** to_write = 0;
|
||||
|
||||
char* cursor = (char*)document; /*Keeps track of location in the document*/
|
||||
#ifdef ROCKBOX
|
||||
/* FIXME */
|
||||
skin_buffer = &skin_parse_tree[0];
|
||||
#endif
|
||||
|
||||
skin_line = 1;
|
||||
|
||||
|
@ -765,8 +755,9 @@ static int skin_parse_conditional(struct skin_element* element, char** document)
|
|||
static int skin_parse_comment(struct skin_element* element, char** document)
|
||||
{
|
||||
char* cursor = *document;
|
||||
#ifndef ROCKBOX
|
||||
char* text = NULL;
|
||||
|
||||
#endif
|
||||
int length;
|
||||
/*
|
||||
* Finding the index of the ending newline or null-terminator
|
||||
|
@ -847,13 +838,7 @@ static struct skin_element* skin_parse_code_as_arg(char** document)
|
|||
/* Memory management */
|
||||
char* skin_alloc(size_t size)
|
||||
{
|
||||
#ifdef ROCKBOX
|
||||
char *retval = skin_buffer;
|
||||
skin_buffer = (void *)(((unsigned long)skin_buffer + 3) & ~3);
|
||||
return retval;
|
||||
#else
|
||||
return malloc(size);
|
||||
#endif
|
||||
return skin_buffer_alloc(size);
|
||||
}
|
||||
|
||||
struct skin_element* skin_alloc_element()
|
||||
|
|
Loading…
Reference in a new issue