11{% if activate_clib_generation -%}
2+ {% set error_message_capacity = 1024 -%}
23// ---Export functionality from Rust to C/C++ --------------
34
45/// Solver cache (structure `{{meta.optimizer_name}}Cache`)
@@ -10,21 +11,21 @@ pub struct {{meta.optimizer_name}}Cache {
1011
1112const {{meta.optimizer_name|upper}}_NO_ERROR_CODE: c_int = 0;
1213const {{meta.optimizer_name|upper}}_SOLVER_ERROR_CODE: c_int = 2000;
13- const {{meta.optimizer_name|upper}}_ERROR_MESSAGE_CAPACITY: usize = 256 ;
14+ const {{meta.optimizer_name|upper}}_ERROR_MESSAGE_CAPACITY: usize = {{ error_message_capacity }} ;
1415
1516impl {{meta.optimizer_name}}Cache {
1617 pub fn new(cache: AlmCache) -> Self {
1718 {{meta.optimizer_name}}Cache { cache }
1819 }
1920}
2021
21- fn empty_error_message() -> [c_char; 256 ] {
22- [0 as c_char; 256 ]
22+ fn empty_error_message() -> [c_char; {{ error_message_capacity }} ] {
23+ [0 as c_char; {{ error_message_capacity }} ]
2324}
2425
2526fn error_message_to_c_array(
2627 message: &str,
27- ) -> [c_char; 256 ] {
28+ ) -> [c_char; {{ error_message_capacity }} ] {
2829 let mut buffer = empty_error_message();
2930 let max_len = {{meta.optimizer_name|upper}}_ERROR_MESSAGE_CAPACITY - 1;
3031 for (idx, byte) in message.as_bytes().iter().copied().take(max_len).enumerate() {
@@ -63,7 +64,7 @@ pub struct {{meta.optimizer_name}}SolverStatus {
6364 /// Detailed error code (0 on success)
6465 error_code: c_int,
6566 /// Detailed error message (empty string on success)
66- error_message: [c_char; 256 ],
67+ error_message: [c_char; {{ error_message_capacity }} ],
6768 /// Number of outer iterations
6869 num_outer_iterations: c_ulong,
6970 /// Total number of inner iterations
0 commit comments