ext/libsass/sass.cpp in sassc-0.0.10 vs ext/libsass/sass.cpp in sassc-0.0.11
- old
+ new
@@ -2,32 +2,42 @@
#include <cstring>
#include <vector>
#include <sstream>
#include "sass.h"
+#include "file.hpp"
#include "util.hpp"
extern "C" {
using namespace std;
+ using namespace Sass;
+ using namespace File;
// caller must free the returned memory
- char* ADDCALL sass_string_quote (const char *str, const char quote_mark) {
- string quoted = Sass::quote(str, quote_mark);
- char *cstr = (char*) malloc(quoted.length() + 1);
- std::strcpy(cstr, quoted.c_str());
- return cstr;
+ char* ADDCALL sass_string_quote (const char *str, const char quote_mark)
+ {
+ string quoted = quote(str, quote_mark);
+ return sass_strdup(quoted.c_str());
}
// caller must free the returned memory
- char* ADDCALL sass_string_unquote (const char *str) {
- string unquoted = Sass::unquote(str);
- char *cstr = (char*) malloc(unquoted.length() + 1);
- std::strcpy(cstr, unquoted.c_str());
- return cstr;
+ char* ADDCALL sass_string_unquote (const char *str)
+ {
+ string unquoted = unquote(str);
+ return sass_strdup(unquoted.c_str());
}
+ // Make sure to free the returned value!
+ // Incs array has to be null terminated!
+ char* ADDCALL sass_resolve_file (const char* file, const char* paths[])
+ {
+ string resolved(find_file(file, paths));
+ return sass_strdup(resolved.c_str());
+ }
+
// Get compiled libsass version
- const char* ADDCALL libsass_version(void) {
+ const char* ADDCALL libsass_version(void)
+ {
return LIBSASS_VERSION;
}
}