メールヘッダーのDate:の解析部分。 検証環境が無かったため4月になるまで誰も気づきませんでした…
#include <time.h>
#define SUCCESS ((int)0);
#define MONTH_MAX 11
#define MONTH_LENGTH 3
static char MONTH[] = { "Jan", "Feb", "Mar", "Apl", "May", "Jun", "Jul", "Aug",
"Sep", "Oct", "Nov" };
/* メールのDate:ヘッダーから送信時刻を取り出す */
int get_mail_date(char* dateheader, struct tm *timevalue)
{
int i = MONTH_MAX;
char* month;
/* 略:ヘッダ切り出し monthはヘッダ文字列部分の先頭を指す */
/* 略:曜日解析 */
/* 略:日付解析 */
/* 月解析 */
for (i = 0; i < MONTH_MAX; i++)
{
if (0 == strncmp(month, MONTH[i], MONTH_LENGTH))
{
timevalue->tm_mon = i;
break;
}
}
/* 略:年解析 */
/* 略:時解析 */
/* 略:分解析 */
/* 略:秒解析 */
/* 略:TIMEZONE解析 */
return SUCCESS ;
}
12行目をMONTH_MAXで初期化するのは意味があるんですか
やっとわかった。自分もワンライナーとかでたまにやらかす。
ああ、AplじゃなくてAprってことかぁw
なんか新しいパターンやなw