Skip to content

Commit b566d5c

Browse files
committed
Don't buffer_free when before calling token_init
1 parent 99c875c commit b566d5c

File tree

1 file changed

+7
-28
lines changed

1 file changed

+7
-28
lines changed

src/lexer.c

Lines changed: 7 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -112,10 +112,7 @@ token_T* lexer_parse_whitespace(lexer_T* lexer) {
112112
lexer_advance(lexer);
113113
}
114114

115-
char* value = buffer_value(&buffer);
116-
buffer_free(&buffer);
117-
118-
return token_init(value, TOKEN_WHITESPACE, lexer);
115+
return token_init(buffer.value, TOKEN_WHITESPACE, lexer);
119116
}
120117

121118
token_T* lexer_parse_tag_name(lexer_T* lexer) {
@@ -126,10 +123,7 @@ token_T* lexer_parse_tag_name(lexer_T* lexer) {
126123
lexer_advance(lexer);
127124
}
128125

129-
char* value = buffer_value(&buffer);
130-
buffer_free(&buffer);
131-
132-
return token_init(value, TOKEN_HTML_TAG_NAME, lexer);
126+
return token_init(buffer.value, TOKEN_HTML_TAG_NAME, lexer);
133127
}
134128

135129
token_T* lexer_parse_attribute_name(lexer_T* lexer) {
@@ -141,10 +135,7 @@ token_T* lexer_parse_attribute_name(lexer_T* lexer) {
141135
lexer_advance(lexer);
142136
}
143137

144-
char* value = buffer_value(&buffer);
145-
buffer_free(&buffer);
146-
147-
return token_init(value, TOKEN_HTML_ATTRIBUTE_NAME, lexer);
138+
return token_init(buffer.value, TOKEN_HTML_ATTRIBUTE_NAME, lexer);
148139
}
149140

150141
token_T* lexer_parse_attribute_value(lexer_T* lexer) {
@@ -162,10 +153,7 @@ token_T* lexer_parse_attribute_value(lexer_T* lexer) {
162153

163154
lexer->state = STATE_HTML_ATTRIBUTE_VALUE;
164155

165-
char* value = buffer_value(&buffer);
166-
buffer_free(&buffer);
167-
168-
return token_init(value, TOKEN_HTML_ATTRIBUTE_VALUE, lexer);
156+
return token_init(buffer.value, TOKEN_HTML_ATTRIBUTE_VALUE, lexer);
169157
}
170158

171159
token_T* lexer_parse_text_content(lexer_T* lexer) {
@@ -176,10 +164,7 @@ token_T* lexer_parse_text_content(lexer_T* lexer) {
176164
lexer_advance(lexer);
177165
}
178166

179-
char* value = buffer_value(&buffer);
180-
buffer_free(&buffer);
181-
182-
return token_init(value, TOKEN_TEXT_CONTENT, lexer);
167+
return token_init(buffer.value, TOKEN_TEXT_CONTENT, lexer);
183168
}
184169

185170
token_T* lexer_parse_html_comment_content(lexer_T* lexer) {
@@ -193,10 +178,7 @@ token_T* lexer_parse_html_comment_content(lexer_T* lexer) {
193178
lexer_advance(lexer);
194179
lexer->state = STATE_HTML_COMMENT_CLOSE;
195180

196-
char* value = buffer_value(&buffer);
197-
buffer_free(&buffer);
198-
199-
return token_init(value, TOKEN_HTML_COMMENT_CONTENT, lexer);
181+
return token_init(buffer.value, TOKEN_HTML_COMMENT_CONTENT, lexer);
200182
}
201183

202184
token_T* lexer_handle_data_state(lexer_T* lexer) {
@@ -272,10 +254,7 @@ token_T* lexer_handle_erb_open_state(lexer_T* lexer) {
272254

273255
lexer->state = STATE_DATA;
274256

275-
char* value = buffer_value(&buffer);
276-
buffer_free(&buffer);
277-
278-
return token_init(value, TOKEN_ERB_CONTENT, lexer);
257+
return token_init(buffer.value, TOKEN_ERB_CONTENT, lexer);
279258
}
280259

281260
// <div class="abc"></div>

0 commit comments

Comments
 (0)