Libsass: рддреНрд░реБрдЯрд┐ рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдореЗрдВ MSVC x86_64 рдмрдлрд░ рдУрд╡рд░рд░рди (3.3.5 рдФрд░ 3.3.6 рдХреЗ рдмреАрдЪ рдкреНрд░рддрд┐рдЧрдорди)

рдХреЛ рдирд┐рд░реНрдорд┐рдд 24 рдЕрдкреНрд░реИрд▓ 2016  ┬╖  14рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: sass/libsass

рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ https://github.com/dahlia/libsass-python/pull/149 . рд╕реЗ рдЖрддрд╛ рд╣реИ

рдореБрдЭреЗ рдЕрдкрдиреЗ рд╕рд┐рд░ рдХреЛ рдареАрдХ рд╕реЗ рд▓рдкреЗрдЯрдиреЗ рдореЗрдВ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рд░рд╣реА рд╣реИ _why_ рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЕрдм рддрдХ рдЬреЛ рдХреБрдЫ рдорд┐рд▓рд╛ рд╣реИ рдЙрд╕реЗ рдкреЛрд╕реНрдЯ рдХрд░реВрдВрдЧрд╛ :)

рдпрд╣ рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рджреЗрдЦреА рдЬрд╛ рд░рд╣реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдХрд╛рд░рдг рдмрдирддреА рд╣реИ: https://github.com/sass/libsass/commit/527f3a8 (#2025)
рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рд╕рдВрд╢реЛрдзрди рдХреА рдЬрд╛рдБрдЪ рдХрд░рдирд╛ (f8cad4e) рд╕рдлрд▓ рд╣реЛрддрд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред

рдорд╛рдИ рд▓рд┐рдЯрд┐рд▓ рдЯреЗрд╕реНрдЯ рд╣рд╛рд░реНрдиреЗрд╕

рдпрджрд┐ рдпрд╣ рдЖрд╕рд╛рди рд╣реИ рддреЛ рдЖрдк рдпрд╣рд╛рдВ рдХреЛрдб рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ: https://github.com/asottile/libsass/commit/f40ae24025234b73ca86adece62dec0e35884eb1

рдореБрдЦреНрдп.рд╕реАрдкреАрдкреА

#include <sass/context.h>
#include <iostream>

int main() {
    std::cout << "Making data context" << std::endl;
    struct Sass_Data_Context* context = sass_make_data_context(sass_copy_c_string(""));
    std::cout << "Compiling data context" << std::endl;
    sass_compile_data_context(context);
    std::cout << "Getting output context" << std::endl;
    struct Sass_Context* ctx = sass_data_context_get_context(context);
    std::cout << "Printing error status" << std::endl;
    std::cout << sass_context_get_error_status(ctx) << std::endl;
    std::cout << "Printing error message" << std::endl;
    std::cout << sass_context_get_error_message(ctx) << std::endl;
    sass_delete_data_context(context);

    return 0;
}

test.bat

