Donough Liu
Donough Liu
OpenHarmony's `tzdata` parsing supported was introduced in #1613. OpenHarmony's `tzdata` shares the same characters with the ones on Android, except that each timezone index is 4 byte's smaller(the [legacy `rawUtcOffset`](https://android.googlesource.com/platform/prebuilts/fullsdk/sources/+/refs/heads/androidx-appcompat-release/android-34/com/android/i18n/timezone/ZoneInfoDb.java#271)...
Previously `Tid::LEN` was set to `MAX_SHARDS.trailing_zeros() + 1`, and `MAX_SHARDS` was set to `next_pow2(Self::MAX_THREADS - 1)`, which leads to several odd conbinations: ---- ``` MAX_THREADS=128 MAX_SHARDS=128 Tid::LEN=8 ``` 7 bit...
regex performs poorly on multi-threaded component: https://github.com/rust-lang/regex/pull/1080. This PR rewrites the parser, removes the regex usage and allows lowercase property name as specified in the [specification](https://icalendar.org/iCalendar-RFC-5545/3-5-property.html).