Skip to content

Commit b47d13b

Browse files
committed
[ci skip] increate c err msg size
1 parent 006502b commit b47d13b

File tree

2 files changed

+7
-6
lines changed

2 files changed

+7
-6
lines changed

docs/python-c.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ typedef struct exampleCache exampleCache;
113113
typedef struct {
114114
exampleExitStatus exit_status;
115115
int error_code;
116-
char error_message[256];
116+
char error_message[1024];
117117
unsigned long num_outer_iterations;
118118
unsigned long num_inner_iterations;
119119
double last_problem_norm_fpr;

open-codegen/opengen/templates/c/optimizer_cinterface.rs.jinja

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
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

1112
const {{meta.optimizer_name|upper}}_NO_ERROR_CODE: c_int = 0;
1213
const {{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

1516
impl {{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

2526
fn 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

Comments
 (0)