fixup! Add strptime(3).

This commit is contained in:
Jonas 'Sortie' Termansen 2023-03-22 00:04:06 +01:00
parent 6721b7b7ce
commit 2239ab6271
1 changed files with 0 additions and 80 deletions

View File

@ -24,11 +24,6 @@
#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",
@ -237,78 +232,3 @@ 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