Skip to content

Commit eaea852

Browse files
authored
Merge pull request #558 from LinuxJedi/pico-time-fix
Fix handling of `XTIME(0)`
2 parents a469e04 + 9337dc0 commit eaea852

3 files changed

Lines changed: 12 additions & 5 deletions

File tree

RPi-Pico/src/bench_main.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@ int main(int argc, char **argv)
4646
#include <time.h>
4747
time_t myTime(time_t *t)
4848
{
49-
*t = (((2023 - 1970) * 12 + 8) * 30 * 24 * 60 * 60);
50-
return *t;
49+
time_t sec = (((2023 - 1970) * 12 + 8) * 30 * 24 * 60 * 60);
50+
if (t)
51+
*t = sec;
52+
return sec;
5153
}

RPi-Pico/src/test_main.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ int main(int argc, char **argv)
4747
#include <time.h>
4848
time_t myTime(time_t *t)
4949
{
50-
*t = (((2023 - 1970) * 12 + 8) * 30 * 24 * 60 * 60);
51-
return *t;
50+
time_t sec = (((2023 - 1970) * 12 + 8) * 30 * 24 * 60 * 60);
51+
if (t)
52+
*t = sec;
53+
return sec;
5254
}

RPi-Pico/src/time.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,10 @@ static long epoch_base;
1111

1212
time_t myTime(time_t *tt)
1313
{
14-
return epoch_base + (xTaskGetTickCount() / configTICK_RATE_HZ);
14+
time_t sec = epoch_base + (xTaskGetTickCount() / configTICK_RATE_HZ);
15+
if (tt)
16+
*tt = sec;
17+
return sec;
1518
}
1619

1720
int time_init()

0 commit comments

Comments
 (0)