Avoided creating temporary translatable strings for plain ones.

This speeds up parsing by 50%.
This commit is contained in:
Guillaume Melquiond 2010-08-08 10:32:09 +00:00
parent 52eebbefa1
commit c371ad89b0

View file

@ -241,7 +241,10 @@ void parser::parse_variable()
switch (tok_->current_token().type) {
case ',':
if ((curvar+1) != variables.end()) {
cfg[*curvar] = t_string(buffer);
if (buffer.translatable())
cfg[*curvar] = t_string(buffer);
else
cfg[*curvar] = buffer.value();
buffer = t_string_base();
++curvar;
continue;
@ -290,7 +293,10 @@ void parser::parse_variable()
}
finish:
cfg[*curvar] = t_string(buffer);
if (buffer.translatable())
cfg[*curvar] = t_string(buffer);
else
cfg[*curvar] = buffer.value();
while (++curvar != variables.end()) {
cfg[*curvar] = "";
}