Die Ermittlung der Tagesart in tools/holiday.c ist falsch!
Es findet n�mlich keine Pr�fung statt, ob ein Wochenende/Werktag evtl. nicht
auch ein Feiertag ist.
Ich habe die Formatierung der ausgegebenen Texte ein wenig ge�ndert, damit
deutlicher wird, was isdnlog 'rausgefunden hat.
Au�erdem: Tuesday schreibt sich ohne 'Th' :-)
Patch h�ngt hinten dran.
--
Jochen Erwied | EMail: [EMAIL PROTECTED] | Work: (9-18 CET)
Sauerbruchstr. 17 | Voice (q): +49-208-3880018 | Voice: +49-2151-7294-24
D-45470 Muelheim | X.75/V34/FAX: +49-208-3880019 | FAX: +49-2151-7294-50
---snip
--- /usr/src/isdn4k/isdn4k-utils/isdnlog/tools/holiday.c Mon May 10 07:29:47
1999
+++ holiday.c Thu May 13 16:34:43 1999
@@ -169,5 +169,5 @@
static char *defaultWeekday[] = { "",
"Monday",
- "Thuesday",
+ "Tuesday",
"Wednesday",
"Thursday",
@@ -410,6 +410,9 @@
char *s;
static char buffer[BUFSIZ];
+ int holiday;
+
+ holiday = isHoliday(tm, &s);
- if ((mask & (1<<HOLIDAY)) && isHoliday(tm, &s)) {
+ if ((mask & (1<<HOLIDAY)) && holiday) {
if (name) sprintf (*name=buffer, "%s (%s)", Weekday[HOLIDAY], s);
return HOLIDAY;
@@ -418,10 +421,10 @@
day=(date2julian(tm->tm_year+1900,tm->tm_mon+1,tm->tm_mday)-6)%7+1;
- if ((mask & (1<<WEEKEND)) && day>5) {
+ if ((mask & (1<<WEEKEND)) && day>5 && !holiday) {
if (name) sprintf (*name=buffer, "%s (%s)", Weekday[WEEKEND], Weekday[day]);
return WEEKEND;
}
- if ((mask & (1<<WORKDAY)) && day<6) {
+ if ((mask & (1<<WORKDAY)) && day<6 && !holiday) {
if (name) sprintf (*name=buffer, "%s (%s)", Weekday[WORKDAY], Weekday[day]);
return WORKDAY;
@@ -429,10 +432,22 @@
if (mask & (1<<EVERYDAY)) {
- if (name) *(*name=buffer)='\0';
+ if(name)
+ {
+ if(holiday)
+ sprintf(*name=buffer, "%s (%s)", Weekday[day], s);
+ else
+ sprintf(*name=buffer, "%s", Weekday[day]);
+ }
return day;
}
if (mask & (1<<day)) {
- if (name) sprintf (*name=buffer, "%s", Weekday[day]);
+ if(name)
+ {
+ if(holiday)
+ sprintf(*name=buffer, "%s (%s)", Weekday[day], s);
+ else
+ sprintf(*name=buffer, "%s", Weekday[day]);
+ }
return day;
}
@@ -449,5 +464,5 @@
- initHoliday("../holiday-at.dat", &msg);
+ initHoliday("../holiday-de.dat", &msg);
printf ("%s\n", msg);
_______________________________________________
Rates4linux-devel mailing list
[EMAIL PROTECTED]
http://lists.SourceForge.net/mailman/listinfo/rates4linux-devel