@@ -102,8 +102,6 @@ namespace Sass {
102102
103103 namespace Functions {
104104
105- static Number tmpnr (ParserState(" [FN]" ), 0);
106-
107105 inline void handle_utf8_error (const ParserState& pstate, Backtrace* backtrace)
108106 {
109107 try {
@@ -159,7 +157,7 @@ namespace Sass {
159157 {
160158 // Minimal error handling -- the expectation is that built-ins will be written correctly!
161159 Number_Ptr val = get_arg<Number>(argname, env, sig, pstate, backtrace);
162- tmpnr = val;
160+ Number tmpnr ( val) ;
163161 tmpnr.reduce ();
164162 double v = tmpnr.value ();
165163 if (!(lo <= v && v <= hi)) {
@@ -175,7 +173,7 @@ namespace Sass {
175173 {
176174 // Minimal error handling -- the expectation is that built-ins will be written correctly!
177175 Number_Ptr val = get_arg<Number>(argname, env, sig, pstate, backtrace);
178- tmpnr = val;
176+ Number tmpnr ( val) ;
179177 tmpnr.reduce ();
180178 return tmpnr;
181179 }
@@ -193,7 +191,7 @@ namespace Sass {
193191 {
194192 // Minimal error handling -- the expectation is that built-ins will be written correctly!
195193 Number_Ptr val = get_arg<Number>(argname, env, sig, pstate, backtrace);
196- tmpnr = val;
194+ Number tmpnr ( val) ;
197195 tmpnr.reduce ();
198196 /*
199197 if (tmpnr.unit() == "%") {
@@ -210,15 +208,16 @@ namespace Sass {
210208 {
211209 // Minimal error handling -- the expectation is that built-ins will be written correctly!
212210 Number_Ptr val = get_arg<Number>(argname, env, sig, pstate, backtrace);
213- tmpnr = val;
211+ Number tmpnr ( val) ;
214212 tmpnr.reduce ();
215213 return tmpnr.value ();
216214 }
217215
218216 double color_num (const std::string& argname, Env& env, Signature sig, ParserState pstate, Backtrace* backtrace)
219217 {
220218 Number_Ptr val = get_arg<Number>(argname, env, sig, pstate, backtrace);
221- tmpnr = val; tmpnr.reduce ();
219+ Number tmpnr (val);
220+ tmpnr.reduce ();
222221 if (tmpnr.unit () == " %" ) {
223222 return std::min (std::max (tmpnr.value () * 255 / 100.0 , 0.0 ), 255.0 );
224223 } else {
@@ -229,7 +228,8 @@ namespace Sass {
229228
230229 inline double alpha_num (const std::string& argname, Env& env, Signature sig, ParserState pstate, Backtrace* backtrace) {
231230 Number_Ptr val = get_arg<Number>(argname, env, sig, pstate, backtrace);
232- tmpnr = val; tmpnr.reduce ();
231+ Number tmpnr (val);
232+ tmpnr.reduce ();
233233 if (tmpnr.unit () == " %" ) {
234234 return std::min (std::max (tmpnr.value (), 0.0 ), 100.0 );
235235 } else {
0 commit comments