diff --git a/sm/csm/math_utils.c b/sm/csm/math_utils.c index 04e66e411c10539b017e6f3dad4d6a63a58a2c2d..275aabf2e00d4e4951cd4d13855f07b72f0ae3b9 100644 --- a/sm/csm/math_utils.c +++ b/sm/csm/math_utils.c @@ -262,7 +262,7 @@ double segment_alpha(const double p0[2], const double p1[2]) { } -static char tmp_buf[100]; +static char tmp_buf[1024]; const char* friendly_pose(const double*pose) { sprintf(tmp_buf, "(%4.2f mm, %4.2f mm, %4.4f deg)", 1000*pose[0],1000*pose[1],rad2deg(pose[2])); diff --git a/sm/csm/math_utils_gsl.c b/sm/csm/math_utils_gsl.c index 5ec42d374833efd8bb804525c361a47e6703012b..1bb120c2fe0590da648531e8e8d8eb291b7894aa 100644 --- a/sm/csm/math_utils_gsl.c +++ b/sm/csm/math_utils_gsl.c @@ -66,7 +66,7 @@ const char* gsl_friendly_pose(gsl_vector*v) { return friendly_pose(v->data); } -static char egsl_tmp_buf[100]; +static char egsl_tmp_buf[1024]; const char* egsl_friendly_pose(val v) { sprintf(egsl_tmp_buf, "(%4.2f mm, %4.2f mm, %4.4f deg)", 1000*egsl_atv(v,0), diff --git a/sm/lib/egsl/egsl.c b/sm/lib/egsl/egsl.c index 387d04f7aac6113ed9888d4c6e2e4986a84e4c46..bfecfdc55fddf8fa73bd30b708b6443290856ccc 100644 --- a/sm/lib/egsl/egsl.c +++ b/sm/lib/egsl/egsl.c @@ -99,18 +99,19 @@ void egsl_push_named(const char*name) { egsl_first_time = 0; } cid++; - if(max_cid < cid) max_cid = cid; - if(name != 0) - sprintf(egsl_contexts[cid].name, "%s", name); - else - sprintf(egsl_contexts[cid].name, "Unnamed context"); - if(cid >= MAX_CONTEXTS) { fprintf(stderr, "egsl: maximum number of contexts reached \n"); egsl_print_stats(); assert(0); } + + if(max_cid < cid) max_cid = cid; + + if(name != 0) + sprintf(egsl_contexts[cid].name, "%s", name); + else + sprintf(egsl_contexts[cid].name, "Unnamed context"); } void egsl_pop_named(const char*name) { @@ -147,7 +148,7 @@ void egsl_print_stats() { fprintf(stderr, "egsl: total allocations: %d cache hits: %d\n", egsl_total_allocations, egsl_cache_hits); /* printf("egsl: sizeof(val) = %d\n",(int)sizeof(val)); */ - int c; for(c=0;c<=max_cid;c++) { + int c; for(c=0;c<=max_cid&&c<MAX_CONTEXTS;c++) { /* printf("egsl: context #%d\n ",c); */ /* if(0==egsl_contexts[c].nallocated) break; */ fprintf(stderr, "egsl: context #%d allocations: %d active: %d name: '%s' \n",