More complete date helper and tests
This commit is contained in:
parent
2b7aa649b5
commit
ca2789995f
|
@ -33,7 +33,8 @@ time_t mailer_helper_get_date(char const * date, struct tm * tm)
|
||||||
|
|
||||||
if(date != NULL)
|
if(date != NULL)
|
||||||
/* FIXME check the standard(s) again */
|
/* FIXME check the standard(s) again */
|
||||||
if(_date_do(date, "%a, %d %b %Y %T %z", tm) == 0
|
if(_date_do(date, "%a, %d %b %Y %T %z (%z)", tm) == 0
|
||||||
|
|| _date_do(date, "%a, %d %b %Y %T %z", tm) == 0
|
||||||
|| _date_do(date, "%d %b %Y %T %z", tm) == 0
|
|| _date_do(date, "%d %b %Y %T %z", tm) == 0
|
||||||
|| _date_do(date, "%d/%m/%Y %T %z", tm) == 0
|
|| _date_do(date, "%d/%m/%Y %T %z", tm) == 0
|
||||||
|| _date_do(date, "%d/%m/%Y %T", tm) == 0
|
|| _date_do(date, "%d/%m/%Y %T", tm) == 0
|
||||||
|
@ -52,6 +53,10 @@ static int _date_do(char const * date, char const * format, struct tm * tm)
|
||||||
memset(tm, 0, sizeof(*tm));
|
memset(tm, 0, sizeof(*tm));
|
||||||
if((p = strptime(date, format, tm)) != NULL && *p == '\0')
|
if((p = strptime(date, format, tm)) != NULL && *p == '\0')
|
||||||
return 0;
|
return 0;
|
||||||
|
/* check if we obtained enough information */
|
||||||
|
if(p != NULL && tm->tm_year != 0 && tm->tm_mday != 0)
|
||||||
|
/* XXX _apparently_ yes */
|
||||||
|
return 0;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@ all: $(TARGETS)
|
||||||
|
|
||||||
date_OBJS = date.o
|
date_OBJS = date.o
|
||||||
date_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS)
|
date_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS)
|
||||||
date_LDFLAGS = $(LDFLAGSF) $(LDFLAGS) -L ../src -Wl,-rpath,../src -lMailer
|
date_LDFLAGS = $(LDFLAGSF) $(LDFLAGS)
|
||||||
|
|
||||||
date: $(date_OBJS)
|
date: $(date_OBJS)
|
||||||
$(CC) -o date $(date_OBJS) $(date_LDFLAGS)
|
$(CC) -o date $(date_OBJS) $(date_LDFLAGS)
|
||||||
|
@ -41,7 +41,7 @@ imap4: $(imap4_OBJS)
|
||||||
tests.log: date email imap4
|
tests.log: date email imap4
|
||||||
./tests.sh -P "$(PREFIX)" -- "tests.log"
|
./tests.sh -P "$(PREFIX)" -- "tests.log"
|
||||||
|
|
||||||
date.o: date.c ../src/libMailer.a
|
date.o: date.c ../src/helper.c
|
||||||
$(CC) $(date_CFLAGS) -c date.c
|
$(CC) $(date_CFLAGS) -c date.c
|
||||||
|
|
||||||
email.o: email.c ../src/libMailer.a
|
email.o: email.c ../src/libMailer.a
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include "Mailer.h"
|
#include "../src/helper.c"
|
||||||
|
|
||||||
|
|
||||||
/* date */
|
/* date */
|
||||||
|
@ -49,6 +49,10 @@ int main(int argc, char * argv[])
|
||||||
|
|
||||||
ret += _date(argv[0], expected, expected);
|
ret += _date(argv[0], expected, expected);
|
||||||
ret += _date(argv[0], expected, "10 Nov 2011 10:11:12 -0000");
|
ret += _date(argv[0], expected, "10 Nov 2011 10:11:12 -0000");
|
||||||
|
ret += _date(argv[0], expected,
|
||||||
|
"Thu, 10 Nov 2011 10:11:12 -0000 (CET)");
|
||||||
|
ret += _date(argv[0], expected,
|
||||||
|
"Thu, 10 Nov 2011 10:11:12 +0000");
|
||||||
ret += _date(argv[0], NULL, "");
|
ret += _date(argv[0], NULL, "");
|
||||||
ret += _date(argv[0], NULL, NULL);
|
ret += _date(argv[0], NULL, NULL);
|
||||||
return (ret == 0) ? 0 : ret + 1;
|
return (ret == 0) ? 0 : ret + 1;
|
||||||
|
|
|
@ -8,10 +8,9 @@ dist=Makefile,tests.sh
|
||||||
[date]
|
[date]
|
||||||
type=binary
|
type=binary
|
||||||
sources=date.c
|
sources=date.c
|
||||||
ldflags=-L ../src -Wl,-rpath,../src -lMailer
|
|
||||||
|
|
||||||
[date.c]
|
[date.c]
|
||||||
depends=../src/libMailer.a
|
depends=../src/helper.c
|
||||||
|
|
||||||
[email]
|
[email]
|
||||||
type=binary
|
type=binary
|
||||||
|
|
Loading…
Reference in New Issue
Block a user