Skip to content

Commit 321b874

Browse files
committed
Merge pull request #1289 from saper/quotedstr01
Create quoted strings coming via API
2 parents e4ab87f + 5c9c7d8 commit 321b874

File tree

4 files changed

+18
-4
lines changed

4 files changed

+18
-4
lines changed

eval.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1358,7 +1358,11 @@ namespace Sass {
13581358
e = new (ctx.mem) Color(pstate, sass_color_get_r(v), sass_color_get_g(v), sass_color_get_b(v), sass_color_get_a(v));
13591359
} break;
13601360
case SASS_STRING: {
1361-
e = new (ctx.mem) String_Constant(pstate, sass_string_get_value(v));
1361+
if (sass_string_is_quoted(v))
1362+
e = new (ctx.mem) String_Quoted(pstate, sass_string_get_value(v));
1363+
else {
1364+
e = new (ctx.mem) String_Constant(pstate, sass_string_get_value(v));
1365+
}
13621366
} break;
13631367
case SASS_LIST: {
13641368
List* l = new (ctx.mem) List(pstate, sass_list_get_length(v), sass_list_get_separator(v) == SASS_COMMA ? List::COMMA : List::SPACE);

sass_values.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -322,7 +322,7 @@ extern "C" {
322322
return sass_make_color(val->color.r, val->color.g, val->color.b, val->color.a);
323323
} break;
324324
case SASS_STRING: {
325-
return sass_make_string(val->string.value);
325+
return sass_string_is_quoted(val) ? sass_make_qstring(val->string.value) : sass_make_string(val->string.value);
326326
} break;
327327
case SASS_LIST: {
328328
union Sass_Value* list = sass_make_list(val->list.length, val->list.separator);

to_c.cpp

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,16 @@ namespace Sass {
1919
{ return sass_make_color(c->r(), c->g(), c->b(), c->a()); }
2020

2121
Sass_Value* To_C::operator()(String_Constant* s)
22-
{ return sass_make_string(s->value().c_str()); }
22+
{
23+
if (s->quote_mark()) {
24+
return sass_make_qstring(s->value().c_str());
25+
} else {
26+
return sass_make_string(s->value().c_str());
27+
}
28+
}
29+
30+
Sass_Value* To_C::operator()(String_Quoted* s)
31+
{ return sass_make_qstring(s->value().c_str()); }
2332

2433
Sass_Value* To_C::operator()(List* l)
2534
{

to_c.hpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ namespace Sass {
2929
Sass_Value* operator()(Number*);
3030
Sass_Value* operator()(Color*);
3131
Sass_Value* operator()(String_Constant*);
32+
Sass_Value* operator()(String_Quoted*);
3233
Sass_Value* operator()(List*);
3334
Sass_Value* operator()(Map*);
3435
Sass_Value* operator()(Null*);
@@ -41,4 +42,4 @@ namespace Sass {
4142

4243
}
4344

44-
#endif
45+
#endif

0 commit comments

Comments
 (0)