fix time gap bug

This commit is contained in:
2025-09-29 17:16:26 +08:00
parent a5f477647f
commit 078cfb19ea
+10 -5
View File
@@ -5,7 +5,11 @@
#include "pose_body.h"
Polygon workspace;
time_gap_t global_time_gap;
time_gap_t global_time_gap = {
.in = 0,
.size = 0,
.periods = NULL,
};
void dump_polygon_to_file(char *filename) {
FILE *fp = fopen(filename, "w+");
@@ -164,11 +168,11 @@ int should_do_judge_according_time() {
} else {
// not in
for (int i = 0; i < global_time_gap.size; i++) {
if (global_time_gap.periods[i].from > now || global_time_gap.periods[i].to < now) {
if (global_time_gap.periods[i].from <= now && global_time_gap.periods[i].to >= now) {
return 0;
}
return 1;
}
return 1;
}
}
@@ -260,9 +264,10 @@ int get_all_time_period_from_arguments(const char *str) {
char *rest;
char *info;
char *start = origin;
char *start = origin+offset;
printf(in ? "in" : "not in ");
global_time_gap.in = in;
global_time_gap.periods = (time_period_t*) malloc(sizeof(time_period_t)*64);
int size = 0;
@@ -273,7 +278,7 @@ int get_all_time_period_from_arguments(const char *str) {
return -2;
}
global_time_gap.periods[size].from = period->from;
global_time_gap.periods[size].from = period->to;
global_time_gap.periods[size].to = period->to;
free(period);
size++;
if (size >= 64) {