fixup! Add strptime(3).
This commit is contained in:
parent
6721b7b7ce
commit
2239ab6271
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue