summaryrefslogtreecommitdiff
path: root/web
diff options
context:
space:
mode:
authorDavid Vazgenovich Shakaryan <dvshakaryan@gmail.com>2022-05-25 00:57:32 -0700
committerDavid Vazgenovich Shakaryan <dvshakaryan@gmail.com>2022-05-25 00:58:15 -0700
commit9edcd68e7ddcdc4deca8c07b5b1c3c59cef13255 (patch)
tree1a7a0069e8d51709238d991dc43f0323ec32bb9c /web
parent9a02c0367351c311734f42ab2afe2b377ca12908 (diff)
downloaddartboat-9edcd68e7ddcdc4deca8c07b5b1c3c59cef13255.tar.gz
dartboat-9edcd68e7ddcdc4deca8c07b5b1c3c59cef13255.tar.xz
pregenerate segment names to avoid constant mallocs
Diffstat (limited to 'web')
-rw-r--r--web/Makefile2
-rw-r--r--web/web_control.c5
-rw-r--r--web/web_scoreboard.c7
3 files changed, 5 insertions, 9 deletions
diff --git a/web/Makefile b/web/Makefile
index 07b7d78..aa2666a 100644
--- a/web/Makefile
+++ b/web/Makefile
@@ -1,6 +1,6 @@
CC := emcc
-CFLAGS += -O3 -Wall -Wextra -Wno-unknown-warning-option -I../ \
+CFLAGS += -O3 -Wall -Wextra -I../ \
-sNO_EXIT_RUNTIME=1 \
-sENVIRONMENT=web \
-sEXPORTED_FUNCTIONS=_main,_malloc,_free \
diff --git a/web/web_control.c b/web/web_control.c
index a7a53cf..07d52b1 100644
--- a/web/web_control.c
+++ b/web/web_control.c
@@ -81,9 +81,8 @@ static void schedule_boat_visit_draws(struct leg *l, struct visit *v,
for (int i = 0; i < v->n_darts; ++i) {
pts += segment_points(v->darts[i]);
- char *seg_name = segment_name(v->darts[i]);
- len_str += sprintf(str + len_str, i ? "-%s" : "%s", seg_name);
- free(seg_name);
+ len_str += sprintf(str + len_str, i ? "-%s" : "%s",
+ segment_name(v->darts[i]));
struct ccoords c = v->ccoords[i];
diff --git a/web/web_scoreboard.c b/web/web_scoreboard.c
index 2e998cc..ed25b33 100644
--- a/web/web_scoreboard.c
+++ b/web/web_scoreboard.c
@@ -262,12 +262,9 @@ static const char *points_class(int pts)
static void buf_darts(char *buf, size_t size, struct visit *v)
{
char *ptr = buf;
- for (int j = 0; j < v->n_darts; ++j) {
- char *n = segment_name(v->darts[j]);
+ for (int j = 0; j < v->n_darts; ++j)
ptr += snprintf(ptr, size - (ptr - buf),
- j == 0 ? "%s" : "-%s", n);
- free(n);
- }
+ j == 0 ? "%s" : "-%s", segment_name(v->darts[j]));
}
void draw_visits_dense()