/* This file is part of mailfromd. -*- c -*- Copyright (C) 2006, 2007 Sergey Poznyakoff This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include "strftime.h" MF_DEFUN(system, NUMBER, STRING str) { MF_RETURN(system(str)); } END MF_DEFUN(time, NUMBER) { time_t t = time(NULL); MF_RETURN(t); } END MF_DEFUN(strftime, STRING, STRING fmt, NUMBER timestamp, OPTIONAL, NUMBER gmt) { time_t t = timestamp; struct tm *tm = gmt ? gmtime(&t) : localtime(&t); size_t size = nstrftime(NULL, (size_t) -1, fmt, tm, 0, 0); size_t off; char *s = MF_ALLOC_HEAP(off, size + 1); size = nstrftime(s, size + 1, fmt, tm, 0, 0); MF_RETURN(off); } END MF_INIT