[teklib-general] teklib: TDATE type changed to a single 64bit integer; Several mo...

Timm S. Mueller tmueller at neoscientists.org
Sat Jan 10 01:35:25 CET 2009


details:   http://hg.teklib.org/teklib/rev/b36538e3e1f7
changeset: 219:b36538e3e1f7
user:      Timm S. Mueller <tmueller at neoscientists.org>
date:      Fri Jan 09 13:01:37 2009 +0100
description:
TDATE type changed to a single 64bit integer; Several module bases got their
own proper types now instead of TAPTR; struct TTime and TTIME are now defined
in tek/exec.h; added tek/mod/display.h; lots of cosmetics and cleanup

diffs (truncated from 3061 to 100 lines):

diff -r 0b24cd7a0979 -r b36538e3e1f7 src/date/astro_mod.c
--- a/src/date/astro_mod.c	Wed Jan 07 19:43:19 2009 +0100
+++ b/src/date/astro_mod.c	Fri Jan 09 13:01:37 2009 +0100
@@ -20,16 +20,14 @@
 #define MOD_REVISION	8
 #define MOD_NUMVECTORS	20
 
-typedef struct
+struct TAstroBase
 {
 	struct TModule mod;
+	TAPTR exec;
 	TAPTR util;
 	TAPTR lock;
 	TUINT refcount;
-
-} TMOD_ASTRO;
-
-#define TExecBase		TGetExecBase(astro)
+};
 
 #ifndef LOCAL
 #define LOCAL
@@ -52,28 +50,28 @@
 
 static const TMFPTR mod_vectors[MOD_NUMVECTORS];
 static THOOKENTRY TTAG mod_dispatch(struct THook *hook, TAPTR obj, TTAG msg);
-static TMOD_ASTRO *mod_open(TMOD_ASTRO *astro, TTAGITEM *tags);
-static void mod_close(TMOD_ASTRO *astro);
+static struct TAstroBase *mod_open(struct TAstroBase *astro, TTAGITEM *tags);
+static void mod_close(struct TAstroBase *astro);
 
-EXPORT void dt_geteaster(TMOD_ASTRO *astro, TINT y,TINT *d, TINT *m );
-EXPORT TINT dt_getastrofacts(TMOD_ASTRO *astro, TTAGITEM *in, TTAGITEM *out);
-EXPORT void dt_getsunpos(TMOD_ASTRO *astro, TDOUBLE T, TDOUBLE *Ra,
+EXPORT void dt_geteaster(struct TAstroBase *astro, TINT y,TINT *d, TINT *m );
+EXPORT TINT dt_getastrofacts(struct TAstroBase *astro, TTAGITEM *in, TTAGITEM *out);
+EXPORT void dt_getsunpos(struct TAstroBase *astro, TDOUBLE T, TDOUBLE *Ra,
 	TDOUBLE *Dec, TDOUBLE *di);
-EXPORT void dt_objectriseset(TMOD_ASTRO *astro, TDOUBLE T, TDOUBLE Ra,
+EXPORT void dt_objectriseset(struct TAstroBase *astro, TDOUBLE T, TDOUBLE Ra,
 	TDOUBLE Dec, TFLOAT l, TFLOAT b, TINT ob, TFLOAT *rt, TFLOAT *st);
-EXPORT void dt_converttohms(TMOD_ASTRO *astro, TFLOAT t, TINT *h, TINT *m,
+EXPORT void dt_converttohms(struct TAstroBase *astro, TFLOAT t, TINT *h, TINT *m,
 	TINT *s);
-EXPORT void dt_getmoonpos(TMOD_ASTRO *astro, TDOUBLE T, TDOUBLE *Ra,
+EXPORT void dt_getmoonpos(struct TAstroBase *astro, TDOUBLE T, TDOUBLE *Ra,
 	TDOUBLE *Dec, TDOUBLE *di);
-EXPORT void dt_getflexevent(TMOD_ASTRO *astro, TINT y, TTAGITEM *events);
-EXPORT void dt_getphases(TMOD_ASTRO *astro,struct TDateBox *db,
+EXPORT void dt_getflexevent(struct TAstroBase *astro, TINT y, TTAGITEM *events);
+EXPORT void dt_getphases(struct TAstroBase *astro,struct TDateBox *db,
 	struct TDTMoonPhase *phase);
-EXPORT void dt_nexteclipse(TMOD_ASTRO *astro,struct TDateBox *db,
+EXPORT void dt_nexteclipse(struct TAstroBase *astro,struct TDateBox *db,
 	struct TDTEclipse *eclipse, TINT mode);
-EXPORT TBOOL dt_makedate(TMOD_ASTRO *astro, TDATE *date, TINT d, TINT m,
+EXPORT TBOOL dt_makedate(struct TAstroBase *astro, TDATE *date, TINT d, TINT m,
 	TINT y, TTIME *tm);
-EXPORT TDOUBLE dt_datetojulian(TMOD_ASTRO *tmod, TDATE *td);
-EXPORT void dt_juliantodmy(TMOD_ASTRO *mod, TDOUBLE jd, TINT *pd, TINT *pm,
+EXPORT TDOUBLE dt_datetojulian(struct TAstroBase *tmod, TDATE *td);
+EXPORT void dt_juliantodmy(struct TAstroBase *mod, TDOUBLE jd, TINT *pd, TINT *pm,
 	TINT *py);
 
 /*****************************************************************************/
@@ -125,28 +123,26 @@
 **	Module init
 */
 
-TMODENTRY TUINT
-tek_init_astro(struct TTask *task, TMOD_ASTRO *astro, TUINT16 version, TTAGITEM *tags)
+TMODENTRY TUINT tek_init_astro(struct TTask *task, struct TAstroBase *astro,
+	TUINT16 version, TTAGITEM *tags)
 {
 	if (astro == TNULL)
 	{
 		if (version == 0xffff)
-			return sizeof(TAPTR) * MOD_NUMVECTORS; /* negative size */
-
+			return sizeof(TAPTR) * MOD_NUMVECTORS;
 		if (version <= MOD_VERSION)
-			return sizeof(TMOD_ASTRO); /* positive size */
-
+			return sizeof(struct TAstroBase);
 		return 0;
 	}
 
-	astro->lock = TExecCreateLock(TExecBase, TNULL);
+	astro->exec = TGetExecBase(astro);
+	astro->lock = TExecCreateLock(astro->exec, TNULL);
 	if (astro->lock)
 	{
 		astro->mod.tmd_Version = MOD_VERSION;
 		astro->mod.tmd_Revision = MOD_REVISION;
 		astro->mod.tmd_Handle.thn_Hook.thk_Entry = mod_dispatch;
 		astro->mod.tmd_Flags = TMODF_VECTORTABLE | TMODF_OPENCLOSE;
-
 		TInitVectors(astro, mod_vectors, MOD_NUMVECTORS);
 		return TTRUE;


More information about the teklib-general mailing list