}
else {
tt = icaltime_as_timet(t);
- webcit_fmt_date(buf, tt, DATEFMT_FULL);
+ webcit_fmt_date(buf, 256, tt, DATEFMT_FULL);
StrBufAppendPrintf(Target, "<dt>");
StrBufAppendPrintf(Target, _("Starting date/time:"));
StrBufAppendPrintf(Target, "</dt><dd>%s</dd>", buf);
if (p != NULL) {
t = icalproperty_get_dtend(p);
tt = icaltime_as_timet(t);
- webcit_fmt_date(buf, tt, DATEFMT_FULL);
+ webcit_fmt_date(buf, 256, tt, DATEFMT_FULL);
StrBufAppendPrintf(Target, "<dt>");
StrBufAppendPrintf(Target, _("Ending date/time:"));
StrBufAppendPrintf(Target, "</dt><dd>%s</dd>", buf);
}
else {
tt = icaltime_as_timet(t);
- webcit_fmt_date(buf, tt, DATEFMT_BRIEF);
+ webcit_fmt_date(buf, 256, tt, DATEFMT_BRIEF);
if (no_end || !icaltime_compare(t, end_t)) {
wprintf("<i>%s</i> %s<br>",
_("Date/time:"), buf);
wprintf("<i>%s</i> %s<br>",
_("Starting date/time:"), buf);
tt = icaltime_as_timet(end_t);
- webcit_fmt_date(buf, tt, DATEFMT_BRIEF);
+ webcit_fmt_date(buf, 256, tt, DATEFMT_BRIEF);
wprintf("<i>%s</i> %s<br>", _("Ending date/time:"), buf);
}
wprintf("<br />");
}
if (!icaltime_compare(t, end_t)) { /* one day only */
- webcit_fmt_date(buf, event_tt, DATEFMT_LOCALEDATE);
+ webcit_fmt_date(buf, 256, event_tt, DATEFMT_LOCALEDATE);
wprintf("<i>%s</i> %s<br>", _("Date:"), buf);
}
else {
- webcit_fmt_date(buf, event_tt, DATEFMT_LOCALEDATE);
+ webcit_fmt_date(buf, 256, event_tt, DATEFMT_LOCALEDATE);
wprintf("<i>%s</i> %s<br>", _("Starting date:"), buf);
- webcit_fmt_date(buf, event_tte, DATEFMT_LOCALEDATE);
+ webcit_fmt_date(buf, 256, event_tte, DATEFMT_LOCALEDATE);
wprintf("<i>%s</i> %s<br>", _("Ending date:"), buf);
}
q = icalcomponent_get_first_property(Cal->cal,ICAL_DESCRIPTION_PROPERTY);
escputs((char *)icalproperty_get_comment(q));
wprintf("<br />");
}
- webcit_fmt_date(buf, event_tt, DATEFMT_BRIEF);
+ webcit_fmt_date(buf, 256, event_tt, DATEFMT_BRIEF);
wprintf("<i>%s</i> %s<br>", _("Starting date/time:"), buf);
- webcit_fmt_date(buf, event_tte, DATEFMT_BRIEF);
+ webcit_fmt_date(buf, 256, event_tte, DATEFMT_BRIEF);
wprintf("<i>%s</i> %s<br>", _("Ending date/time:"), buf);
q = icalcomponent_get_first_property(Cal->cal,ICAL_DESCRIPTION_PROPERTY);
if (q) {
wprintf("<br />");
}
if (!icaltime_compare(t, end_t)) { /* one day only */
- webcit_fmt_date(buf, event_tt, DATEFMT_BRIEF);
+ webcit_fmt_date(buf, 256, event_tt, DATEFMT_BRIEF);
wprintf("<i>%s</i> %s<br>", _("Date/time:"), buf);
}
else {
- webcit_fmt_date(buf, event_tt, DATEFMT_BRIEF);
+ webcit_fmt_date(buf, 256, event_tt, DATEFMT_BRIEF);
wprintf("<i>%s</i> %s<br>", _("Starting date/time:"), buf);
- webcit_fmt_date(buf, event_tte, DATEFMT_BRIEF);
+ webcit_fmt_date(buf, 256, event_tte, DATEFMT_BRIEF);
wprintf("<i>%s</i> %s<br>", _("Ending date/time:"), buf);
}
q = icalcomponent_get_first_property(Cal->cal,ICAL_DESCRIPTION_PROPERTY);
else {
all_day_event = 0;
}
- fmt_time(timestring, event_tt);
+ fmt_time(timestring, SIZ, event_tt);
if (all_day_event) {
gmtime_r(&event_tt, &event_tm);
due = get_task_due_date(Cal->cal, &is_date);
wprintf("<td><span");
if (due > 0) {
- webcit_fmt_date(buf, due, is_date ? DATEFMT_RAWDATE : DATEFMT_FULL);
+ webcit_fmt_date(buf, SIZ, due, is_date ? DATEFMT_RAWDATE : DATEFMT_FULL);
wprintf(">%s",buf);
}
else {
/*
* Format a date/time stamp for output
*/
-void webcit_fmt_date(char *buf, time_t thetime, int Format)
+void webcit_fmt_date(char *buf, size_t siz, time_t thetime, int Format)
{
struct tm tm;
struct tm today_tm;
&&(tm.tm_mon == today_tm.tm_mon)
&&(tm.tm_mday == today_tm.tm_mday)) {
if (time_format == WC_TIMEFORMAT_24)
- wc_strftime(buf, 32, "%k:%M", &tm);
+ wc_strftime(buf, siz, "%k:%M", &tm);
else
- wc_strftime(buf, 32, "%l:%M%p", &tm);
+ wc_strftime(buf, siz, "%l:%M%p", &tm);
}
else if (today_timet - thetime < 15552000) {
if (time_format == WC_TIMEFORMAT_24)
- wc_strftime(buf, 32, "%b %d %k:%M", &tm);
+ wc_strftime(buf, siz, "%b %d %k:%M", &tm);
else
- wc_strftime(buf, 32, "%b %d %l:%M%p", &tm);
+ wc_strftime(buf, siz, "%b %d %l:%M%p", &tm);
}
else {
- wc_strftime(buf, 32, "%b %d %Y", &tm);
+ wc_strftime(buf, siz, "%b %d %Y", &tm);
}
break;
case DATEFMT_FULL:
if (time_format == WC_TIMEFORMAT_24)
- wc_strftime(buf, 32, "%a %b %d %Y %T %Z", &tm);
+ wc_strftime(buf, siz, "%a %b %d %Y %T %Z", &tm);
else
- wc_strftime(buf, 32, "%a %b %d %Y %r %Z", &tm);
+ wc_strftime(buf, siz, "%a %b %d %Y %r %Z", &tm);
break;
case DATEFMT_RAWDATE:
- wc_strftime(buf, 32, "%a %b %d %Y", &tm);
+ wc_strftime(buf, siz, "%a %b %d %Y", &tm);
break;
case DATEFMT_LOCALEDATE:
- wc_strftime(buf, 32, "%x", &tm);
+ wc_strftime(buf, siz, "%x", &tm);
break;
}
}
* Try to guess whether the user will prefer 12 hour or 24 hour time based on the locale.
*/
long guess_calhourformat(void) {
- char buf[32];
+ char buf[64];
struct tm tm;
memset(&tm, 0, sizeof tm);
- wc_strftime(buf, 32, "%X", &tm);
+ wc_strftime(buf, 64, "%X", &tm);
if (buf[strlen(buf)-1] == 'M') {
return 12;
}
* buf the output buffer
* thetime time to format into buf
*/
-void fmt_time(char *buf, time_t thetime)
+void fmt_time(char *buf, size_t siz, time_t thetime)
{
struct tm *tm;
int hour;
hour = hour - 12;
if (time_format == WC_TIMEFORMAT_24) {
- sprintf(buf, "%d:%02d",
+ snprintf(buf, siz, "%d:%02d",
tm->tm_hour, tm->tm_min
);
}
else {
- sprintf(buf, "%d:%02d%s",
+ snprintf(buf, siz, "%d:%02d%s",
hour, tm->tm_min, ((tm->tm_hour > 12) ? "pm" : "am")
);
}
{
char datebuf[64];
message_summary *Msg = (message_summary*) CTX;
- webcit_fmt_date(datebuf, Msg->date, DATEFMT_BRIEF);
+ webcit_fmt_date(datebuf, 64, Msg->date, DATEFMT_BRIEF);
StrBufAppendBufPlain(Target, datebuf, -1, 0);
}
{
char datebuf[64];
message_summary *Msg = (message_summary*) CTX;
- webcit_fmt_date(datebuf, Msg->date, DATEFMT_FULL);
+ webcit_fmt_date(datebuf, 64, Msg->date, DATEFMT_FULL);
StrBufAppendBufPlain(Target, datebuf, -1, 0);
}
void tmplput_MAIL_SUMM_DATE_NO(StrBuf *Target, WCTemplputParams *TP)
{
message_summary *Msg = (message_summary*) CTX;
- StrBufAppendPrintf(Target, "%ld", Msg->date, 0);
+ StrBufAppendPrintf(Target, 64, "%ld", Msg->date, 0);
}
wprintf("</td><td>");
if (submitted > 0) {
- webcit_fmt_date(buf, submitted, 1);
+ webcit_fmt_date(buf, 1024, submitted, 1);
wprintf("%s", buf);
}
else {
wprintf("</td><td>");
if (last_attempt > 0) {
- webcit_fmt_date(buf, last_attempt, 1);
+ webcit_fmt_date(buf, 1024, last_attempt, 1);
wprintf("%s", buf);
}
else {
void worker_entry(void);
void session_loop(HashList *HTTPHeaders, StrBuf *ReqLine, StrBuf *ReqType, StrBuf *ReadBuf);
size_t wc_strftime(char *s, size_t max, const char *format, const struct tm *tm);
-void fmt_time(char *buf, time_t thetime);
+void fmt_time(char *buf, size_t siz, time_t thetime);
void httpdate(char *buf, time_t thetime);
time_t httpdate_to_timestamp(StrBuf *buf);
void end_webcit_session(void);
void MimeLoadData(wc_mime_attachment *Mime);
int pattern2(char *search, char *patn);
void do_edit_vcard(long, char *, char *, const char *);
-void striplt(char *);
-void stripltlen(char *, int *);
void select_user_to_edit(char *message, char *preselect);
void delete_user(char *);
void do_change_view(int);
#define DATEFMT_BRIEF 1
#define DATEFMT_RAWDATE 2
#define DATEFMT_LOCALEDATE 3
-void webcit_fmt_date(char *buf, time_t thetime, int Format);
+void webcit_fmt_date(char *buf, size_t siz, time_t thetime, int Format);
int fetch_http(char *url, char *target_buf, int maxbytes);
void free_attachments(wcsession *sess);
void summary(void);