misc/79008: add option for pom to specify EPOCH
Gerhard Gonter
g.gonter at ieee.org
Sat Mar 19 00:30:04 PST 2005
>Number: 79008
>Category: misc
>Synopsis: add option for pom to specify EPOCH
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Sat Mar 19 08:30:02 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator: Gerhard Gonter
>Release: FreeBSD 5.3-STABLE i386
>Organization:
none
>Environment:
System: FreeBSD alcoholix.wu-wien.ac.at 5.3-STABLE FreeBSD 5.3-STABLE #0: Sun Dec 26 12:56:10 CET 2004 root at alcoholix.wu-wien.ac.at:/usr/obj/usr/src/sys/GENERIC i386
Architecture: i386
>Description:
The pom command only displays the output for the current
time. This submit allows the user to supply a different
time expressed in EPOCH to obtain results for that time.
>How-To-Repeat:
>Fix:
diff -ruN pom.orig/pom.6 pom/pom.6
--- pom.orig/pom.6 Sun Jul 15 09:49:21 2001
+++ pom/pom.6 Sun Nov 28 22:02:07 2004
@@ -44,3 +44,16 @@
utility displays the current phase of the moon.
Useful for selecting software completion target dates and predicting
managerial behavior.
+.PP
+.\" FIX ME! This should look slightly different!
+The options are as follows:
+.BL -tag -width indent
+.PP
+.I \-r seconds
+.PP
+display phase of moon for the given time (in EPOCH). This is usefull
+to explain past or predict future managerial behavior.
+.SH HISTORY
+The
+.I pom
+command was derived from software posted to USENET.
diff -ruN pom.orig/pom.c pom/pom.c
--- pom.orig/pom.c Mon May 5 11:52:25 2003
+++ pom/pom.c Sun Nov 28 10:03:21 2004
@@ -60,6 +60,8 @@
#include <time.h>
#include <stdio.h>
#include <math.h>
+#include <stdlib.h>
+#include <string.h>
#ifndef PI
#define PI 3.14159265358979323846
@@ -76,16 +78,32 @@
static void adj360(double *);
static double dtor(double);
static double potm(double);
+int main_pom (time_t);
-int
-main()
+#ifndef NO_MAIN
+int main (argc, argv)
+ int argc;
+ char *argv[];
{
time_t tt;
+ (void) time(&tt);
+
+ if (argc > 2 && strcmp (argv [1], "-r") == 0)
+ tt= atol (argv[2]);
+
+ return main_pom (tt);
+
+}
+#endif /* NO_MAIN */
+
+int
+main_pom(tt)
+ time_t tt;
+{
struct tm *GMT;
double days, today, tomorrow;
int cnt;
- (void) time(&tt);
GMT = gmtime(&tt);
days = (GMT->tm_yday + 1) + ((GMT->tm_hour +
(GMT->tm_min / 60.0) + (GMT->tm_sec / 3600.0)) / 24.0);
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list