summaryrefslogtreecommitdiff
path: root/time/ical/patches/patch-ad
blob: 737d54a549c1a1ca4d732ae748b7c14b95eb6b3c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
$NetBSD: patch-ad,v 1.2 2004/04/01 00:52:39 minskim Exp $

--- item_tcl.C.orig	1996-08-01 14:25:10.000000000 -0500
+++ item_tcl.C
@@ -14,6 +14,9 @@
 #include "item_tcl.h"
 #include "dispatch.h"
 
+static char One[2] = "1";
+static char Zero[2] = "0";
+
 /*
  * Item* -> Item_Tcl* map.
  */
@@ -63,47 +66,47 @@ Item_Tcl* Item_Tcl::find(Item* item) {
 /*
  * Forward declaration of handler procedures.
  */
-static int item_length	(ClientData, Tcl_Interp*, int, char*[]);
-static int item_startt	(ClientData, Tcl_Interp*, int, char*[]);
-static int item_clone	(ClientData, Tcl_Interp*, int, char*[]);
-static int item_is	(ClientData, Tcl_Interp*, int, char*[]);
-static int item_delete	(ClientData, Tcl_Interp*, int, char*[]);
-static int item_cal	(ClientData, Tcl_Interp*, int, char*[]);
-static int item_text	(ClientData, Tcl_Interp*, int, char*[]);
-static int item_uid	(ClientData, Tcl_Interp*, int, char*[]);
-static int item_early	(ClientData, Tcl_Interp*, int, char*[]);
-static int item_owner	(ClientData, Tcl_Interp*, int, char*[]);
-static int item_owned	(ClientData, Tcl_Interp*, int, char*[]);
-static int item_own	(ClientData, Tcl_Interp*, int, char*[]);
-static int item_hilite	(ClientData, Tcl_Interp*, int, char*[]);
-static int item_todo	(ClientData, Tcl_Interp*, int, char*[]);
-static int item_is_done	(ClientData, Tcl_Interp*, int, char*[]);
-static int item_done	(ClientData, Tcl_Interp*, int, char*[]);
-static int item_alarms	(ClientData, Tcl_Interp*, int, char*[]);
-static int item_option	(ClientData, Tcl_Interp*, int, char*[]);
-static int item_doption	(ClientData, Tcl_Interp*, int, char*[]);
-static int item_empty	(ClientData, Tcl_Interp*, int, char*[]);
-static int item_repeat	(ClientData, Tcl_Interp*, int, char*[]);
-static int item_first	(ClientData, Tcl_Interp*, int, char*[]);
-static int item_type	(ClientData, Tcl_Interp*, int, char*[]);
-static int item_desc	(ClientData, Tcl_Interp*, int, char*[]);
-static int item_cont	(ClientData, Tcl_Interp*, int, char*[]);
-static int item_next	(ClientData, Tcl_Interp*, int, char*[]);
-static int item_range	(ClientData, Tcl_Interp*, int, char*[]);
-static int item_date	(ClientData, Tcl_Interp*, int, char*[]);
-static int item_start	(ClientData, Tcl_Interp*, int, char*[]);
-static int item_finish	(ClientData, Tcl_Interp*, int, char*[]);
-static int item_ondel	(ClientData, Tcl_Interp*, int, char*[]);
-static int item_dayr	(ClientData, Tcl_Interp*, int, char*[]);
-static int item_wdays	(ClientData, Tcl_Interp*, int, char*[]);
-
-static int item_monthr		(ClientData, Tcl_Interp*, int, char*[]);
-static int item_mday		(ClientData, Tcl_Interp*, int, char*[]);
-static int item_mlday		(ClientData, Tcl_Interp*, int, char*[]);
-static int item_mworkday	(ClientData, Tcl_Interp*, int, char*[]);
-static int item_mlworkday	(ClientData, Tcl_Interp*, int, char*[]);
-static int item_mweekday	(ClientData, Tcl_Interp*, int, char*[]);
-static int item_mlweekday	(ClientData, Tcl_Interp*, int, char*[]);
+static int item_length	(ClientData, Tcl_Interp*, int, const char*[]);
+static int item_startt	(ClientData, Tcl_Interp*, int, const char*[]);
+static int item_clone	(ClientData, Tcl_Interp*, int, const char*[]);
+static int item_is	(ClientData, Tcl_Interp*, int, const char*[]);
+static int item_delete	(ClientData, Tcl_Interp*, int, const char*[]);
+static int item_cal	(ClientData, Tcl_Interp*, int, const char*[]);
+static int item_text	(ClientData, Tcl_Interp*, int, const char*[]);
+static int item_uid	(ClientData, Tcl_Interp*, int, const char*[]);
+static int item_early	(ClientData, Tcl_Interp*, int, const char*[]);
+static int item_owner	(ClientData, Tcl_Interp*, int, const char*[]);
+static int item_owned	(ClientData, Tcl_Interp*, int, const char*[]);
+static int item_own	(ClientData, Tcl_Interp*, int, const char*[]);
+static int item_hilite	(ClientData, Tcl_Interp*, int, const char*[]);
+static int item_todo	(ClientData, Tcl_Interp*, int, const char*[]);
+static int item_is_done	(ClientData, Tcl_Interp*, int, const char*[]);
+static int item_done	(ClientData, Tcl_Interp*, int, const char*[]);
+static int item_alarms	(ClientData, Tcl_Interp*, int, const char*[]);
+static int item_option	(ClientData, Tcl_Interp*, int, const char*[]);
+static int item_doption	(ClientData, Tcl_Interp*, int, const char*[]);
+static int item_empty	(ClientData, Tcl_Interp*, int, const char*[]);
+static int item_repeat	(ClientData, Tcl_Interp*, int, const char*[]);
+static int item_first	(ClientData, Tcl_Interp*, int, const char*[]);
+static int item_type	(ClientData, Tcl_Interp*, int, const char*[]);
+static int item_desc	(ClientData, Tcl_Interp*, int, const char*[]);
+static int item_cont	(ClientData, Tcl_Interp*, int, const char*[]);
+static int item_next	(ClientData, Tcl_Interp*, int, const char*[]);
+static int item_range	(ClientData, Tcl_Interp*, int, const char*[]);
+static int item_date	(ClientData, Tcl_Interp*, int, const char*[]);
+static int item_start	(ClientData, Tcl_Interp*, int, const char*[]);
+static int item_finish	(ClientData, Tcl_Interp*, int, const char*[]);
+static int item_ondel	(ClientData, Tcl_Interp*, int, const char*[]);
+static int item_dayr	(ClientData, Tcl_Interp*, int, const char*[]);
+static int item_wdays	(ClientData, Tcl_Interp*, int, const char*[]);
+
+static int item_monthr		(ClientData, Tcl_Interp*, int, const char*[]);
+static int item_mday		(ClientData, Tcl_Interp*, int, const char*[]);
+static int item_mlday		(ClientData, Tcl_Interp*, int, const char*[]);
+static int item_mworkday	(ClientData, Tcl_Interp*, int, const char*[]);
+static int item_mlworkday	(ClientData, Tcl_Interp*, int, const char*[]);
+static int item_mweekday	(ClientData, Tcl_Interp*, int, const char*[]);
+static int item_mlweekday	(ClientData, Tcl_Interp*, int, const char*[]);
 
 static Dispatch_Entry item_dispatch[] = {
     { "delete",			0, 0, item_delete	},
@@ -156,7 +159,7 @@ static Dispatch_Entry item_dispatch[] = 
     { 0,			0, 0, 0			}
 };
 
-int Item_Tcl::method(int argc, char* argv[]) {
+int Item_Tcl::method(int argc, const char* argv[]) {
     return Dispatch(item_dispatch, (ClientData)this, tcl(), argc, argv);
 }
 
@@ -164,7 +167,7 @@ int Item_Tcl::method(int argc, char* arg
  * Handler procedures.
  */
 
-static int item_length(ClientData c, Tcl_Interp* tcl, int argc, char* argv[]) {
+static int item_length(ClientData c, Tcl_Interp* tcl, int argc, const char* argv[]) {
     Item_Tcl* item = (Item_Tcl*) c;
 
     Appointment* appt = item->value()->AsAppointment();
@@ -193,7 +196,7 @@ static int item_length(ClientData c, Tcl
     TCL_Error(tcl, "unknown command");
 }
 
-static int item_startt(ClientData c, Tcl_Interp* tcl, int argc, char* argv[]) {
+static int item_startt(ClientData c, Tcl_Interp* tcl, int argc, const char* argv[]) {
     Item_Tcl* item = (Item_Tcl*) c;
 
     Appointment* appt = item->value()->AsAppointment();
@@ -222,27 +225,27 @@ static int item_startt(ClientData c, Tcl
     TCL_Return(tcl, "");
 }
 
-static int item_clone(ClientData c, Tcl_Interp* tcl, int argc, char* argv[]) {
+static int item_clone(ClientData c, Tcl_Interp* tcl, int argc, const char* argv[]) {
     Item_Tcl* item = (Item_Tcl*) c;
     Item_Tcl* clone = new Item_Tcl(tcl, item->value()->Clone(), 0);
     TCL_Return(tcl, (char*) clone->handle());
 }
 
-static int item_is(ClientData c, Tcl_Interp* tcl, int argc, char* argv[]) {
+static int item_is(ClientData c, Tcl_Interp* tcl, int argc, const char* argv[]) {
     Item_Tcl* item = (Item_Tcl*) c;
 
     if ((strcmp(argv[0], "note") == 0) && (item->value()->AsNotice() != 0)) {
-	TCL_Return(tcl, "1");
+	TCL_Return(tcl, One);
     }
 
     if ((strcmp(argv[0], "appt") == 0) && (item->value()->AsAppointment()!=0)){
-	TCL_Return(tcl, "1");
+	TCL_Return(tcl, One);
     }
 
-    TCL_Return(tcl, "0");
+    TCL_Return(tcl, Zero);
 }
 
-static int item_delete(ClientData c, Tcl_Interp* tcl, int argc, char* argv[]) {
+static int item_delete(ClientData c, Tcl_Interp* tcl, int argc, const char* argv[]) {
     Item_Tcl* item = ((Item_Tcl*) c);
     if (! check_permission(tcl, item)) return TCL_ERROR;
 
@@ -262,7 +265,7 @@ static int item_delete(ClientData c, Tcl
     TCL_Return(tcl, "");
 }
 
-static int item_cal(ClientData c, Tcl_Interp* tcl, int argc, char* argv[]) {
+static int item_cal(ClientData c, Tcl_Interp* tcl, int argc, const char* argv[]) {
     Item_Tcl* item = (Item_Tcl*) c;
 
     CalFile* cal = item->calendar();
@@ -272,7 +275,7 @@ static int item_cal(ClientData c, Tcl_In
     TCL_Return(tcl, (char*)(cal->GetName()));
 }
 
-static int item_text(ClientData c, Tcl_Interp* tcl, int argc, char* argv[]) {
+static int item_text(ClientData c, Tcl_Interp* tcl, int argc, const char* argv[]) {
     Item_Tcl* item = (Item_Tcl*) c;
 
     if (argc == 0) {
@@ -286,12 +289,12 @@ static int item_text(ClientData c, Tcl_I
     TCL_Return(tcl, "");
 }
 
-static int item_uid(ClientData c, Tcl_Interp* tcl, int argc, char* argv[]) {
+static int item_uid(ClientData c, Tcl_Interp* tcl, int argc, const char* argv[]) {
     Item_Tcl* item = (Item_Tcl*) c;
     TCL_Return(tcl, (char*) item->value()->GetUid());
 }
 
-static int item_early(ClientData c, Tcl_Interp* tcl, int argc, char* argv[]) {
+static int item_early(ClientData c, Tcl_Interp* tcl, int argc, const char* argv[]) {
     Item_Tcl* item = (Item_Tcl*) c;
 
     if (argc == 0) {
@@ -313,7 +316,7 @@ static int item_early(ClientData c, Tcl_
     TCL_Return(tcl, "");
 }
 
-static int item_owner(ClientData c, Tcl_Interp* tcl, int argc, char* argv[]) {
+static int item_owner(ClientData c, Tcl_Interp* tcl, int argc, const char* argv[]) {
     Item_Tcl* item = (Item_Tcl*) c;
 
     if (argc == 0) {
@@ -327,12 +330,12 @@ static int item_owner(ClientData c, Tcl_
     TCL_Return(tcl, "");
 }
 
-static int item_owned(ClientData c, Tcl_Interp* tcl, int argc, char* argv[]) {
+static int item_owned(ClientData c, Tcl_Interp* tcl, int argc, const char* argv[]) {
     Item_Tcl* item = (Item_Tcl*) c;
-    TCL_Return(tcl, (item->value()->IsMine() ? "1" : "0"));
+    TCL_Return(tcl, (item->value()->IsMine() ? One : Zero));
 }
 
-static int item_own(ClientData c, Tcl_Interp* tcl, int argc, char* argv[]) {
+static int item_own(ClientData c, Tcl_Interp* tcl, int argc, const char* argv[]) {
     Item_Tcl* item = (Item_Tcl*) c;
     if (! check_permission(tcl, item)) return TCL_ERROR;
     item->value()->MakeOwner();
@@ -341,7 +344,7 @@ static int item_own(ClientData c, Tcl_In
     TCL_Return(tcl, "");
 }
 
-static int item_hilite(ClientData c, Tcl_Interp* tcl, int argc, char* argv[]) {
+static int item_hilite(ClientData c, Tcl_Interp* tcl, int argc, const char* argv[]) {
     Item_Tcl* item = (Item_Tcl*) c;
 
     if (argc == 0) {
@@ -356,11 +359,11 @@ static int item_hilite(ClientData c, Tcl
     TCL_Return(tcl, "");
 }
 
-static int item_todo(ClientData c, Tcl_Interp* tcl, int argc, char* argv[]) {
+static int item_todo(ClientData c, Tcl_Interp* tcl, int argc, const char* argv[]) {
     Item_Tcl* item = (Item_Tcl*) c;
 
     if (argc == 0) {
-	TCL_Return(tcl, (char*)(item->value()->IsTodo() ? "1" : "0"));
+	TCL_Return(tcl, (char*)(item->value()->IsTodo() ? One : Zero));
     }
 
     int todo;
@@ -374,12 +377,12 @@ static int item_todo(ClientData c, Tcl_I
     TCL_Return(tcl, "");
 }
 
-static int item_is_done(ClientData c, Tcl_Interp* tcl,int argc,char* argv[]) {
+static int item_is_done(ClientData c, Tcl_Interp* tcl,int argc, const char* argv[]) {
     Item_Tcl* item = (Item_Tcl*) c;
-    TCL_Return(tcl, (char*)(item->value()->IsDone() ? "1" : "0"));
+    TCL_Return(tcl, (char*)(item->value()->IsDone() ? One : Zero));
 }
 
-static int item_done(ClientData c, Tcl_Interp* tcl, int argc, char* argv[]) {
+static int item_done(ClientData c, Tcl_Interp* tcl, int argc, const char* argv[]) {
     Item_Tcl* item = (Item_Tcl*) c;
     if (! check_permission(tcl, item)) return TCL_ERROR;
 
@@ -394,7 +397,7 @@ static int item_done(ClientData c, Tcl_I
     TCL_Return(tcl, "");
 }
 
-static int item_alarms(ClientData c, Tcl_Interp* tcl, int argc, char* argv[]) {
+static int item_alarms(ClientData c, Tcl_Interp* tcl, int argc, const char* argv[]) {
     Item_Tcl* item = (Item_Tcl*) c;
 
     Appointment* appt = item->value()->AsAppointment();
@@ -431,7 +434,7 @@ static int item_alarms(ClientData c, Tcl
     }
 
     int count;
-    char** list;
+    const char** list;
     if (Tcl_SplitList(tcl, argv[0], &count, &list) != TCL_OK) {
 	TCL_Error(tcl, "invalid alarm list");
     }
@@ -460,7 +463,7 @@ static int item_alarms(ClientData c, Tcl
     TCL_Return(tcl, "");
 }
 
-static int item_option(ClientData c, Tcl_Interp* tcl, int argc, char* argv[]) {
+static int item_option(ClientData c, Tcl_Interp* tcl, int argc, const char* argv[]) {
     Item_Tcl* item = (Item_Tcl*) c;
 
     if (argc == 1) {
@@ -476,7 +479,7 @@ static int item_option(ClientData c, Tcl
     TCL_Return(tcl, "");
 }
 
-static int item_doption(ClientData c, Tcl_Interp* tcl, int argc,char* argv[]) {
+static int item_doption(ClientData c, Tcl_Interp* tcl, int argc, const char* argv[]) {
     Item_Tcl* item = (Item_Tcl*) c;
 
     if (! check_permission(tcl, item)) return TCL_ERROR;
@@ -490,17 +493,17 @@ static int item_doption(ClientData c, Tc
     TCL_Return(tcl, "");
 }
 
-static int item_empty(ClientData c, Tcl_Interp* tcl, int argc, char* argv[]) {
+static int item_empty(ClientData c, Tcl_Interp* tcl, int argc, const char* argv[]) {
     Item_Tcl* item = (Item_Tcl*) c;
-    TCL_Return(tcl, (item->value()->empty()?"1":"0"));
+    TCL_Return(tcl, (item->value()->empty()?One:Zero));
 }
 
-static int item_repeat(ClientData c, Tcl_Interp* tcl, int argc, char* argv[]) {
+static int item_repeat(ClientData c, Tcl_Interp* tcl, int argc, const char* argv[]) {
     Item_Tcl* item = (Item_Tcl*) c;
-    TCL_Return(tcl,(item->value()->repeats()?"1":"0"));
+    TCL_Return(tcl,(item->value()->repeats()?One:Zero));
 }
 
-static int item_first(ClientData c, Tcl_Interp* tcl, int argc, char* argv[]) {
+static int item_first(ClientData c, Tcl_Interp* tcl, int argc, const char* argv[]) {
     Item_Tcl* item = (Item_Tcl*) c;
     Date d;
     if (! item->value()->first(d)) {
@@ -513,7 +516,7 @@ static int item_first(ClientData c, Tcl_
     return TCL_OK;
 }
 
-static int item_type(ClientData c, Tcl_Interp* tcl, int argc, char* argv[]) {
+static int item_type(ClientData c, Tcl_Interp* tcl, int argc, const char* argv[]) {
     Item_Tcl* item = (Item_Tcl*) c;
     char* result;
     switch (item->value()->repeat_type()) {
@@ -560,7 +563,7 @@ static int item_type(ClientData c, Tcl_I
     TCL_Return(tcl, result);
 }
 
-static int item_desc(ClientData c, Tcl_Interp* tcl, int argc, char* argv[]) {
+static int item_desc(ClientData c, Tcl_Interp* tcl, int argc, const char* argv[]) {
     Item_Tcl* item = (Item_Tcl*) c;
     charArray buffer;
     item->value()->describe(&buffer);
@@ -569,17 +572,17 @@ static int item_desc(ClientData c, Tcl_I
     return TCL_OK;
 }
 
-static int item_cont(ClientData c, Tcl_Interp* tcl, int argc, char* argv[]) {
+static int item_cont(ClientData c, Tcl_Interp* tcl, int argc, const char* argv[]) {
     Item_Tcl* item = (Item_Tcl*) c;
     int dateDays;
     if (Tcl_GetInt(tcl, argv[0], &dateDays) != TCL_OK) {
 	TCL_Error(tcl, "invalid date");
     }
     Date date(dateDays);
-    TCL_Return(tcl, (item->value()->contains(date)?"1":"0"));
+    TCL_Return(tcl, (item->value()->contains(date)?One:Zero));
 }
 
-static int item_next(ClientData c, Tcl_Interp* tcl, int argc, char* argv[]) {
+static int item_next(ClientData c, Tcl_Interp* tcl, int argc, const char* argv[]) {
     Item_Tcl* item = (Item_Tcl*) c;
     int dateDays;
     if (Tcl_GetInt(tcl, argv[0], &dateDays) != TCL_OK) {
@@ -597,7 +600,7 @@ static int item_next(ClientData c, Tcl_I
     return TCL_OK;
 }
 
-static int item_range(ClientData c, Tcl_Interp* tcl, int argc, char* argv[]) {
+static int item_range(ClientData c, Tcl_Interp* tcl, int argc, const char* argv[]) {
     Item_Tcl* item = (Item_Tcl*) c;
 
     Date s, f;
@@ -609,14 +612,14 @@ static int item_range(ClientData c, Tcl_
 	sprintf(buffer, "%d", f.EpochDays());
 	if (Tcl_SetVar(tcl, argv[1], buffer, 0) == NULL)
 	    TCL_Error(tcl, "could not set range finish variable");
-	TCL_Return(tcl, "1");
+	TCL_Return(tcl, One);
     }
     else {
-	TCL_Return(tcl, "0");
+	TCL_Return(tcl, Zero);
     }
 }
 
-static int item_date(ClientData c, Tcl_Interp* tcl, int argc, char* argv[]) {
+static int item_date(ClientData c, Tcl_Interp* tcl, int argc, const char* argv[]) {
     Item_Tcl* item = (Item_Tcl*) c;
     int dateDays;
     if (Tcl_GetInt(tcl, argv[0], &dateDays) != TCL_OK) {
@@ -630,7 +633,7 @@ static int item_date(ClientData c, Tcl_I
     TCL_Return(tcl, "");
 }
 
-static int item_start(ClientData c, Tcl_Interp* tcl, int argc, char* argv[]) {
+static int item_start(ClientData c, Tcl_Interp* tcl, int argc, const char* argv[]) {
     Item_Tcl* item = (Item_Tcl*) c;
     int dateDays;
     if (Tcl_GetInt(tcl, argv[0], &dateDays) != TCL_OK) {
@@ -644,7 +647,7 @@ static int item_start(ClientData c, Tcl_
     TCL_Return(tcl, "");
 }
 
-static int item_finish(ClientData c, Tcl_Interp* tcl, int argc, char* argv[]) {
+static int item_finish(ClientData c, Tcl_Interp* tcl, int argc, const char* argv[]) {
     Item_Tcl* item = (Item_Tcl*) c;
     int dateDays;
     if (Tcl_GetInt(tcl, argv[0], &dateDays) != TCL_OK) {
@@ -658,7 +661,7 @@ static int item_finish(ClientData c, Tcl
     TCL_Return(tcl, "");
 }
 
-static int item_ondel(ClientData c, Tcl_Interp* tcl, int argc, char* argv[]) {
+static int item_ondel(ClientData c, Tcl_Interp* tcl, int argc, const char* argv[]) {
     Item_Tcl* item = (Item_Tcl*) c;
     int dateDays;
     if (Tcl_GetInt(tcl, argv[0], &dateDays) != TCL_OK) {
@@ -672,7 +675,7 @@ static int item_ondel(ClientData c, Tcl_
     TCL_Return(tcl, "");
 }
 
-static int item_dayr(ClientData c, Tcl_Interp* tcl, int argc, char* argv[]) {
+static int item_dayr(ClientData c, Tcl_Interp* tcl, int argc, const char* argv[]) {
     Item_Tcl* item = (Item_Tcl*) c;
 
     int interval;
@@ -693,7 +696,7 @@ static int item_dayr(ClientData c, Tcl_I
     TCL_Return(tcl, "");
 }
 
-static int item_monthr(ClientData c, Tcl_Interp* tcl, int argc, char* argv[]) {
+static int item_monthr(ClientData c, Tcl_Interp* tcl, int argc, const char* argv[]) {
     Item_Tcl* item = (Item_Tcl*) c;
 
     int interval;
@@ -719,8 +722,8 @@ static int item_monthr(ClientData c, Tcl
 // effects	Parses "n", "anchor" and "interval" from the command
 //		arguments.  Returns TCL_OK iff successful.  If "anchor"
 //		and "interval" are not specified in the command arguments,
-//		then "anchor" is set to today and "interval" is set to "1".
-static int parse_month_args(Tcl_Interp* tcl, int argc, char* argv[],
+//		then "anchor" is set to today and "interval" is set to One.
+static int parse_month_args(Tcl_Interp* tcl, int argc, const char* argv[],
 			    int& n, Date& anchor, int& interval)
 {
     if ((argc != 1) && (argc != 3)) TCL_Error(tcl,"wrong number of arguments");
@@ -745,7 +748,7 @@ static int parse_month_args(Tcl_Interp* 
     return TCL_OK;
 }
 
-static int item_mday(ClientData c, Tcl_Interp* tcl, int argc, char* argv[]) {
+static int item_mday(ClientData c, Tcl_Interp* tcl, int argc, const char* argv[]) {
     Item_Tcl* item = (Item_Tcl*) c;
 
     int n, interval;
@@ -760,7 +763,7 @@ static int item_mday(ClientData c, Tcl_I
     TCL_Return(tcl, "");
 }
 
-static int item_mlday(ClientData c, Tcl_Interp* tcl, int argc, char* argv[]) {
+static int item_mlday(ClientData c, Tcl_Interp* tcl, int argc, const char* argv[]) {
     Item_Tcl* item = (Item_Tcl*) c;
 
     int n, interval;
@@ -776,7 +779,7 @@ static int item_mlday(ClientData c, Tcl_
 }
 
 static int item_mworkday(ClientData c, Tcl_Interp* tcl,
-			 int argc, char* argv[]) {
+			 int argc, const char* argv[]) {
     Item_Tcl* item = (Item_Tcl*) c;
 
     int n, interval;
@@ -792,7 +795,7 @@ static int item_mworkday(ClientData c, T
 }
 
 static int item_mlworkday(ClientData c, Tcl_Interp* tcl,
-			  int argc, char* argv[]) {
+			  int argc, const char* argv[]) {
     Item_Tcl* item = (Item_Tcl*) c;
 
     int n, interval;
@@ -808,7 +811,7 @@ static int item_mlworkday(ClientData c, 
 }
 
 static int item_mweekday(ClientData c, Tcl_Interp* tcl,
-			 int argc, char* argv[]) {
+			 int argc, const char* argv[]) {
     Item_Tcl* item = (Item_Tcl*) c;
 
     int wday;
@@ -829,7 +832,7 @@ static int item_mweekday(ClientData c, T
 }
 
 static int item_mlweekday(ClientData c, Tcl_Interp* tcl,
-			  int argc, char* argv[]) {
+			  int argc, const char* argv[]) {
     Item_Tcl* item = (Item_Tcl*) c;
 
     int wday;
@@ -849,7 +852,7 @@ static int item_mlweekday(ClientData c, 
     TCL_Return(tcl, "");
 }
 
-static int item_wdays(ClientData c, Tcl_Interp* tcl, int argc, char* argv[]) {
+static int item_wdays(ClientData c, Tcl_Interp* tcl, int argc, const char* argv[]) {
     Item_Tcl* item = (Item_Tcl*) c;
 
     /* Collect weekdays */