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