add: version.h
fix: refactor
This commit is contained in:
parent
532750da74
commit
f5f9be803c
36 changed files with 27 additions and 34 deletions
src/models
47
src/models/period.c
Normal file
47
src/models/period.c
Normal file
|
@ -0,0 +1,47 @@
|
|||
#include <stdlib.h>
|
||||
|
||||
#include <logger.h>
|
||||
#include <constants.h>
|
||||
#include <models/period.h>
|
||||
|
||||
period_t*
|
||||
period_create(uint16_t start, uint16_t end)
|
||||
{
|
||||
period_t *new_period = malloc(sizeof(period_t));
|
||||
new_period->start = start;
|
||||
new_period->end = end;
|
||||
|
||||
return new_period;
|
||||
}
|
||||
|
||||
int
|
||||
period_includes_time(period_t *period, struct tm *time_struct)
|
||||
{
|
||||
uint16_t start = period->start;
|
||||
uint16_t end = period->end;
|
||||
|
||||
time_t timestamp = time_struct->tm_hour * 60;
|
||||
timestamp += time_struct->tm_min;
|
||||
|
||||
// "normal" timespan
|
||||
if(start < end)
|
||||
{
|
||||
if(start <= timestamp && end > timestamp)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
// timespan goes through 00:00
|
||||
if(end < start)
|
||||
{
|
||||
if(start >= timestamp && end < timestamp)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue