aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlexander Pickering <alexandermpickering@gmail.com>2018-12-15 16:47:22 -0500
committerAlexander Pickering <alexandermpickering@gmail.com>2018-12-15 16:47:22 -0500
commit195c332a2314305392ee2a09272e3fbd4f1b134a (patch)
tree83c347400389e7d5c8693d6e089b233fa9fb8f3f /src
parent7d3b0b917cdb93d249dc356db8471fe9e6863424 (diff)
downloadlibctemplates-195c332a2314305392ee2a09272e3fbd4f1b134a.tar.gz
libctemplates-195c332a2314305392ee2a09272e3fbd4f1b134a.tar.bz2
libctemplates-195c332a2314305392ee2a09272e3fbd4f1b134a.zip
Make tokenize return double-linked list
Tokenize now has a doubly linked list of toekns, for additionall help parsing break/continue instructions.
Diffstat (limited to 'src')
-rw-r--r--src/ctemplates.c1
-rw-r--r--src/ctemplates.h1
2 files changed, 2 insertions, 0 deletions
diff --git a/src/ctemplates.c b/src/ctemplates.c
index b8d9931..8138f7c 100644
--- a/src/ctemplates.c
+++ b/src/ctemplates.c
@@ -456,6 +456,7 @@ TMPL_tokenize(const char* tmplstr, size_t m_strlen){
newnode = scan_tag(textcursor,m_strlen,&newlength);
newnode->type = ttype;
}
+ newnode->last = tokencursor;
tokencursor->next = newnode;
textcursor += newlength;
m_strlen -= newlength;
diff --git a/src/ctemplates.h b/src/ctemplates.h
index 1df0f43..eafabac 100644
--- a/src/ctemplates.h
+++ b/src/ctemplates.h
@@ -175,6 +175,7 @@ struct TMPL_token{
enum TMPL_tagtype type;//The type of token
size_t length;//Length of token, should always be end-start
struct TMPL_token* next;//The next token
+ struct TMPL_token* last;//The last token
unsigned int line;// Not used currently
unsigned int character;// Not used currently
}TMPL_token;