Skip to content

Commit

Permalink
Expose string is_quoted flag for C-API
Browse files Browse the repository at this point in the history
  • Loading branch information
mgreter committed Apr 29, 2015
1 parent 20d8870 commit ad07679
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 0 deletions.
15 changes: 15 additions & 0 deletions sass_values.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ extern "C" {

struct Sass_String {
enum Sass_Tag tag;
bool quoted;
char* value;
};

Expand Down Expand Up @@ -110,6 +111,8 @@ extern "C" {
// Getters and setters for Sass_String
const char* ADDCALL sass_string_get_value(const union Sass_Value* v) { return v->string.value; }
void ADDCALL sass_string_set_value(union Sass_Value* v, char* value) { v->string.value = value; }
const bool ADDCALL sass_string_is_quoted(const union Sass_Value* v) { return v->string.quoted; }
void ADDCALL sass_string_set_quoted(union Sass_Value* v, bool quoted) { v->string.quoted = quoted; }

// Getters and setters for Sass_Boolean
bool ADDCALL sass_boolean_get_value(const union Sass_Value* v) { return v->boolean.value; }
Expand Down Expand Up @@ -187,6 +190,18 @@ extern "C" {
{
Sass_Value* v = (Sass_Value*) calloc(1, sizeof(Sass_Value));
if (v == 0) return 0;
v->string.quoted = false;
v->string.tag = SASS_STRING;
v->string.value = val ? sass_strdup(val) : 0;
if (v->string.value == 0) { free(v); return 0; }
return v;
}

union Sass_Value* ADDCALL sass_make_qstring(const char* val)
{
Sass_Value* v = (Sass_Value*) calloc(1, sizeof(Sass_Value));
if (v == 0) return 0;
v->string.quoted = true;
v->string.tag = SASS_STRING;
v->string.value = val ? sass_strdup(val) : 0;
if (v->string.value == 0) { free(v); return 0; }
Expand Down
1 change: 1 addition & 0 deletions sass_values.h
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,7 @@ ADDAPI void ADDCALL sass_warning_set_message (union Sass_Value* v, char* msg);
ADDAPI union Sass_Value* ADDCALL sass_make_null (void);
ADDAPI union Sass_Value* ADDCALL sass_make_boolean (bool val);
ADDAPI union Sass_Value* ADDCALL sass_make_string (const char* val);
ADDAPI union Sass_Value* ADDCALL sass_make_qstring (const char* val);
ADDAPI union Sass_Value* ADDCALL sass_make_number (double val, const char* unit);
ADDAPI union Sass_Value* ADDCALL sass_make_color (double r, double g, double b, double a);
ADDAPI union Sass_Value* ADDCALL sass_make_list (size_t len, enum Sass_Separator sep);
Expand Down

0 comments on commit ad07679

Please sign in to comment.