@@ -143,7 +143,7 @@ static char parse_op(const char *input_str, const char **end, char **err) {
143143 return input_str [0 ];
144144 }
145145
146- asprintf (err , "Expected one of \"%s\", got '%c'." , operators , input_str [0 ]);
146+ casprintf (err , "Expected one of \"%s\", got '%c'." , operators , input_str [0 ]);
147147 * end = input_str ;
148148 return 0 ;
149149}
@@ -198,7 +198,7 @@ parse_raw_operand(struct expression_parser_context *ctx, const char *str, const
198198 }
199199 }
200200 if (!succeeded ) {
201- asprintf (err , "Expected a number or a variable name, got \"%s\"." , str );
201+ casprintf (err , "Expected a number or a variable name, got \"%s\"." , str );
202202 * end = str ;
203203 return ;
204204 }
@@ -219,7 +219,7 @@ parse_raw_operand(struct expression_parser_context *ctx, const char *str, const
219219 };
220220 ctx -> need_context = true;
221221 } else {
222- asprintf (err , "variable name \"%.*s\" is not defined" , (int )(* end - str ), str );
222+ casprintf (err , "variable name \"%.*s\" is not defined" , (int )(* end - str ), str );
223223 * end = str ;
224224 return ;
225225 }
@@ -245,8 +245,8 @@ static inline double op_eval(double l, enum op op, double r) {
245245}
246246static bool pop_op (const char * input_str , struct expression_parser_context * ctx , char * * err ) {
247247 if (ctx -> operand_top < 2 ) {
248- asprintf (err , "Missing operand for operator %c, in expression %s" ,
249- ctx -> op_stack [ctx -> op_top - 1 ], input_str );
248+ casprintf (err , "Missing operand for operator %c, in expression %s" ,
249+ ctx -> op_stack [ctx -> op_top - 1 ], input_str );
250250 return false;
251251 }
252252 auto f = ctx -> entry -> entry_point ;
@@ -298,7 +298,7 @@ static bool parse_operand_or_paren(struct expression_parser_context *ctx,
298298 }
299299 }
300300 if (ctx -> op_top == 0 ) {
301- asprintf (err , "Unmatched ')' in expression \"%s\"" , input_str );
301+ casprintf (err , "Unmatched ')' in expression \"%s\"" , input_str );
302302 return false;
303303 }
304304 ctx -> op_top -= 1 ;
@@ -379,7 +379,7 @@ static bool expression_compile(struct compilation_stack **stack_entry, const cha
379379 }
380380 }
381381 if (ctx .operand_top != 1 ) {
382- asprintf (err , "excessive operand on stack %s" , input_str );
382+ casprintf (err , "excessive operand on stack %s" , input_str );
383383 goto end ;
384384 }
385385 succeeded = true;
@@ -439,8 +439,8 @@ transition_compile(struct compilation_stack **stack_entry, config_setting_t *set
439439 if (config_setting_lookup_string (setting , "curve" , & str )) {
440440 curve = curve_parse (str , & str , & err );
441441 if (curve .type == CURVE_INVALID ) {
442- asprintf (out_err , "Cannot parse curve at line %d: %s" ,
443- config_setting_source_line (setting ), err );
442+ casprintf (out_err , "Cannot parse curve at line %d: %s" ,
443+ config_setting_source_line (setting ), err );
444444 free (err );
445445 return false;
446446 }
@@ -467,14 +467,14 @@ transition_compile(struct compilation_stack **stack_entry, config_setting_t *set
467467 if (config_setting_lookup_float (setting , "start" , & number )) {
468468 start = make_imm_stack_entry (ctx , number , start_slot , true);
469469 } else if (!config_setting_lookup_string (setting , "start" , & str )) {
470- asprintf (out_err ,
471- "Transition definition does not contain a start value or "
472- "expression. Line %d." ,
473- config_setting_source_line (setting ));
470+ casprintf (out_err ,
471+ "Transition definition does not contain a start value or "
472+ "expression. Line %d." ,
473+ config_setting_source_line (setting ));
474474 return false;
475475 } else if (!expression_compile (& start , str , ctx , start_slot , !reset , & err )) {
476- asprintf (out_err , "transition has an invalid start expression: %s Line %d." ,
477- err , config_setting_source_line (setting ));
476+ casprintf (out_err , "transition has an invalid start expression: %s Line %d." ,
477+ err , config_setting_source_line (setting ));
478478 free (err );
479479 return false;
480480 }
@@ -487,18 +487,18 @@ transition_compile(struct compilation_stack **stack_entry, config_setting_t *set
487487 .imm = number ,
488488 };
489489 } else if (!config_setting_lookup_string (setting , "end" , & str )) {
490- asprintf (out_err ,
491- "Transition definition does not contain a end value or "
492- "expression. Line %d." ,
493- config_setting_source_line (setting ));
490+ casprintf (out_err ,
491+ "Transition definition does not contain a end value or "
492+ "expression. Line %d." ,
493+ config_setting_source_line (setting ));
494494 return false;
495495 } else {
496496 BUG_ON (ctx -> allocated_slots > UINT_MAX - 1 );
497497 auto end_slot = ctx -> allocated_slots ++ ;
498498 if (!expression_compile (& end , str , ctx , end_slot , false, & err )) {
499- asprintf (out_err ,
500- "Transition has an invalid end expression: %s. Line %d" ,
501- err , config_setting_source_line (setting ));
499+ casprintf (out_err ,
500+ "Transition has an invalid end expression: %s. Line %d" ,
501+ err , config_setting_source_line (setting ));
502502 free (err );
503503 return false;
504504 }
@@ -510,26 +510,28 @@ transition_compile(struct compilation_stack **stack_entry, config_setting_t *set
510510
511511 if (config_setting_lookup_float (setting , "duration" , & number )) {
512512 if (number == 0 ) {
513- asprintf (out_err , "Duration must be greater than 0. Line %d." ,
514- config_setting_source_line (setting ));
513+ casprintf (out_err , "Duration must be greater than 0. Line %d." ,
514+ config_setting_source_line (setting ));
515515 return false;
516516 }
517517 load_parameters [1 ] = (struct instruction ){
518518 .type = INST_IMM ,
519519 .imm = number ,
520520 };
521521 } else if (!config_setting_lookup_string (setting , "duration" , & str )) {
522- asprintf (out_err ,
523- "Transition definition does not contain a duration value or "
524- "expression. Line %d." ,
525- config_setting_source_line (setting ));
522+ casprintf (out_err ,
523+ "Transition definition does not contain a duration value or "
524+ "expression. Line %d." ,
525+ config_setting_source_line (setting ));
526526 return false;
527527 } else {
528528 BUG_ON (ctx -> allocated_slots > UINT_MAX - 1 );
529529 auto duration_slot = ctx -> allocated_slots ++ ;
530530 if (!expression_compile (& end , str , ctx , duration_slot , false, & err )) {
531- asprintf (out_err , "Transition has an invalid duration expression: %s. Line %d" ,
532- err , config_setting_source_line (setting ));
531+ casprintf (out_err ,
532+ "Transition has an invalid duration expression: %s. "
533+ "Line %d" ,
534+ err , config_setting_source_line (setting ));
533535 free (err );
534536 return false;
535537 }
@@ -553,8 +555,8 @@ transition_compile(struct compilation_stack **stack_entry, config_setting_t *set
553555 BUG_ON (ctx -> allocated_slots > UINT_MAX - 1 );
554556 auto delay_slot = ctx -> allocated_slots ++ ;
555557 if (!expression_compile (& end , str , ctx , delay_slot , false, & err )) {
556- asprintf (out_err , "Transition has an invalid delay expression: %s. Line %d" ,
557- err , config_setting_source_line (setting ));
558+ casprintf (out_err , "Transition has an invalid delay expression: %s. Line %d" ,
559+ err , config_setting_source_line (setting ));
558560 free (err );
559561 return false;
560562 }
@@ -730,18 +732,19 @@ static bool script_compile_one(struct compilation_stack **stack_entry, config_se
730732 bool succeeded =
731733 expression_compile (stack_entry , str , ctx , alloc -> slot , false, & tmp_err );
732734 if (!succeeded ) {
733- asprintf (err , "Failed to parse expression at line %d. %s" ,
734- config_setting_source_line (var ), tmp_err );
735+ casprintf (err , "Failed to parse expression at line %d. %s" ,
736+ config_setting_source_line (var ), tmp_err );
735737 free (tmp_err );
736738 }
737739 return succeeded ;
738740 }
739741
740742 if (!config_setting_is_group (var )) {
741- asprintf (err ,
742- "Invalid variable \"%s\", it must be either a number, a string, "
743- "or a config group defining a transition." ,
744- config_setting_name (var ));
743+ casprintf (err ,
744+ "Invalid variable \"%s\", it must be either a number, a "
745+ "string, "
746+ "or a config group defining a transition." ,
747+ config_setting_name (var ));
745748 return false;
746749 }
747750 return transition_compile (stack_entry , var , ctx , alloc -> slot , err );
@@ -772,8 +775,8 @@ static void report_cycle(struct compilation_stack **stack, unsigned top, unsigne
772775 }
773776 strcpy (pos , last_name );
774777
775- asprintf (err , "Cyclic references detected in animation script defined at line %d: %s" ,
776- config_setting_source_line (setting ), buf );
778+ casprintf (err , "Cyclic references detected in animation script defined at line %d: %s" ,
779+ config_setting_source_line (setting ), buf );
777780 free (buf );
778781}
779782
0 commit comments