aboutsummaryrefslogtreecommitdiff
path: root/jim-win32.c
diff options
context:
space:
mode:
authorpatthoyts <patthoyts>2005-03-02 10:54:51 +0000
committerpatthoyts <patthoyts>2005-03-02 10:54:51 +0000
commit5c69108a616f99f47871c3f96dddfd33b17e58dd (patch)
treeacde98e04c1905460753db5b3bfa697454ce443a /jim-win32.c
parentef899486ee833cc381b8f4de15c62d71bd2c47ca (diff)
downloadjimtcl-5c69108a616f99f47871c3f96dddfd33b17e58dd.zip
jimtcl-5c69108a616f99f47871c3f96dddfd33b17e58dd.tar.gz
jimtcl-5c69108a616f99f47871c3f96dddfd33b17e58dd.tar.bz2
Codified structure rep
Diffstat (limited to 'jim-win32.c')
-rw-r--r--jim-win32.c37
1 files changed, 17 insertions, 20 deletions
diff --git a/jim-win32.c b/jim-win32.c
index 8010d99..d4df167 100644
--- a/jim-win32.c
+++ b/jim-win32.c
@@ -314,31 +314,29 @@ static int
Win32_GetSystemTime(Jim_Interp *interp, int objc, Jim_Obj **objv)
{
Jim_Obj *a[16];
+ size_t n = 0;
SYSTEMTIME t;
GetSystemTime(&t);
- a[0] = Jim_NewStringObj(interp, "year", -1);
- a[1] = Jim_NewIntObj(interp, t.wYear);
- a[2] = Jim_NewStringObj(interp, "month", -1);
- a[3] = Jim_NewIntObj(interp, t.wMonth);
- a[4] = Jim_NewStringObj(interp, "dayofweek", -1);
- a[5] = Jim_NewIntObj(interp, t.wDayOfWeek);
- a[6] = Jim_NewStringObj(interp, "day", -1);
- a[7] = Jim_NewIntObj(interp, t.wDay);
- a[8] = Jim_NewStringObj(interp, "hour", -1);
- a[9] = Jim_NewIntObj(interp, t.wHour);
- a[10] = Jim_NewStringObj(interp, "minute", -1);
- a[11] = Jim_NewIntObj(interp, t.wMinute);
- a[12] = Jim_NewStringObj(interp, "second", -1);
- a[13] = Jim_NewIntObj(interp, t.wSecond);
- a[14] = Jim_NewStringObj(interp, "milliseconds", -1);
- a[15] = Jim_NewIntObj(interp, t.wMilliseconds);
-
- Jim_SetResult(interp, Jim_NewListObj(interp, a, 16));
+#define JIMADD(name) \
+ a[n++] = Jim_NewStringObj(interp, #name, -1); \
+ a[n++] = Jim_NewIntObj(interp, t.w ## name )
+
+ JIMADD(Year);
+ JIMADD(Month);
+ JIMADD(DayOfWeek);
+ JIMADD(Day);
+ JIMADD(Hour);
+ JIMADD(Minute);
+ JIMADD(Second);
+ JIMADD(Milliseconds);
+#undef JIMADD
+
+ Jim_SetResult(interp, Jim_NewListObj(interp, a, n));
return JIM_OK;
}
-// FIX ME: win2k+
+// FIX ME: win2k+ so should do version checks really.
static int
Win32_GetPerformanceInfo(Jim_Interp *interp, int objc, Jim_Obj **objv)
{
@@ -369,7 +367,6 @@ Win32_GetPerformanceInfo(Jim_Interp *interp, int objc, Jim_Obj **objv)
JIMADD(HandleCount);
JIMADD(ProcessCount);
JIMADD(ThreadCount);
-
#undef JIMADD
Jim_SetResult(interp, Jim_NewListObj(interp, a, n));