"D:\Programs\VS2015\VC\BIN\amd64\cl.exe" ^
    /I.\include -ID:\Programs\VS2015\VC\INCLUDE ^
    /c /nologo /W3 /WX- /GL /DNDEBUG -O2 /Oi /Zi /EHsc /MT ^
    src/*.c
"D:\Programs\VS2015\VC\BIN\amd64\cl.exe" ^
    /I.\include ^
    "-ID:\Programs\VS2015\VC\INCLUDE" ^
    "-ID:\Programs\VS2015\VC\ATLMFC\INCLUDE" ^
    "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" ^
    "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" ^
    "-IC:\Program Files (x86)\Windows Kits\8.1\include\\shared" ^
    "-IC:\Program Files (x86)\Windows Kits\8.1\include\\um" ^
    "-IC:\Program Files (x86)\Windows Kits\8.1\include\\winrt" ^
    /c /nologo /W3 /WX- /GL /DNDEBUG -O2 /Oi /Zi /EHsc /MT ^
    ./main.cpp src/*.cpp 
"D:\Programs\VS2015\VC\BIN\amd64\link.exe" ^
    "-LIBPATH:D:\Programs\VS2015\VC\LIB\amd64" ^
    "-LIBPATH:D:\Programs\VS2015\VC\ATLMFC\LIB\amd64" ^
    "-LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.10240.0\ucrt\x64" ^
    "-LIBPATH:C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\lib\um\x64" ^
    "-LIBPATH:C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x64" ^
    "-INCREMENTAL:NO" "-OUT:main.exe" "-Debug" "-nologo" "-LTCG" ^
    *.obj
main.exe

F8cad4e . рдкрд░ рдЖрдЙрдЯрдкреБрдЯ

C:\Users\Anthony\Desktop\git\libsass-python\libsass>"D:\Programs\VS2015\VC\BIN\amd64\cl.exe"     /I.\include -ID:\Programs\VS2015\VC\INCLUDE     /c /nologo /W3 /WX- /GL /DNDEBUG -O2 /Oi /Zi /EHsc /MT     src/*.c
c99func.c
cencode.c

C:\Users\Anthony\Desktop\git\libsass-python\libsass>"D:\Programs\VS2015\VC\BIN\amd64\cl.exe"     /I.\include     "-ID:\Programs\VS2015\VC\INCLUDE"     "-ID:\Programs\VS2015\VC\ATLMFC\INCLUDE"     "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt"     "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um"     "-IC:\Program Files (x86)\Windows Kits\8.1\include\\shared"     "-IC:\Program Files (x86)\Windows Kits\8.1\include\\um"     "-IC:\Program Files (x86)\Windows Kits\8.1\include\\winrt"     /c /nologo /W3 /WX- /GL /DNDEBUG -O2 /Oi /Zi /EHsc /MT     ./main.cpp src/*.cpp
main.cpp
ast.cpp
base64vlq.cpp
bind.cpp
src/bind.cpp(175): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
color_maps.cpp
constants.cpp
context.cpp
cssize.cpp
emitter.cpp
environment.cpp
error_handling.cpp
eval.cpp
expand.cpp
extend.cpp
file.cpp
functions.cpp
inspect.cpp
json.cpp
lexer.cpp
listize.cpp
Compiling...
memory_manager.cpp
node.cpp
output.cpp
parser.cpp
plugins.cpp
position.cpp
prelexer.cpp
remove_placeholders.cpp
sass.cpp
sass2scss.cpp
sass_context.cpp
sass_functions.cpp
sass_util.cpp
sass_values.cpp
source_map.cpp
to_c.cpp
to_value.cpp
units.cpp
utf8_string.cpp
util.cpp
Compiling...
values.cpp

C:\Users\Anthony\Desktop\git\libsass-python\libsass>"D:\Programs\VS2015\VC\BIN\amd64\link.exe"     "-LIBPATH:D:\Programs\VS2015\VC\LIB\amd64"     "-LIBPATH:D:\Programs\VS2015\VC\ATLMFC\LIB\amd64"     "-LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.10240.0\ucrt\x64"     "-LIBPATH:C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\lib\um\x64"     "-LIBPATH:C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x64"     "-INCREMENTAL:NO" "-OUT:main.exe" "-Debug" "-nologo" "-LTCG"     *.obj
Generating code
Finished generating code

C:\Users\Anthony\Desktop\git\libsass-python\libsass>main.exe
Making data context
Compiling data context
Getting output context
Printing error status
3
Printing error message
Internal Error: Data context created with empty source string

527f3a8 . рдкрд░ рдЖрдЙрдЯрдкреБрдЯ

C:\Users\Anthony\Desktop\git\libsass-python\libsass>"D:\Programs\VS2015\VC\BIN\amd64\cl.exe"     /I.\include -ID:\Programs\VS2015\VC\INCLUDE     /c /nologo /W3 /WX- /GL /DNDEBUG -O2 /Oi /Zi /EHsc /MT     src/*.c
c99func.c
cencode.c

C:\Users\Anthony\Desktop\git\libsass-python\libsass>"D:\Programs\VS2015\VC\BIN\amd64\cl.exe"     /I.\include     "-ID:\Programs\VS2015\VC\INCLUDE"     "-ID:\Programs\VS2015\VC\ATLMFC\INCLUDE"     "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt"     "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um"     "-IC:\Program Files (x86)\Windows Kits\8.1\include\\shared"     "-IC:\Program Files (x86)\Windows Kits\8.1\include\\um"     "-IC:\Program Files (x86)\Windows Kits\8.1\include\\winrt"     /c /nologo /W3 /WX- /GL /DNDEBUG -O2 /Oi /Zi /EHsc /MT     ./main.cpp src/*.cpp
main.cpp
ast.cpp
base64vlq.cpp
bind.cpp
src/bind.cpp(175): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
color_maps.cpp
constants.cpp
context.cpp
cssize.cpp
emitter.cpp
environment.cpp
error_handling.cpp
eval.cpp
expand.cpp
extend.cpp
file.cpp
functions.cpp
inspect.cpp
json.cpp
lexer.cpp
listize.cpp
Compiling...
memory_manager.cpp
node.cpp
output.cpp
parser.cpp
plugins.cpp
position.cpp
prelexer.cpp
remove_placeholders.cpp
sass.cpp
sass2scss.cpp
sass_context.cpp
sass_functions.cpp
sass_util.cpp
sass_values.cpp
source_map.cpp
to_c.cpp
to_value.cpp
units.cpp
utf8_string.cpp
util.cpp
Compiling...
values.cpp

C:\Users\Anthony\Desktop\git\libsass-python\libsass>"D:\Programs\VS2015\VC\BIN\amd64\link.exe"     "-LIBPATH:D:\Programs\VS2015\VC\LIB\amd64"     "-LIBPATH:D:\Programs\VS2015\VC\ATLMFC\LIB\amd64"     "-LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.10240.0\ucrt\x64"     "-LIBPATH:C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\lib\um\x64"     "-LIBPATH:C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x64"     "-INCREMENTAL:NO" "-OUT:main.exe" "-Debug" "-nologo" "-LTCG"     *.obj
Generating code
Finished generating code

C:\Users\Anthony\Desktop\git\libsass-python\libsass>main.exe
Making data context

рд╡рд┐рдлрд▓рддрд╛ рдкрд░ рдбреАрдмрдЧрд░ рд╕рдВрд▓рдЧреНрди рдХрд░рдирд╛ рдирд┐рдореНрди рд╕рдВрджреЗрд╢ рджреЗрддрд╛ рд╣реИ:

Unhandled exception at 0x00007FF77A8F8814 in main.exe: Stack cookie instrumentation code detected a stack-based buffer overrun.

рдФрд░ рдПрдХ рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯ рдпрд╣рд╛рдВ рдЫреЛрдбрд╝рддрд╛ рд╣реИ: https://github.com/sass/libsass/blob/527f3a8/src/sass_context.cpp#L143

Bug - Confirmed Dev - PR Ready

рд╕рднреА 14 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдкрд╣рд▓рд╛: рддрд╛рд▓реА: рдЙрд╕ рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП, рдмрд╣реБрдд рдХреБрдЫ рдореМрдХреЗ рдкрд░ рдЬреИрд╕рд╛ рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк D:\Programs рдХреЛ ProgramFiles(x86) рд╕реЗ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рдЕрдЧрд▓реА рдмрд╛рд░ рдПрдХ рдорд╛рдирдХ рдкрде ( Microsoft Visual Studio 12.0 AFAIK) рдореЗрдВ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░ рдЗрд╕реЗ рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рдирд╛рдорд╛рдВрдХрд┐рдд рдХрд░реВрдВрдЧрд╛ рд╡рд░реНрд╖ :рдореБрд╕реНрдХреБрд░рд╛рддреЗ рд╣реБрдП :

рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдпрд╣рд╛рдБ рджреЗрд░ рд╣реЛ рд░рд╣реА рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рддреНрд╡рд░рд┐рдд рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВрдЧреЗ ...

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ /GL (рдХрд╛рд░реНрдпрдХреНрд░рдо рдЕрдиреБрдХреВрд▓рди) рдХреЛ рд╣рдЯрд╛рдиреЗ рд╕реЗ рд╕рдорд╕реНрдпрд╛ рджреВрд░ рд╣реЛ рдЬрд╛рддреА рд╣реИ ...
рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдиреБрдХреВрд▓рди рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдкрд░ рдореБрдЭреЗ segfault рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ .. рдареАрдХ рд╣реИ, рджреЗрдЦреЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╡рд╣реА рд╣реИред
рдЪреВрдВрдХрд┐ рдЖрдк рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдирдП рдЬреЛрдбрд╝реЗ рдЧрдП рдкреНрд░рдпрд╛рд╕ рдХреЗ рд╕рд╛рде рдЖрдпрд╛ рд╣реИ, рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдЕрд╡рд╛рдВрдЫрд┐рдд рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдвреЗрд░ рд╣реИред
рдпрд╣ рдЕрдХреНрд╕рд░ рдХрдВрдкрд╛рдЗрд▓рд░ рд╡рд┐рдХрд▓реНрдкреЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рднреА рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЬрд▓реНрджред

рдХрд░реЗрдВрдЧреЗ рдФрд░ рд╡рд╛рдкрд╕ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗрдВрдЧреЗред рдореИрдВ рдЕрдкрдиреЗ рдПрд╕рдПрд╕рдбреА рдкрд░ рдЬрдЧрд╣ рд╕реЗ рдмрд╛рд╣рд░ рд╣реВрдВ рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд╢рд╛рдпрдж рд╡реАрдПрдо рдХреЛ рд╕реНрдкрд┐рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА

/GR рдмрджрд▓рдирд╛ рдЪрд╛рд▓ рд╣реИ! - рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рд╕реЗрдЯрдЕрдкрдЯреВрд▓ (рдкрд╛рдпрдерди) рдореЗрдВ рдкрд╛рд╕ рдХрд┐рдП рдЧрдП рдЭрдВрдбреЗ рдореЗрдВ рдареАрдХ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

рдкрд╛рд░рд┐рддреЛрд╖рд┐рдХ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

рд╣рдордо... рдпрд╣ рдХрд░рдирд╛ рдереЛрдбрд╝рд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдХреБрдЫ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ - рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рд╣реИ рдХрд┐ рдпрд╣ рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ /GL рдХреНрдпреЛрдВ рдЯреВрдЯрддреА рд╣реИ?

рд╣рд╛рдБ, рдХреНрдпреЛрдВрдХрд┐ рд╕реНрдореГрддрд┐ рд╢рд╛рдпрдж рдЕрдзрд┐рдХ рд╕реНрдХреНрд░реИрдореНрдмрд▓ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд▓рдЯрдХрдиреЗ рд╡рд╛рд▓реЗ рдкреЙрдЗрдВрдЯрд░реНрд╕ рдпрд╛ рдмрдлрд░ рдУрд╡рд░рд░рди рдЗрддреНрдпрд╛рджрд┐ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реЗрдЧрдлреЙрд▓реНрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╢рд╛рдпрдж рдЖрд╕рд╛рди рд╣реИред рд▓реЗрдХрд┐рди рдореИрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдПрдХ рдЦрддрд░рдирд╛рдХ, рдореБрд╢реНрдХрд┐рд▓ "рдореБрджреНрджрд╛" рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд╛рдордирд╛ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдкрд╣рд▓реА рдмрд╛рд░ред рдлрд┐рдХреНрд╕ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рдкреАрдЖрд░ рдореЗрдВ рдереЛрдбрд╝рд╛ рдФрд░ рд▓рд┐рдЦреВрдВрдЧрд╛ред

<3 рдЖрдк рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреЗ рд╣реИрдВ

рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рд╡рд┐рдЪрд╛рд░ рджреЗрдирд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЖрдкрддреНрддрд┐рдЬрдирдХ рдкрдВрдХреНрддрд┐ рд╣реИ:

sass_copy_c_string(msg_stream.str().c_str())

рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕реБрдзрд╛рд░ рдХреЗ рд▓рд┐рдП https://github.com/sass/libsass/pull/2048 рджреЗрдЦреЗрдВред рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

рдореБрдЭреЗ рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ рд▓рд┐рдЦреЗ рдЧрдП рдХреБрдЫ рдХреЛрдб рдореЗрдВ рдРрд╕рд╛ рдХреБрдЫ рдпрд╛рдж рд╣реИ - рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдорд╛рдирдХ рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рдПрдХрддреНрд░рд┐рдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕рдВрд░рдХреНрд╖рд┐рдд рд╣реИ рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдирд╣реАрдВред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкреИрдЪ рдХреЛрдб рдХреЛ рд╕рдлрд▓ рдмрдирд╛рддрд╛ рд╣реИ:

diff --git a/src/sass_context.cpp b/src/sass_context.cpp
index e3f34af..9105866 100644
--- a/src/sass_context.cpp
+++ b/src/sass_context.cpp
@@ -140,7 +140,8 @@ extern "C" {
       json_append_member(json_err, "message", json_mkstring(e.what()));
       json_append_member(json_err, "formatted", json_mkstring(msg_stream.str().c_str()));
       try { c_ctx->error_json = json_stringify(json_err, "  "); } catch(...) {}
-      c_ctx->error_message = sass_copy_c_string(msg_stream.str().c_str());
+      std::string s = msg_stream.str();
+      c_ctx->error_message = sass_copy_c_string(s.c_str());
       c_ctx->error_text = sass_copy_c_string(e.what());
       c_ctx->error_status = 3;
       c_ctx->output_string = 0;

рдУрд╣ рдкреНрд░рд┐рдп, рд╣рдо рдПрдХ рд╣реА рдирд┐рд╖реНрдХрд░реНрд╖ рдкрд░ рдкрд╣реБрдВрдЪреЗ: рдбреА

рд╣рд╛рдВ, рд╕реНрдореГрддрд┐ рдкреНрд░рдмрдВрдзрди рдХреЗ рд╕рд╛рде рдкрд╣рд▓реЗ рджреЗрдЦрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд╣рд╛рдВ рд╡рд┐рдирд╛рд╢рдХ рдХреЛ рдПрдХ рдЕрдЬреАрдм рдХреНрд░рдо рдореЗрдВ рдмреБрд▓рд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬреЛ рдореВрд▓ рд░реВрдк рд╕реЗ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ (рдПрдХ рд╣реА рд╕рдВрдХрд▓рдХ) рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИред

рдЖрд╣, рдЕрдм рдореБрдЭреЗ рдпрд╛рдж рд╣реИ, рдпрд╣реА рдХрд╛рд░рдг рд╣реИ (AFAIR) рдХреНрдпреЛрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдирдИ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдЖрд╡рдВрдЯрди рдХреЗ рд▓рд┐рдП SASS_MEMORY_NEW рдореИрдХреНрд░реЛ рд╣реИред рд╡рд╣ рдпрд╣ рдкреАрдЖрд░ рдерд╛: https://github.com/sass/libsass/pull/1462 ... 100% рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░реА рдЖрдВрдд рдХрд╣рддреА рд╣реИ рдХрд┐ рдЙрдирдХреЗ рдкрд╛рд╕ рдПрдХ рд╣реА рдЖрдо рдЬрдбрд╝ рд╣реИред

рдЖрдк рд╕рднреА рдХреЛ рдЕрдЪреНрдЫреА рдкрдХрдбрд╝
25 рдЕрдкреНрд░реИрд▓ 2016 рдХреЛ рд╕реБрдмрд╣ 9:29 рдмрдЬреЗ, "рдорд╛рд░реНрд╕реЗрд▓ рдЧреНрд░реЗрдЯрд░" рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рдмрдВрдж #2046 https://github.com/sass/libsass/issues/2046 #2048 рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ
https://github.com/sass/libsass/pull/2048ред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЗрд╕ рдереНрд░реЗрдб рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реА рд╣реИред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/sass/libsass/issues/2046#event -639249983

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

catamphetamine picture catamphetamine  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

luiscla27 picture luiscla27  ┬╖  10рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

bdkjones picture bdkjones  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Nimce picture Nimce  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

delijah picture delijah  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