Closed
Bug 330522
Opened 19 years ago
Closed 19 years ago
libical only outputs 7 or fewer BYDAY rules
Categories
(Calendar :: Internal Components, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: mehovis, Assigned: gray)
Details
Attachments
(1 file, 1 obsolete file)
1.93 KB,
patch
|
dmosedale
:
first-review+
|
Details | Diff | Splinter Review |
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7
Create an event with more than 7 BYDAY rules, for instance with the following string:
"FREQ=YEARLY;UNTIL=20000131T090000Z;BYMONTH=1;BYDAY=-50SU,+5MO,-222TU,WE,TH,FR,SA,-50FRI";
You'll end up losing one of the BYDAY rules.
Reproducible: Always
Steps to Reproduce:
1. Create a test app that links with libical
2. Call icalrecurrencetype craprecur = icalrecurrencetype_from_string(value); with the string above.
3. cout << std::string(icalrecurrencetype_as_string(const_cast<icalrecurrencetype *>(&craprecur )) << endl;
Actual Results:
One of the rules won't get displayed.
Expected Results:
All the BYDAY rules should get printed out.
Reporter | ||
Comment 1•19 years ago
|
||
Removes hard-coded ints, uses defines from ical.h instead.
Attachment #215083 -
Flags: first-review?(dmose)
Reporter | ||
Comment 2•19 years ago
|
||
Comment on attachment 215083 [details] [diff] [review]
Patch to fix BYDAY recur bug
>Index: calendar/libical/src/libical/icalrecur.c
>===================================================================
>RCS file: /cvsroot/mozilla/calendar/libical/src/libical/icalrecur.c,v
>retrieving revision 1.4
>diff -u -r1.4 icalrecur.c
>--- calendar/libical/src/libical/icalrecur.c 15 Feb 2005 20:48:26 -0000 1.4
>+++ calendar/libical/src/libical/icalrecur.c 15 Mar 2006 00:15:17 -0000
>@@ -493,15 +493,15 @@
>
> static struct { char* str;size_t offset; int limit; } recurmap[] =
> {
>- {";BYSECOND=",offsetof(struct icalrecurrencetype,by_second),60},
>- {";BYMINUTE=",offsetof(struct icalrecurrencetype,by_minute),60},
>- {";BYHOUR=",offsetof(struct icalrecurrencetype,by_hour),24},
>- {";BYDAY=",offsetof(struct icalrecurrencetype,by_day),7},
>- {";BYMONTHDAY=",offsetof(struct icalrecurrencetype,by_month_day),31},
>- {";BYYEARDAY=",offsetof(struct icalrecurrencetype,by_year_day),366},
>- {";BYWEEKNO=",offsetof(struct icalrecurrencetype,by_week_no),52},
>- {";BYMONTH=",offsetof(struct icalrecurrencetype,by_month),12},
>- {";BYSETPOS=",offsetof(struct icalrecurrencetype,by_set_pos),366},
>+ {";BYSECOND=",offsetof(struct icalrecurrencetype,by_second),ICAL_BY_SECOND_SIZE - 1},
>+ {";BYMINUTE=",offsetof(struct icalrecurrencetype,by_minute),ICAL_BY_MINUTE_SIZE - 1},
>+ {";BYHOUR=",offsetof(struct icalrecurrencetype,by_hour),ICAL_BY_HOUR_SIZE - 1},
>+ {";BYDAY=",offsetof(struct icalrecurrencetype,by_day),ICAL_BY_DAY_SIZE - 1},
>+ {";BYMONTHDAY=",offsetof(struct icalrecurrencetype,by_month_day),ICAL_BY_MONTHDAY_SIZE - 1},
>+ {";BYYEARDAY=",offsetof(struct icalrecurrencetype,by_year_day),ICAL_BY_YEARDAY_SIZE - 1},
>+ {";BYWEEKNO=",offsetof(struct icalrecurrencetype,by_week_no),ICAL_BY_WEEKNO_SIZE - 1},
>+ {";BYMONTH=",offsetof(struct icalrecurrencetype,by_month),ICAL_BY_MONTH_SIZE - 1},
>+ {";BYSETPOS=",offsetof(struct icalrecurrencetype,by_set_pos),ICAL_BY_SETPOS_SIZE - 1},
> {0,0,0},
> };
>
Reporter | ||
Comment 3•19 years ago
|
||
Attachment #215083 -
Attachment is obsolete: true
Attachment #215084 -
Flags: first-review?(dmose)
Attachment #215083 -
Flags: first-review?(dmose)
Comment 4•19 years ago
|
||
Comment on attachment 215084 [details] [diff] [review]
Stupid paste mistake from first attachment
r=dmose; thanks for the fix! (And sorry for the delay in landing it).
Attachment #215084 -
Flags: first-review?(dmose) → first-review+
Comment 5•19 years ago
|
||
Hmm, my trunk build is a bit wonky, so I'll have to do the actual landing of this tomorrow.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Comment 6•19 years ago
|
||
Fix landed.
Status: NEW → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
Updated•19 years ago
|
Component: libical → Internal Components
Comment 7•19 years ago
|
||
The bugspam monkeys have been set free and are feeding on Calendar :: Internal Components. Be afraid for your sanity!
QA Contact: libical → base
You need to log in
before you can comment on or make changes to this bug.
Description
•