svn commit: r205807 - user/edwin/calendar
Edwin Groothuis
edwin at FreeBSD.org
Sun Mar 28 21:14:09 UTC 2010
Author: edwin
Date: Sun Mar 28 21:14:08 2010
New Revision: 205807
URL: http://svn.freebsd.org/changeset/base/205807
Log:
Get rid of the last obstacle for WARNS=7.
Modified:
user/edwin/calendar/calendar.h
user/edwin/calendar/day.c
user/edwin/calendar/io.c
Modified: user/edwin/calendar/calendar.h
==============================================================================
--- user/edwin/calendar/calendar.h Sun Mar 28 20:19:41 2010 (r205806)
+++ user/edwin/calendar/calendar.h Sun Mar 28 21:14:08 2010 (r205807)
@@ -54,7 +54,6 @@
extern struct passwd *pw;
extern int doall;
-extern struct iovec header[];
extern time_t t1, t2;
extern const char *calendarFile;
extern int yrdays;
@@ -158,6 +157,7 @@ void setnsequences(char *);
/* day.c */
extern const struct tm tm0;
+extern char dayname[];
void settimes(time_t,int before, int after, int friday, struct tm *tp1, struct tm *tp2);
time_t Mktime(char *);
Modified: user/edwin/calendar/day.c
==============================================================================
--- user/edwin/calendar/day.c Sun Mar 28 20:19:41 2010 (r205806)
+++ user/edwin/calendar/day.c Sun Mar 28 21:14:08 2010 (r205807)
@@ -43,10 +43,9 @@ __FBSDID("$FreeBSD$");
#include "calendar.h"
-//struct tm tp1, tp2;
time_t time1, time2;
const struct tm tm0;
-char dayname[10];
+char dayname[100];
int year1, year2;
@@ -69,14 +68,13 @@ settimes(time_t now, int before, int aft
localtime_r(&time2, tp2);
year2 = 1900 + tp2->tm_year;
- header[5].iov_base = dayname;
+ strftime(dayname, sizeof(dayname) - 1, "%A, %d %B %Y", tp1);
oldl = NULL;
lbufp = setlocale(LC_TIME, NULL);
if (lbufp != NULL && (oldl = strdup(lbufp)) == NULL)
errx(1, "cannot allocate memory");
(void)setlocale(LC_TIME, "C");
- header[5].iov_len = strftime(dayname, sizeof(dayname), "%A", &tp);
(void)setlocale(LC_TIME, (oldl != NULL ? oldl : ""));
if (oldl != NULL)
free(oldl);
Modified: user/edwin/calendar/io.c
==============================================================================
--- user/edwin/calendar/io.c Sun Mar 28 20:19:41 2010 (r205806)
+++ user/edwin/calendar/io.c Sun Mar 28 21:14:08 2010 (r205807)
@@ -72,16 +72,6 @@ char path[MAXPATHLEN];
struct fixs neaster, npaskha, ncny, nfullmoon, nnewmoon;
struct fixs nmarequinox, nsepequinox, njunsolstice, ndecsolstice;
-struct iovec header[] = {
- {"From: ", 6},
- {NULL, 0},
- {" (Reminder Service)\nTo: ", 24},
- {NULL, 0},
- {"\nSubject: ", 10},
- {NULL, 0},
- {"'s Calendar\nPrecedence: bulk\n\n", 30},
-};
-
#define REPLACE(string, slen, struct_) \
if (strncasecmp(buf, (string), (slen)) == 0 && buf[(slen)]) { \
if (struct_.name != NULL) \
@@ -120,6 +110,7 @@ cal(void)
tm.tm_hour = 0;
tm.tm_wday = 0;
+ count = 0;
if ((fp = opencal()) == NULL)
return;
while (fgets(buf, sizeof(buf), stdin) != NULL) {
@@ -351,9 +342,14 @@ closecal(FILE *fp)
/* parent -- write to pipe input */
(void)close(pdes[0]);
- header[1].iov_base = header[3].iov_base = pw->pw_name;
- header[1].iov_len = header[3].iov_len = strlen(pw->pw_name);
- writev(pdes[1], header, 7);
+ write(pdes[1], "From: \"Reminder Service\" <", 26);
+ write(pdes[1], pw->pw_name, strlen(pw->pw_name));
+ write(pdes[1], ">\nTo: <", 7);
+ write(pdes[1], pw->pw_name, strlen(pw->pw_name));
+ write(pdes[1], ">\nSubject: ", 12);
+ write(pdes[1], dayname, strlen(dayname));
+ write(pdes[1], "'s Calendar\nPrecedence: bulk\n\n", 30);
+
while ((nread = read(fileno(fp), buf, sizeof(buf))) > 0)
(void)write(pdes[1], buf, nread);
(void)close(pdes[1]);
More information about the svn-src-user
mailing list