Compare commits
33 Commits
2239ab6271
...
aacec27864
Author | SHA1 | Date |
---|---|---|
Jonas 'Sortie' Termansen | aacec27864 | |
Jonas 'Sortie' Termansen | d2c98889bd | |
Jonas 'Sortie' Termansen | 632b3ba422 | |
Jonas 'Sortie' Termansen | d222003590 | |
Jonas 'Sortie' Termansen | 99c71085f8 | |
Jonas 'Sortie' Termansen | f42e81e99d | |
Jonas 'Sortie' Termansen | bf5a85c1c4 | |
Jonas 'Sortie' Termansen | 77a373281e | |
Jonas 'Sortie' Termansen | 803d46e913 | |
Jonas 'Sortie' Termansen | 5f1e478ab6 | |
Jonas 'Sortie' Termansen | 77873003be | |
Jonas 'Sortie' Termansen | 8de7d4c1a2 | |
Jonas 'Sortie' Termansen | e4171ecc72 | |
Jonas 'Sortie' Termansen | e3df9c65cc | |
Jonas 'Sortie' Termansen | db69fcc491 | |
Jonas 'Sortie' Termansen | ca80135bb1 | |
Jonas 'Sortie' Termansen | 3ba6e00e6c | |
Jonas 'Sortie' Termansen | 7e9d36d3a1 | |
Jonas 'Sortie' Termansen | 5a28384a9e | |
Jonas 'Sortie' Termansen | a1715426af | |
Jonas 'Sortie' Termansen | a4d43b1342 | |
Jonas 'Sortie' Termansen | 551043a5d5 | |
Jonas 'Sortie' Termansen | 26bc45490a | |
Jonas 'Sortie' Termansen | 0137e4f0c3 | |
Jonas 'Sortie' Termansen | 640f3f7ff8 | |
Jonas 'Sortie' Termansen | 7ebce1c6a9 | |
Jonas 'Sortie' Termansen | 5abac315c8 | |
Jonas 'Sortie' Termansen | c457b1cb86 | |
Jonas 'Sortie' Termansen | d8a1c7565c | |
Jonas 'Sortie' Termansen | 86f9f9f080 | |
Jonas 'Sortie' Termansen | 2c0f03b7f9 | |
Jonas 'Sortie' Termansen | 07efe17313 | |
Jonas 'Sortie' Termansen | 8c824d3caa |
|
@ -24,6 +24,11 @@
|
|||
#include <string.h>
|
||||
#include <time.h>
|
||||
|
||||
#ifdef TEST
|
||||
#include <stdio.h>
|
||||
#define strptime mystrptime
|
||||
#endif
|
||||
|
||||
static const char* wdays[] = {"Sunday", "Monday", "Tuesday", "Wednesday",
|
||||
"Thursday", "Friday", "Saturday", NULL};
|
||||
static const char* months[] = {"January", "February", "March", "April", "May",
|
||||
|
@ -232,3 +237,78 @@ char* strptime(const char* restrict str,
|
|||
}
|
||||
return (char*) str;
|
||||
}
|
||||
|
||||
#ifdef TEST
|
||||
#undef strptime
|
||||
|
||||
#include <err.h>
|
||||
#include <stdio.h>
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
if ( argc < 3 )
|
||||
err(1, "usage");
|
||||
const char* str = argv[1];
|
||||
const char* format = argv[2];
|
||||
struct tm my_tm = {0};
|
||||
char* my_end = mystrptime(str, format, &my_tm);
|
||||
struct tm c_tm = {0};
|
||||
char* c_end = strptime(str, format, &c_tm);
|
||||
if ( !my_end && c_end )
|
||||
errx(1, "rejected but c allowed it");
|
||||
else if ( !my_end )
|
||||
errx(1, "rejected correctly");
|
||||
else if ( !c_end )
|
||||
printf("allowed but c rejected\n");
|
||||
else if ( my_end != c_end )
|
||||
errx(1, "mismatch my end \"%s\" vs c end \"%s\"", my_end, c_end);
|
||||
|
||||
if ( my_tm.tm_sec == c_tm.tm_sec )
|
||||
printf("tm_sec=%i\n", my_tm.tm_sec);
|
||||
else
|
||||
printf("tm_sec=%i but C is %i\n", my_tm.tm_sec, c_tm.tm_sec);
|
||||
|
||||
if ( my_tm.tm_min == c_tm.tm_min )
|
||||
printf("tm_min=%i\n", my_tm.tm_min);
|
||||
else
|
||||
printf("tm_min=%i but C is %i\n", my_tm.tm_min, c_tm.tm_min);
|
||||
|
||||
if ( my_tm.tm_hour == c_tm.tm_hour )
|
||||
printf("tm_hour=%i\n", my_tm.tm_hour);
|
||||
else
|
||||
printf("tm_hour=%i but C is %i\n", my_tm.tm_hour, c_tm.tm_hour);
|
||||
|
||||
if ( my_tm.tm_mday == c_tm.tm_mday )
|
||||
printf("tm_mday=%i\n", my_tm.tm_mday);
|
||||
else
|
||||
printf("tm_mday=%i but C is %i\n", my_tm.tm_mday, c_tm.tm_mday);
|
||||
|
||||
if ( my_tm.tm_mon == c_tm.tm_mon )
|
||||
printf("tm_mon=%i\n", my_tm.tm_mon);
|
||||
else
|
||||
printf("tm_mon=%i but C is %i\n", my_tm.tm_mon, c_tm.tm_mon);
|
||||
|
||||
if ( my_tm.tm_year == c_tm.tm_year )
|
||||
printf("tm_year=%i\n", my_tm.tm_year);
|
||||
else
|
||||
printf("tm_year=%i but C is %i\n", my_tm.tm_year, c_tm.tm_year);
|
||||
|
||||
if ( my_tm.tm_wday == c_tm.tm_wday )
|
||||
printf("tm_wday=%i\n", my_tm.tm_wday);
|
||||
else
|
||||
printf("tm_wday=%i but C is %i\n", my_tm.tm_wday, c_tm.tm_wday);
|
||||
|
||||
if ( my_tm.tm_yday == c_tm.tm_yday )
|
||||
printf("tm_yday=%i\n", my_tm.tm_yday);
|
||||
else
|
||||
printf("tm_yday=%i but C is %i\n", my_tm.tm_yday, c_tm.tm_yday);
|
||||
|
||||
if ( my_tm.tm_isdst == c_tm.tm_isdst )
|
||||
printf("tm_isdst=%i\n", my_tm.tm_isdst);
|
||||
else
|
||||
printf("tm_isdst=%i but C is %i\n", my_tm.tm_isdst, c_tm.tm_isdst);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue