--- /srv/rebuilderd/tmp/rebuilderdbRi0Fc/inputs/libsyncevolution0_2.0.0-3.3+b1_arm64.deb +++ /srv/rebuilderd/tmp/rebuilderdbRi0Fc/out/libsyncevolution0_2.0.0-3.3+b1_arm64.deb ├── file list │ @@ -1,3 +1,3 @@ │ -rw-r--r-- 0 0 0 4 2026-01-17 01:07:13.000000 debian-binary │ -rw-r--r-- 0 0 0 1160 2026-01-17 01:07:13.000000 control.tar.xz │ --rw-r--r-- 0 0 0 792112 2026-01-17 01:07:13.000000 data.tar.xz │ +-rw-r--r-- 0 0 0 792156 2026-01-17 01:07:13.000000 data.tar.xz ├── control.tar.xz │ ├── control.tar │ │ ├── ./md5sums │ │ │ ├── ./md5sums │ │ │ │┄ Files differ ├── data.tar.xz │ ├── data.tar │ │ ├── ./usr/lib/aarch64-linux-gnu/libsyncevolution.so.0.0.0 │ │ │┄ File has been modified after NT_GNU_BUILD_ID has been applied. │ │ │ ├── readelf --wide --notes {} │ │ │ │ @@ -1,8 +1,8 @@ │ │ │ │ │ │ │ │ Displaying notes found in: .note.gnu.build-id │ │ │ │ Owner Data size Description │ │ │ │ - GNU 0x00000014 NT_GNU_BUILD_ID (unique build ID bitstring) Build ID: 50fbf8f499a709e61f04da52c35ec759e09c039c │ │ │ │ + GNU 0x00000014 NT_GNU_BUILD_ID (unique build ID bitstring) Build ID: 940b1d56951b1ebe45a9e313b8d79dc63d0bd7a9 │ │ │ │ │ │ │ │ Displaying notes found in: .note.gnu.property │ │ │ │ Owner Data size Description │ │ │ │ GNU 0x00000010 NT_GNU_PROPERTY_TYPE_0 Properties: AArch64 feature: BTI, PAC, GCS │ │ │ ├── strings --all --bytes=8 {} │ │ │ │ @@ -9623,33 +9623,14 @@ │ │ │ │ FILE_AS = FILE_AS + N_FIRST; │ │ │ │ } │ │ │ │ $VCARD_OUTGOING_PHOTO_VALUE_SCRIPT; │ │ │ │ ]]> │ │ │ │ │ │ │ │ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - X-ANNIVERSARY. │ │ │ │ - i = SIZE(XDATE) - 1; │ │ │ │ - while (i >= 0) { │ │ │ │ - if (GROUP_TAG[i] != EMPTY && │ │ │ │ - XDATE[i] != UNASSIGNED && │ │ │ │ - LABEL[i] == "Anniversary") { │ │ │ │ - SWAP(ANNIVERSARY, XDATE[i]); │ │ │ │ - // XDATE[i] = UNASSIGNED; │ │ │ │ - break; │ │ │ │ - } │ │ │ │ - i = i - 1; │ │ │ │ - } │ │ │ │ - // Special X-ABRELATEDNAMES -> X-SPOUSE/MANAGER/ASSISTANT │ │ │ │ - i = SIZE(RELATEDNAMES) - 1; │ │ │ │ - while (i >= 0) { │ │ │ │ - if (GROUP_TAG[i] != EMPTY && │ │ │ │ - RELATEDNAMES[i] != UNASSIGNED) { │ │ │ │ - s = LABEL[i]; │ │ │ │ - if (s == "Spouse") { │ │ │ │ - if (SPOUSE == EMPTY) { │ │ │ │ - SWAP(SPOUSE, RELATEDNAMES[i]); │ │ │ │ - // RELATEDNAMES[i] = UNASSIGNED; │ │ │ │ - } │ │ │ │ - } else if (s == "Manager") { │ │ │ │ - if (MANAGER == EMPTY) { │ │ │ │ - SWAP(MANAGER, RELATEDNAMES[i]); │ │ │ │ - // RELATEDNAMES[i] = UNASSIGNED; │ │ │ │ - } │ │ │ │ - } else if (s == "Assistant") { │ │ │ │ - if (ASSISTANT == EMPTY) { │ │ │ │ - SWAP(ASSISTANT, RELATEDNAMES[i]); │ │ │ │ - // RELATEDNAMES[i] = UNASSIGNED; │ │ │ │ - } │ │ │ │ - } │ │ │ │ - } │ │ │ │ - i = i - 1; │ │ │ │ - } │ │ │ │ - // IMPP -> X-JABBER/AIM/... depending on service type. Protocol must match. │ │ │ │ - i = SIZE(IMPP) - 1; │ │ │ │ - INTEGER offset; │ │ │ │ - STRING service; │ │ │ │ - STRING protocol; │ │ │ │ - STRING value; │ │ │ │ - while (i >= 0) { │ │ │ │ - service = IMPP_SERVICE[i]; │ │ │ │ - if (service != UNASSIGNED) { │ │ │ │ - offset = FIND(IMPP[i], ":"); │ │ │ │ - if (offset != UNASSIGNED) { │ │ │ │ - protocol = SUBSTR(IMPP[i], 0, offset); │ │ │ │ - value = URLDECODE(SUBSTR(IMPP[i], offset + 1)); │ │ │ │ - if (service == "AIM" && protocol == "aim") { │ │ │ │ - $VCARD_MODERN_TO_LEGACY_IMPP(value, AIM_HANDLE, AIM_SLOT, i); │ │ │ │ - } else if (service == "Gadugadu") { │ │ │ │ - $VCARD_MODERN_TO_LEGACY_IMPP(value, GADUGADU_HANDLE, GADUGADU_SLOT, i); │ │ │ │ - } else if (service == "Groupwise") { │ │ │ │ - $VCARD_MODERN_TO_LEGACY_IMPP(value, GROUPWISE_HANDLE, GROUPWISE_SLOT, i); │ │ │ │ - } else if (service == "ICQ" && protocol == "aim") { │ │ │ │ - $VCARD_MODERN_TO_LEGACY_IMPP(value, ICQ_HANDLE, ICQ_SLOT, i); │ │ │ │ - } else if (service == "Jabber" && protocol == "xmpp") { │ │ │ │ - $VCARD_MODERN_TO_LEGACY_IMPP(value, JABBER_HANDLE, JABBER_SLOT, i); │ │ │ │ - } else if (service == "MSN" && protocol == "msnim") { │ │ │ │ - $VCARD_MODERN_TO_LEGACY_IMPP(value, MSN_HANDLE, MSN_SLOT, i); │ │ │ │ - } else if (service == "Yahoo" && protocol == "ymsgr") { │ │ │ │ - $VCARD_MODERN_TO_LEGACY_IMPP(value, YAHOO_HANDLE, YAHOO_SLOT, i); │ │ │ │ - } else if (service == "Skype" && protocol == "skype") { │ │ │ │ - $VCARD_MODERN_TO_LEGACY_IMPP(value, SKYPE_HANDLE, SKYPE_SLOT, i); │ │ │ │ - } else if (service == "Sip") { │ │ │ │ - $VCARD_MODERN_TO_LEGACY_IMPP(value, SIP_HANDLE, SIP_SLOT, i); │ │ │ │ - } │ │ │ │ - } │ │ │ │ - } │ │ │ │ - i = i - 1; │ │ │ │ - } │ │ │ │ - // Remove labels which are no longer needed (valued moved above, │ │ │ │ - // stored for a group which has no other properties (Google │ │ │ │ - // CardDAV server sometimes sends that, editing in Evolution │ │ │ │ - // might cause it, etc.) or provide no information ("Other"). │ │ │ │ - i = SIZE(LABEL) - 1; │ │ │ │ - while (i >= 0) { │ │ │ │ - if (LABEL[i] == "Other" || │ │ │ │ - LABEL[i] != UNASSIGNED && │ │ │ │ - (GROUP_TAG[i] == EMPTY || │ │ │ │ - RELATEDNAMES[i] == UNASSIGNED && │ │ │ │ - XDATE[i] == UNASSIGNED && │ │ │ │ - TEL[i] == UNASSIGNED && │ │ │ │ - EMAIL[i] == UNASSIGNED && │ │ │ │ - WEB[i] == UNASSIGNED && │ │ │ │ - XDATE[i] == UNASSIGNED && │ │ │ │ - IMPP[i] == UNASSIGNED && │ │ │ │ - ADR_POBOX[i] == UNASSIGNED && │ │ │ │ - ADR_ADDTL[i] == UNASSIGNED && │ │ │ │ - ADR_STREET[i] == UNASSIGNED && │ │ │ │ - ADR_CITY[i] == UNASSIGNED && │ │ │ │ - ADR_REG[i] == UNASSIGNED && │ │ │ │ - ADR_ZIP[i] == UNASSIGNED && │ │ │ │ - ADR_COUNTRY[i] == UNASSIGNED && │ │ │ │ - ADR_STREET_FLAGS[i] == UNASSIGNED)) { │ │ │ │ - LABEL[i] = UNASSIGNED; │ │ │ │ - } │ │ │ │ - i = i - 1; │ │ │ │ - } │ │ │ │ - // Remove all group tags. Not used for legacy formats. │ │ │ │ - GROUP_TAG = UNASSIGNED; │ │ │ │ - ]]> │ │ │ │ - │ │ │ │ - │ │ │ │ - │ │ │ │ - = 0) { │ │ │ │ - if ($3[impp_index] != EMPTY) { │ │ │ │ - INTEGER num; │ │ │ │ - num = SIZE(LABEL); │ │ │ │ - IMPP[num] = $2 + ":" + URLENCODE($3[impp_index]); │ │ │ │ - $3[impp_index] = UNASSIGNED; │ │ │ │ - SWAP($4[impp_index], IMPP_SLOT[num]); │ │ │ │ - IMPP_SERVICE[num] = $1; │ │ │ │ - LABEL[num] = "Other"; │ │ │ │ - } │ │ │ │ - impp_index = impp_index - 1; │ │ │ │ - } │ │ │ │ - ]]> │ │ │ │ - │ │ │ │ - = 0) { │ │ │ │ - if (LABEL[i] != EMPTY) { │ │ │ │ - GROUP_TAG[i] = "item" + tagnum; │ │ │ │ - tagnum = tagnum + 1; │ │ │ │ - } │ │ │ │ - i = i - 1; │ │ │ │ - } │ │ │ │ - ]]> │ │ │ │ - │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + X-ANNIVERSARY. │ │ │ │ + i = SIZE(XDATE) - 1; │ │ │ │ + while (i >= 0) { │ │ │ │ + if (GROUP_TAG[i] != EMPTY && │ │ │ │ + XDATE[i] != UNASSIGNED && │ │ │ │ + LABEL[i] == "Anniversary") { │ │ │ │ + SWAP(ANNIVERSARY, XDATE[i]); │ │ │ │ + // XDATE[i] = UNASSIGNED; │ │ │ │ + break; │ │ │ │ + } │ │ │ │ + i = i - 1; │ │ │ │ + } │ │ │ │ + // Special X-ABRELATEDNAMES -> X-SPOUSE/MANAGER/ASSISTANT │ │ │ │ + i = SIZE(RELATEDNAMES) - 1; │ │ │ │ + while (i >= 0) { │ │ │ │ + if (GROUP_TAG[i] != EMPTY && │ │ │ │ + RELATEDNAMES[i] != UNASSIGNED) { │ │ │ │ + s = LABEL[i]; │ │ │ │ + if (s == "Spouse") { │ │ │ │ + if (SPOUSE == EMPTY) { │ │ │ │ + SWAP(SPOUSE, RELATEDNAMES[i]); │ │ │ │ + // RELATEDNAMES[i] = UNASSIGNED; │ │ │ │ + } │ │ │ │ + } else if (s == "Manager") { │ │ │ │ + if (MANAGER == EMPTY) { │ │ │ │ + SWAP(MANAGER, RELATEDNAMES[i]); │ │ │ │ + // RELATEDNAMES[i] = UNASSIGNED; │ │ │ │ + } │ │ │ │ + } else if (s == "Assistant") { │ │ │ │ + if (ASSISTANT == EMPTY) { │ │ │ │ + SWAP(ASSISTANT, RELATEDNAMES[i]); │ │ │ │ + // RELATEDNAMES[i] = UNASSIGNED; │ │ │ │ + } │ │ │ │ + } │ │ │ │ + } │ │ │ │ + i = i - 1; │ │ │ │ + } │ │ │ │ + // IMPP -> X-JABBER/AIM/... depending on service type. Protocol must match. │ │ │ │ + i = SIZE(IMPP) - 1; │ │ │ │ + INTEGER offset; │ │ │ │ + STRING service; │ │ │ │ + STRING protocol; │ │ │ │ + STRING value; │ │ │ │ + while (i >= 0) { │ │ │ │ + service = IMPP_SERVICE[i]; │ │ │ │ + if (service != UNASSIGNED) { │ │ │ │ + offset = FIND(IMPP[i], ":"); │ │ │ │ + if (offset != UNASSIGNED) { │ │ │ │ + protocol = SUBSTR(IMPP[i], 0, offset); │ │ │ │ + value = URLDECODE(SUBSTR(IMPP[i], offset + 1)); │ │ │ │ + if (service == "AIM" && protocol == "aim") { │ │ │ │ + $VCARD_MODERN_TO_LEGACY_IMPP(value, AIM_HANDLE, AIM_SLOT, i); │ │ │ │ + } else if (service == "Gadugadu") { │ │ │ │ + $VCARD_MODERN_TO_LEGACY_IMPP(value, GADUGADU_HANDLE, GADUGADU_SLOT, i); │ │ │ │ + } else if (service == "Groupwise") { │ │ │ │ + $VCARD_MODERN_TO_LEGACY_IMPP(value, GROUPWISE_HANDLE, GROUPWISE_SLOT, i); │ │ │ │ + } else if (service == "ICQ" && protocol == "aim") { │ │ │ │ + $VCARD_MODERN_TO_LEGACY_IMPP(value, ICQ_HANDLE, ICQ_SLOT, i); │ │ │ │ + } else if (service == "Jabber" && protocol == "xmpp") { │ │ │ │ + $VCARD_MODERN_TO_LEGACY_IMPP(value, JABBER_HANDLE, JABBER_SLOT, i); │ │ │ │ + } else if (service == "MSN" && protocol == "msnim") { │ │ │ │ + $VCARD_MODERN_TO_LEGACY_IMPP(value, MSN_HANDLE, MSN_SLOT, i); │ │ │ │ + } else if (service == "Yahoo" && protocol == "ymsgr") { │ │ │ │ + $VCARD_MODERN_TO_LEGACY_IMPP(value, YAHOO_HANDLE, YAHOO_SLOT, i); │ │ │ │ + } else if (service == "Skype" && protocol == "skype") { │ │ │ │ + $VCARD_MODERN_TO_LEGACY_IMPP(value, SKYPE_HANDLE, SKYPE_SLOT, i); │ │ │ │ + } else if (service == "Sip") { │ │ │ │ + $VCARD_MODERN_TO_LEGACY_IMPP(value, SIP_HANDLE, SIP_SLOT, i); │ │ │ │ + } │ │ │ │ + } │ │ │ │ + } │ │ │ │ + i = i - 1; │ │ │ │ + } │ │ │ │ + // Remove labels which are no longer needed (valued moved above, │ │ │ │ + // stored for a group which has no other properties (Google │ │ │ │ + // CardDAV server sometimes sends that, editing in Evolution │ │ │ │ + // might cause it, etc.) or provide no information ("Other"). │ │ │ │ + i = SIZE(LABEL) - 1; │ │ │ │ + while (i >= 0) { │ │ │ │ + if (LABEL[i] == "Other" || │ │ │ │ + LABEL[i] != UNASSIGNED && │ │ │ │ + (GROUP_TAG[i] == EMPTY || │ │ │ │ + RELATEDNAMES[i] == UNASSIGNED && │ │ │ │ + XDATE[i] == UNASSIGNED && │ │ │ │ + TEL[i] == UNASSIGNED && │ │ │ │ + EMAIL[i] == UNASSIGNED && │ │ │ │ + WEB[i] == UNASSIGNED && │ │ │ │ + XDATE[i] == UNASSIGNED && │ │ │ │ + IMPP[i] == UNASSIGNED && │ │ │ │ + ADR_POBOX[i] == UNASSIGNED && │ │ │ │ + ADR_ADDTL[i] == UNASSIGNED && │ │ │ │ + ADR_STREET[i] == UNASSIGNED && │ │ │ │ + ADR_CITY[i] == UNASSIGNED && │ │ │ │ + ADR_REG[i] == UNASSIGNED && │ │ │ │ + ADR_ZIP[i] == UNASSIGNED && │ │ │ │ + ADR_COUNTRY[i] == UNASSIGNED && │ │ │ │ + ADR_STREET_FLAGS[i] == UNASSIGNED)) { │ │ │ │ + LABEL[i] = UNASSIGNED; │ │ │ │ + } │ │ │ │ + i = i - 1; │ │ │ │ + } │ │ │ │ + // Remove all group tags. Not used for legacy formats. │ │ │ │ + GROUP_TAG = UNASSIGNED; │ │ │ │ + ]]> │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + = 0) { │ │ │ │ + if ($3[impp_index] != EMPTY) { │ │ │ │ + INTEGER num; │ │ │ │ + num = SIZE(LABEL); │ │ │ │ + IMPP[num] = $2 + ":" + URLENCODE($3[impp_index]); │ │ │ │ + $3[impp_index] = UNASSIGNED; │ │ │ │ + SWAP($4[impp_index], IMPP_SLOT[num]); │ │ │ │ + IMPP_SERVICE[num] = $1; │ │ │ │ + LABEL[num] = "Other"; │ │ │ │ + } │ │ │ │ + impp_index = impp_index - 1; │ │ │ │ + } │ │ │ │ + ]]> │ │ │ │ + │ │ │ │ + = 0) { │ │ │ │ + if (LABEL[i] != EMPTY) { │ │ │ │ + GROUP_TAG[i] = "item" + tagnum; │ │ │ │ + tagnum = tagnum + 1; │ │ │ │ + } │ │ │ │ + i = i - 1; │ │ │ │ + } │ │ │ │ + ]]> │ │ │ │ + │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ . │ │ │ │ - 0x003a1eb0 20202020 3c6d6163 726f206e 616d653d .. │ │ │ │ - 0x003a1fa0 203c212d 2d20636f 6e766572 74206672 . X-ANNI │ │ │ │ - 0x003a2060 56455253 4152592e 0a202020 20202020 VERSARY.. │ │ │ │ - 0x003a2070 69203d20 53495a45 28584441 54452920 i = SIZE(XDATE) │ │ │ │ - 0x003a2080 2d20313b 0a202020 20202020 7768696c - 1;. whil │ │ │ │ - 0x003a2090 65202869 203e3d20 3029207b 0a202020 e (i >= 0) {. │ │ │ │ - 0x003a20a0 20202020 20202069 66202847 524f5550 if (GROUP │ │ │ │ - 0x003a20b0 5f544147 5b695d20 213d2045 4d505459 _TAG[i] != EMPTY │ │ │ │ - 0x003a20c0 2026260a 20202020 20202020 20202020 &&. │ │ │ │ - 0x003a20d0 20205844 4154455b 695d2021 3d20554e XDATE[i] != UN │ │ │ │ - 0x003a20e0 41535349 474e4544 2026260a 20202020 ASSIGNED &&. │ │ │ │ - 0x003a20f0 20202020 20202020 20204c41 42454c5b LABEL[ │ │ │ │ - 0x003a2100 695d203d 3d202241 6e6e6976 65727361 i] == "Anniversa │ │ │ │ - 0x003a2110 72792229 207b0a20 20202020 20202020 ry") {. │ │ │ │ - 0x003a2120 20202020 20535741 5028414e 4e495645 SWAP(ANNIVE │ │ │ │ - 0x003a2130 52534152 592c2058 44415445 5b695d29 RSARY, XDATE[i]) │ │ │ │ - 0x003a2140 3b0a0a20 20202020 20202020 20202020 ;.. │ │ │ │ - 0x003a2150 202f2f20 58444154 455b695d 203d2055 // XDATE[i] = U │ │ │ │ - 0x003a2160 4e415353 49474e45 443b0a20 20202020 NASSIGNED;. │ │ │ │ - 0x003a2170 20202020 20202020 20627265 616b3b0a break;. │ │ │ │ - 0x003a2180 20202020 20202020 20207d0a 20202020 }. │ │ │ │ - 0x003a2190 20202020 20206920 3d206920 2d20313b i = i - 1; │ │ │ │ - 0x003a21a0 0a202020 20202020 7d0a0a20 20202020 . }.. │ │ │ │ - 0x003a21b0 20202f2f 20537065 6369616c 20582d41 // Special X-A │ │ │ │ - 0x003a21c0 4252454c 41544544 4e414d45 53202d3e BRELATEDNAMES -> │ │ │ │ - 0x003a21d0 20582d53 504f5553 452f4d41 4e414745 X-SPOUSE/MANAGE │ │ │ │ - 0x003a21e0 522f4153 53495354 414e540a 20202020 R/ASSISTANT. │ │ │ │ - 0x003a21f0 20202069 203d2053 495a4528 52454c41 i = SIZE(RELA │ │ │ │ - 0x003a2200 5445444e 414d4553 29202d20 313b0a20 TEDNAMES) - 1;. │ │ │ │ - 0x003a2210 20202020 20207768 696c6520 2869203e while (i > │ │ │ │ - 0x003a2220 3d203029 207b0a20 20202020 20202020 = 0) {. │ │ │ │ - 0x003a2230 20696620 2847524f 55505f54 41475b69 if (GROUP_TAG[i │ │ │ │ - 0x003a2240 5d20213d 20454d50 54592026 260a2020 ] != EMPTY &&. │ │ │ │ - 0x003a2250 20202020 20202020 20202020 52454c41 RELA │ │ │ │ - 0x003a2260 5445444e 414d4553 5b695d20 213d2055 TEDNAMES[i] != U │ │ │ │ - 0x003a2270 4e415353 49474e45 4429207b 0a202020 NASSIGNED) {. │ │ │ │ - 0x003a2280 20202020 20202020 20207320 3d204c41 s = LA │ │ │ │ - 0x003a2290 42454c5b 695d3b0a 20202020 20202020 BEL[i];. │ │ │ │ - 0x003a22a0 20202020 20696620 2873203d 3d202253 if (s == "S │ │ │ │ - 0x003a22b0 706f7573 65222920 7b0a2020 20202020 pouse") {. │ │ │ │ - 0x003a22c0 20202020 20202020 20206966 20285350 if (SP │ │ │ │ - 0x003a22d0 4f555345 203d3d20 454d5054 5929207b OUSE == EMPTY) { │ │ │ │ - 0x003a22e0 0a202020 20202020 20202020 20202020 . │ │ │ │ - 0x003a22f0 20202020 53574150 2853504f 5553452c SWAP(SPOUSE, │ │ │ │ - 0x003a2300 2052454c 41544544 4e414d45 535b695d RELATEDNAMES[i] │ │ │ │ - 0x003a2310 293b0a20 20202020 20202020 20202020 );. │ │ │ │ - 0x003a2320 20202020 20202f2f 2052454c 41544544 // RELATED │ │ │ │ - 0x003a2330 4e414d45 535b695d 203d2055 4e415353 NAMES[i] = UNASS │ │ │ │ - 0x003a2340 49474e45 443b0a20 20202020 20202020 IGNED;. │ │ │ │ - 0x003a2350 20202020 2020207d 0a202020 20202020 }. │ │ │ │ - 0x003a2360 20202020 20207d20 656c7365 20696620 } else if │ │ │ │ - 0x003a2370 2873203d 3d20224d 616e6167 65722229 (s == "Manager") │ │ │ │ - 0x003a2380 207b0a20 20202020 20202020 20202020 {. │ │ │ │ - 0x003a2390 20202069 6620284d 414e4147 4552203d if (MANAGER = │ │ │ │ - 0x003a23a0 3d20454d 50545929 207b0a20 20202020 = EMPTY) {. │ │ │ │ - 0x003a23b0 20202020 20202020 20202020 20205357 SW │ │ │ │ - 0x003a23c0 4150284d 414e4147 45522c20 52454c41 AP(MANAGER, RELA │ │ │ │ - 0x003a23d0 5445444e 414d4553 5b695d29 3b0a2020 TEDNAMES[i]);. │ │ │ │ - 0x003a23e0 20202020 20202020 20202020 20202020 │ │ │ │ - 0x003a23f0 202f2f20 52454c41 5445444e 414d4553 // RELATEDNAMES │ │ │ │ - 0x003a2400 5b695d20 3d20554e 41535349 474e4544 [i] = UNASSIGNED │ │ │ │ - 0x003a2410 3b0a2020 20202020 20202020 20202020 ;. │ │ │ │ - 0x003a2420 20207d0a 20202020 20202020 20202020 }. │ │ │ │ - 0x003a2430 207d2065 6c736520 69662028 73203d3d } else if (s == │ │ │ │ - 0x003a2440 20224173 73697374 616e7422 29207b0a "Assistant") {. │ │ │ │ - 0x003a2450 20202020 20202020 20202020 20202020 │ │ │ │ - 0x003a2460 69662028 41535349 5354414e 54203d3d if (ASSISTANT == │ │ │ │ - 0x003a2470 20454d50 54592920 7b0a2020 20202020 EMPTY) {. │ │ │ │ - 0x003a2480 20202020 20202020 20202020 20535741 SWA │ │ │ │ - 0x003a2490 50284153 53495354 414e542c 2052454c P(ASSISTANT, REL │ │ │ │ - 0x003a24a0 41544544 4e414d45 535b695d 293b0a20 ATEDNAMES[i]);. │ │ │ │ - 0x003a24b0 20202020 20202020 20202020 20202020 │ │ │ │ - 0x003a24c0 20202f2f 2052454c 41544544 4e414d45 // RELATEDNAME │ │ │ │ - 0x003a24d0 535b695d 203d2055 4e415353 49474e45 S[i] = UNASSIGNE │ │ │ │ - 0x003a24e0 443b0a20 20202020 20202020 20202020 D;. │ │ │ │ - 0x003a24f0 2020207d 0a202020 20202020 20202020 }. │ │ │ │ - 0x003a2500 20207d0a 20202020 20202020 20207d0a }. }. │ │ │ │ - 0x003a2510 20202020 20202020 20206920 3d206920 i = i │ │ │ │ - 0x003a2520 2d20313b 0a202020 20202020 7d0a0a20 - 1;. }.. │ │ │ │ - 0x003a2530 20202020 20202f2f 20494d50 50202d3e // IMPP -> │ │ │ │ - 0x003a2540 20582d4a 41424245 522f4149 4d2f2e2e X-JABBER/AIM/.. │ │ │ │ - 0x003a2550 2e206465 70656e64 696e6720 6f6e2073 . depending on s │ │ │ │ - 0x003a2560 65727669 63652074 7970652e 2050726f ervice type. Pro │ │ │ │ - 0x003a2570 746f636f 6c206d75 7374206d 61746368 tocol must match │ │ │ │ - 0x003a2580 2e0a2020 20202020 2069203d 2053495a .. i = SIZ │ │ │ │ - 0x003a2590 4528494d 50502920 2d20313b 0a202020 E(IMPP) - 1;. │ │ │ │ - 0x003a25a0 20202020 494e5445 47455220 6f666673 INTEGER offs │ │ │ │ - 0x003a25b0 65743b0a 20202020 20202053 5452494e et;. STRIN │ │ │ │ - 0x003a25c0 47207365 72766963 653b0a20 20202020 G service;. │ │ │ │ - 0x003a25d0 20205354 52494e47 2070726f 746f636f STRING protoco │ │ │ │ - 0x003a25e0 6c3b0a20 20202020 20205354 52494e47 l;. STRING │ │ │ │ - 0x003a25f0 2076616c 75653b0a 20202020 20202077 value;. w │ │ │ │ - 0x003a2600 68696c65 20286920 3e3d2030 29207b0a hile (i >= 0) {. │ │ │ │ - 0x003a2610 20202020 20202020 20207365 72766963 servic │ │ │ │ - 0x003a2620 65203d20 494d5050 5f534552 56494345 e = IMPP_SERVICE │ │ │ │ - 0x003a2630 5b695d3b 0a202020 20202020 20202069 [i];. i │ │ │ │ - 0x003a2640 66202873 65727669 63652021 3d20554e f (service != UN │ │ │ │ - 0x003a2650 41535349 474e4544 29207b0a 20202020 ASSIGNED) {. │ │ │ │ - 0x003a2660 20202020 20202020 206f6666 73657420 offset │ │ │ │ - 0x003a2670 3d204649 4e442849 4d50505b 695d2c20 = FIND(IMPP[i], │ │ │ │ - 0x003a2680 223a2229 3b0a2020 20202020 20202020 ":");. │ │ │ │ - 0x003a2690 20202069 6620286f 66667365 7420213d if (offset != │ │ │ │ - 0x003a26a0 20554e41 53534947 4e454429 207b0a20 UNASSIGNED) {. │ │ │ │ - 0x003a26b0 20202020 20202020 20202020 20202070 p │ │ │ │ - 0x003a26c0 726f746f 636f6c20 3d205355 42535452 rotocol = SUBSTR │ │ │ │ - 0x003a26d0 28494d50 505b695d 2c20302c 206f6666 (IMPP[i], 0, off │ │ │ │ - 0x003a26e0 73657429 3b0a2020 20202020 20202020 set);. │ │ │ │ - 0x003a26f0 20202020 20207661 6c756520 3d205552 value = UR │ │ │ │ - 0x003a2700 4c444543 4f444528 53554253 54522849 LDECODE(SUBSTR(I │ │ │ │ - 0x003a2710 4d50505b 695d2c20 6f666673 6574202b MPP[i], offset + │ │ │ │ - 0x003a2720 20312929 3b0a2020 20202020 20202020 1));. │ │ │ │ - 0x003a2730 20202020 20206966 20287365 72766963 if (servic │ │ │ │ - 0x003a2740 65203d3d 20224149 4d222026 26207072 e == "AIM" && pr │ │ │ │ - 0x003a2750 6f746f63 6f6c203d 3d202261 696d2229 otocol == "aim") │ │ │ │ - 0x003a2760 207b0a20 20202020 20202020 20202020 {. │ │ │ │ - 0x003a2770 20202020 20202456 43415244 5f4d4f44 $VCARD_MOD │ │ │ │ - 0x003a2780 45524e5f 544f5f4c 45474143 595f494d ERN_TO_LEGACY_IM │ │ │ │ - 0x003a2790 50502876 616c7565 2c204149 4d5f4841 PP(value, AIM_HA │ │ │ │ - 0x003a27a0 4e444c45 2c204149 4d5f534c 4f542c20 NDLE, AIM_SLOT, │ │ │ │ - 0x003a27b0 69293b0a 20202020 20202020 20202020 i);. │ │ │ │ - 0x003a27c0 20202020 7d20656c 73652069 66202873 } else if (s │ │ │ │ - 0x003a27d0 65727669 6365203d 3d202247 61647567 ervice == "Gadug │ │ │ │ - 0x003a27e0 61647522 29207b0a 20202020 20202020 adu") {. │ │ │ │ - 0x003a27f0 20202020 20202020 20202024 56434152 $VCAR │ │ │ │ - 0x003a2800 445f4d4f 4445524e 5f544f5f 4c454741 D_MODERN_TO_LEGA │ │ │ │ - 0x003a2810 43595f49 4d505028 76616c75 652c2047 CY_IMPP(value, G │ │ │ │ - 0x003a2820 41445547 4144555f 48414e44 4c452c20 ADUGADU_HANDLE, │ │ │ │ - 0x003a2830 47414455 47414455 5f534c4f 542c2069 GADUGADU_SLOT, i │ │ │ │ - 0x003a2840 293b0a20 20202020 20202020 20202020 );. │ │ │ │ - 0x003a2850 2020207d 20656c73 65206966 20287365 } else if (se │ │ │ │ - 0x003a2860 72766963 65203d3d 20224772 6f757077 rvice == "Groupw │ │ │ │ - 0x003a2870 69736522 29207b0a 20202020 20202020 ise") {. │ │ │ │ - 0x003a2880 20202020 20202020 20202024 56434152 $VCAR │ │ │ │ - 0x003a2890 445f4d4f 4445524e 5f544f5f 4c454741 D_MODERN_TO_LEGA │ │ │ │ - 0x003a28a0 43595f49 4d505028 76616c75 652c2047 CY_IMPP(value, G │ │ │ │ - 0x003a28b0 524f5550 57495345 5f48414e 444c452c ROUPWISE_HANDLE, │ │ │ │ - 0x003a28c0 2047524f 55505749 53455f53 4c4f542c GROUPWISE_SLOT, │ │ │ │ - 0x003a28d0 2069293b 0a202020 20202020 20202020 i);. │ │ │ │ - 0x003a28e0 20202020 207d2065 6c736520 69662028 } else if ( │ │ │ │ - 0x003a28f0 73657276 69636520 3d3d2022 49435122 service == "ICQ" │ │ │ │ - 0x003a2900 20262620 70726f74 6f636f6c 203d3d20 && protocol == │ │ │ │ - 0x003a2910 2261696d 2229207b 0a202020 20202020 "aim") {. │ │ │ │ - 0x003a2920 20202020 20202020 20202020 24564341 $VCA │ │ │ │ - 0x003a2930 52445f4d 4f444552 4e5f544f 5f4c4547 RD_MODERN_TO_LEG │ │ │ │ - 0x003a2940 4143595f 494d5050 2876616c 75652c20 ACY_IMPP(value, │ │ │ │ - 0x003a2950 4943515f 48414e44 4c452c20 4943515f ICQ_HANDLE, ICQ_ │ │ │ │ - 0x003a2960 534c4f54 2c206929 3b0a2020 20202020 SLOT, i);. │ │ │ │ - 0x003a2970 20202020 20202020 20207d20 656c7365 } else │ │ │ │ - 0x003a2980 20696620 28736572 76696365 203d3d20 if (service == │ │ │ │ - 0x003a2990 224a6162 62657222 20262620 70726f74 "Jabber" && prot │ │ │ │ - 0x003a29a0 6f636f6c 203d3d20 22786d70 70222920 ocol == "xmpp") │ │ │ │ - 0x003a29b0 7b0a2020 20202020 20202020 20202020 {. │ │ │ │ - 0x003a29c0 20202020 20245643 4152445f 4d4f4445 $VCARD_MODE │ │ │ │ - 0x003a29d0 524e5f54 4f5f4c45 47414359 5f494d50 RN_TO_LEGACY_IMP │ │ │ │ - 0x003a29e0 50287661 6c75652c 204a4142 4245525f P(value, JABBER_ │ │ │ │ - 0x003a29f0 48414e44 4c452c20 4a414242 45525f53 HANDLE, JABBER_S │ │ │ │ - 0x003a2a00 4c4f542c 2069293b 0a202020 20202020 LOT, i);. │ │ │ │ - 0x003a2a10 20202020 20202020 207d2065 6c736520 } else │ │ │ │ - 0x003a2a20 69662028 73657276 69636520 3d3d2022 if (service == " │ │ │ │ - 0x003a2a30 4d534e22 20262620 70726f74 6f636f6c MSN" && protocol │ │ │ │ - 0x003a2a40 203d3d20 226d736e 696d2229 207b0a20 == "msnim") {. │ │ │ │ - 0x003a2a50 20202020 20202020 20202020 20202020 │ │ │ │ - 0x003a2a60 20202456 43415244 5f4d4f44 45524e5f $VCARD_MODERN_ │ │ │ │ - 0x003a2a70 544f5f4c 45474143 595f494d 50502876 TO_LEGACY_IMPP(v │ │ │ │ - 0x003a2a80 616c7565 2c204d53 4e5f4841 4e444c45 alue, MSN_HANDLE │ │ │ │ - 0x003a2a90 2c204d53 4e5f534c 4f542c20 69293b0a , MSN_SLOT, i);. │ │ │ │ - 0x003a2aa0 20202020 20202020 20202020 20202020 │ │ │ │ - 0x003a2ab0 7d20656c 73652069 66202873 65727669 } else if (servi │ │ │ │ - 0x003a2ac0 6365203d 3d202259 61686f6f 22202626 ce == "Yahoo" && │ │ │ │ - 0x003a2ad0 2070726f 746f636f 6c203d3d 2022796d protocol == "ym │ │ │ │ - 0x003a2ae0 73677222 29207b0a 20202020 20202020 sgr") {. │ │ │ │ - 0x003a2af0 20202020 20202020 20202024 56434152 $VCAR │ │ │ │ - 0x003a2b00 445f4d4f 4445524e 5f544f5f 4c454741 D_MODERN_TO_LEGA │ │ │ │ - 0x003a2b10 43595f49 4d505028 76616c75 652c2059 CY_IMPP(value, Y │ │ │ │ - 0x003a2b20 41484f4f 5f48414e 444c452c 20594148 AHOO_HANDLE, YAH │ │ │ │ - 0x003a2b30 4f4f5f53 4c4f542c 2069293b 0a202020 OO_SLOT, i);. │ │ │ │ - 0x003a2b40 20202020 20202020 20202020 207d2065 } e │ │ │ │ - 0x003a2b50 6c736520 69662028 73657276 69636520 lse if (service │ │ │ │ - 0x003a2b60 3d3d2022 536b7970 65222026 26207072 == "Skype" && pr │ │ │ │ - 0x003a2b70 6f746f63 6f6c203d 3d202273 6b797065 otocol == "skype │ │ │ │ - 0x003a2b80 2229207b 0a202020 20202020 20202020 ") {. │ │ │ │ - 0x003a2b90 20202020 20202020 24564341 52445f4d $VCARD_M │ │ │ │ - 0x003a2ba0 4f444552 4e5f544f 5f4c4547 4143595f ODERN_TO_LEGACY_ │ │ │ │ - 0x003a2bb0 494d5050 2876616c 75652c20 534b5950 IMPP(value, SKYP │ │ │ │ - 0x003a2bc0 455f4841 4e444c45 2c20534b 5950455f E_HANDLE, SKYPE_ │ │ │ │ - 0x003a2bd0 534c4f54 2c206929 3b0a2020 20202020 SLOT, i);. │ │ │ │ - 0x003a2be0 20202020 20202020 20207d20 656c7365 } else │ │ │ │ - 0x003a2bf0 20696620 28736572 76696365 203d3d20 if (service == │ │ │ │ - 0x003a2c00 22536970 2229207b 0a202020 20202020 "Sip") {. │ │ │ │ - 0x003a2c10 20202020 20202020 20202020 24564341 $VCA │ │ │ │ - 0x003a2c20 52445f4d 4f444552 4e5f544f 5f4c4547 RD_MODERN_TO_LEG │ │ │ │ - 0x003a2c30 4143595f 494d5050 2876616c 75652c20 ACY_IMPP(value, │ │ │ │ - 0x003a2c40 5349505f 48414e44 4c452c20 5349505f SIP_HANDLE, SIP_ │ │ │ │ - 0x003a2c50 534c4f54 2c206929 3b0a2020 20202020 SLOT, i);. │ │ │ │ - 0x003a2c60 20202020 20202020 20207d0a 20202020 }. │ │ │ │ - 0x003a2c70 20202020 20202020 207d0a20 20202020 }. │ │ │ │ - 0x003a2c80 20202020 207d0a20 20202020 20202020 }. │ │ │ │ - 0x003a2c90 2069203d 2069202d 20313b0a 20202020 i = i - 1;. │ │ │ │ - 0x003a2ca0 2020207d 0a0a0a20 20202020 20202f2f }... // │ │ │ │ - 0x003a2cb0 2052656d 6f766520 6c616265 6c732077 Remove labels w │ │ │ │ - 0x003a2cc0 68696368 20617265 206e6f20 6c6f6e67 hich are no long │ │ │ │ - 0x003a2cd0 6572206e 65656465 64202876 616c7565 er needed (value │ │ │ │ - 0x003a2ce0 64206d6f 76656420 61626f76 652c0a20 d moved above,. │ │ │ │ - 0x003a2cf0 20202020 20202f2f 2073746f 72656420 // stored │ │ │ │ - 0x003a2d00 666f7220 61206772 6f757020 77686963 for a group whic │ │ │ │ - 0x003a2d10 68206861 73206e6f 206f7468 65722070 h has no other p │ │ │ │ - 0x003a2d20 726f7065 72746965 73202847 6f6f676c roperties (Googl │ │ │ │ - 0x003a2d30 650a2020 20202020 202f2f20 43617264 e. // Card │ │ │ │ - 0x003a2d40 44415620 73657276 65722073 6f6d6574 DAV server somet │ │ │ │ - 0x003a2d50 696d6573 2073656e 64732074 6861742c imes sends that, │ │ │ │ - 0x003a2d60 20656469 74696e67 20696e20 45766f6c editing in Evol │ │ │ │ - 0x003a2d70 7574696f 6e0a2020 20202020 202f2f20 ution. // │ │ │ │ - 0x003a2d80 6d696768 74206361 75736520 69742c20 might cause it, │ │ │ │ - 0x003a2d90 6574632e 29206f72 2070726f 76696465 etc.) or provide │ │ │ │ - 0x003a2da0 206e6f20 696e666f 726d6174 696f6e20 no information │ │ │ │ - 0x003a2db0 28224f74 68657222 292e0a20 20202020 ("Other").. │ │ │ │ - 0x003a2dc0 20206920 3d205349 5a45284c 4142454c i = SIZE(LABEL │ │ │ │ - 0x003a2dd0 29202d20 313b0a20 20202020 20207768 ) - 1;. wh │ │ │ │ - 0x003a2de0 696c6520 2869203e 3d203029 207b0a20 ile (i >= 0) {. │ │ │ │ - 0x003a2df0 20202020 20202020 20696620 284c4142 if (LAB │ │ │ │ - 0x003a2e00 454c5b69 5d203d3d 20224f74 68657222 EL[i] == "Other" │ │ │ │ - 0x003a2e10 207c7c0a 20202020 20202020 20202020 ||. │ │ │ │ - 0x003a2e20 20204c41 42454c5b 695d2021 3d20554e LABEL[i] != UN │ │ │ │ - 0x003a2e30 41535349 474e4544 2026260a 20202020 ASSIGNED &&. │ │ │ │ - 0x003a2e40 20202020 20202020 20202847 524f5550 (GROUP │ │ │ │ - 0x003a2e50 5f544147 5b695d20 3d3d2045 4d505459 _TAG[i] == EMPTY │ │ │ │ - 0x003a2e60 207c7c0a 20202020 20202020 20202020 ||. │ │ │ │ - 0x003a2e70 20202052 454c4154 45444e41 4d45535b RELATEDNAMES[ │ │ │ │ - 0x003a2e80 695d203d 3d20554e 41535349 474e4544 i] == UNASSIGNED │ │ │ │ - 0x003a2e90 2026260a 20202020 20202020 20202020 &&. │ │ │ │ - 0x003a2ea0 20202058 44415445 5b695d20 3d3d2055 XDATE[i] == U │ │ │ │ - 0x003a2eb0 4e415353 49474e45 44202626 0a202020 NASSIGNED &&. │ │ │ │ - 0x003a2ec0 20202020 20202020 20202020 54454c5b TEL[ │ │ │ │ - 0x003a2ed0 695d203d 3d20554e 41535349 474e4544 i] == UNASSIGNED │ │ │ │ - 0x003a2ee0 2026260a 20202020 20202020 20202020 &&. │ │ │ │ - 0x003a2ef0 20202045 4d41494c 5b695d20 3d3d2055 EMAIL[i] == U │ │ │ │ - 0x003a2f00 4e415353 49474e45 44202626 0a202020 NASSIGNED &&. │ │ │ │ - 0x003a2f10 20202020 20202020 20202020 5745425b WEB[ │ │ │ │ - 0x003a2f20 695d203d 3d20554e 41535349 474e4544 i] == UNASSIGNED │ │ │ │ - 0x003a2f30 2026260a 20202020 20202020 20202020 &&. │ │ │ │ - 0x003a2f40 20202058 44415445 5b695d20 3d3d2055 XDATE[i] == U │ │ │ │ - 0x003a2f50 4e415353 49474e45 44202626 0a202020 NASSIGNED &&. │ │ │ │ - 0x003a2f60 20202020 20202020 20202020 494d5050 IMPP │ │ │ │ - 0x003a2f70 5b695d20 3d3d2055 4e415353 49474e45 [i] == UNASSIGNE │ │ │ │ - 0x003a2f80 44202626 0a202020 20202020 20202020 D &&. │ │ │ │ - 0x003a2f90 20202020 4144525f 504f424f 585b695d ADR_POBOX[i] │ │ │ │ - 0x003a2fa0 203d3d20 554e4153 5349474e 45442026 == UNASSIGNED & │ │ │ │ - 0x003a2fb0 260a2020 20202020 20202020 20202020 &. │ │ │ │ - 0x003a2fc0 20414452 5f414444 544c5b69 5d203d3d ADR_ADDTL[i] == │ │ │ │ - 0x003a2fd0 20554e41 53534947 4e454420 26260a20 UNASSIGNED &&. │ │ │ │ - 0x003a2fe0 20202020 20202020 20202020 20204144 AD │ │ │ │ - 0x003a2ff0 525f5354 52454554 5b695d20 3d3d2055 R_STREET[i] == U │ │ │ │ - 0x003a3000 4e415353 49474e45 44202626 0a202020 NASSIGNED &&. │ │ │ │ - 0x003a3010 20202020 20202020 20202020 4144525f ADR_ │ │ │ │ - 0x003a3020 43495459 5b695d20 3d3d2055 4e415353 CITY[i] == UNASS │ │ │ │ - 0x003a3030 49474e45 44202626 0a202020 20202020 IGNED &&. │ │ │ │ - 0x003a3040 20202020 20202020 4144525f 5245475b ADR_REG[ │ │ │ │ - 0x003a3050 695d203d 3d20554e 41535349 474e4544 i] == UNASSIGNED │ │ │ │ - 0x003a3060 2026260a 20202020 20202020 20202020 &&. │ │ │ │ - 0x003a3070 20202041 44525f5a 49505b69 5d203d3d ADR_ZIP[i] == │ │ │ │ - 0x003a3080 20554e41 53534947 4e454420 26260a20 UNASSIGNED &&. │ │ │ │ - 0x003a3090 20202020 20202020 20202020 20204144 AD │ │ │ │ - 0x003a30a0 525f434f 554e5452 595b695d 203d3d20 R_COUNTRY[i] == │ │ │ │ - 0x003a30b0 554e4153 5349474e 45442026 260a2020 UNASSIGNED &&. │ │ │ │ - 0x003a30c0 20202020 20202020 20202020 20414452 ADR │ │ │ │ - 0x003a30d0 5f535452 4545545f 464c4147 535b695d _STREET_FLAGS[i] │ │ │ │ - 0x003a30e0 203d3d20 554e4153 5349474e 45442929 == UNASSIGNED)) │ │ │ │ - 0x003a30f0 207b0a20 20202020 20202020 20202020 {. │ │ │ │ - 0x003a3100 20204c41 42454c5b 695d203d 20554e41 LABEL[i] = UNA │ │ │ │ - 0x003a3110 53534947 4e45443b 0a202020 20202020 SSIGNED;. │ │ │ │ - 0x003a3120 2020207d 0a202020 20202020 20202069 }. i │ │ │ │ - 0x003a3130 203d2069 202d2031 3b0a2020 20202020 = i - 1;. │ │ │ │ - 0x003a3140 207d0a0a 20202020 2020202f 2f205265 }.. // Re │ │ │ │ - 0x003a3150 6d6f7665 20616c6c 2067726f 75702074 move all group t │ │ │ │ - 0x003a3160 6167732e 204e6f74 20757365 6420666f ags. Not used fo │ │ │ │ - 0x003a3170 72206c65 67616379 20666f72 6d617473 r legacy formats │ │ │ │ - 0x003a3180 2e0a2020 20202020 2047524f 55505f54 .. GROUP_T │ │ │ │ - 0x003a3190 4147203d 20554e41 53534947 4e45443b AG = UNASSIGNED; │ │ │ │ - 0x003a31a0 0a202020 205d5d3e 3c2f6d61 63726f3e . ]]> │ │ │ │ - 0x003a31b0 0a0a2020 20203c21 2d2d2054 6865206c .. .. . < │ │ │ │ - 0x003a3320 215b4344 4154415b 0a202020 20202020 ![CDATA[. │ │ │ │ - 0x003a3330 69662028 24312021 3d20454d 50545929 if ($1 != EMPTY) │ │ │ │ - 0x003a3340 207b0a20 20202020 20202020 202f2f20 {. // │ │ │ │ - 0x003a3350 53545249 4e472074 61673b0a 20202020 STRING tag;. │ │ │ │ - 0x003a3360 20202020 2020494e 54454745 52206e75 INTEGER nu │ │ │ │ - 0x003a3370 6d3b0a20 20202020 20202020 206e756d m;. num │ │ │ │ - 0x003a3380 203d2053 495a4528 4c414245 4c293b0a = SIZE(LABEL);. │ │ │ │ - 0x003a3390 20202020 20202020 20202f2f 20244e45 // $NE │ │ │ │ - 0x003a33a0 57544147 28746167 2c204752 4f55505f WTAG(tag, GROUP_ │ │ │ │ - 0x003a33b0 54414729 3b0a2020 20202020 20202020 TAG);. │ │ │ │ - 0x003a33c0 53574150 2852454c 41544544 4e414d45 SWAP(RELATEDNAME │ │ │ │ - 0x003a33d0 535b6e75 6d5d2c20 2431293b 0a202020 S[num], $1);. │ │ │ │ - 0x003a33e0 20202020 2020204c 4142454c 5b6e756d LABEL[num │ │ │ │ - 0x003a33f0 5d203d20 24323b0a 20202020 20202020 ] = $2;. │ │ │ │ - 0x003a3400 20202f2f 2047524f 55505f54 41475b6e // GROUP_TAG[n │ │ │ │ - 0x003a3410 756d5d20 3d207461 673b0a20 20202020 um] = tag;. │ │ │ │ - 0x003a3420 20202020 202f2f20 2431203d 20554e41 // $1 = UNA │ │ │ │ - 0x003a3430 53534947 4e45443b 0a202020 20202020 SSIGNED;. │ │ │ │ - 0x003a3440 7d0a2020 20205d5d 3e3c2f6d 6163726f }. ]]>.. . = 0) {. │ │ │ │ - 0x003a3510 20202020 20202020 20696620 2824335b if ($3[ │ │ │ │ - 0x003a3520 696d7070 5f696e64 65785d20 213d2045 impp_index] != E │ │ │ │ - 0x003a3530 4d505459 29207b0a 20202020 20202020 MPTY) {. │ │ │ │ - 0x003a3540 20202020 20494e54 45474552 206e756d INTEGER num │ │ │ │ - 0x003a3550 3b0a2020 20202020 20202020 2020206e ;. n │ │ │ │ - 0x003a3560 756d203d 2053495a 45284c41 42454c29 um = SIZE(LABEL) │ │ │ │ - 0x003a3570 3b0a2020 20202020 20202020 20202049 ;. I │ │ │ │ - 0x003a3580 4d50505b 6e756d5d 203d2024 32202b20 MPP[num] = $2 + │ │ │ │ - 0x003a3590 223a2220 2b205552 4c454e43 4f444528 ":" + URLENCODE( │ │ │ │ - 0x003a35a0 24335b69 6d70705f 696e6465 785d293b $3[impp_index]); │ │ │ │ - 0x003a35b0 0a202020 20202020 20202020 20202433 . $3 │ │ │ │ - 0x003a35c0 5b696d70 705f696e 6465785d 203d2055 [impp_index] = U │ │ │ │ - 0x003a35d0 4e415353 49474e45 443b0a20 20202020 NASSIGNED;. │ │ │ │ - 0x003a35e0 20202020 20202020 53574150 2824345b SWAP($4[ │ │ │ │ - 0x003a35f0 696d7070 5f696e64 65785d2c 20494d50 impp_index], IMP │ │ │ │ - 0x003a3600 505f534c 4f545b6e 756d5d29 3b0a2020 P_SLOT[num]);. │ │ │ │ - 0x003a3610 20202020 20202020 20202049 4d50505f IMPP_ │ │ │ │ - 0x003a3620 53455256 4943455b 6e756d5d 203d2024 SERVICE[num] = $ │ │ │ │ - 0x003a3630 313b0a20 20202020 20202020 20202020 1;. │ │ │ │ - 0x003a3640 4c414245 4c5b6e75 6d5d203d 20224f74 LABEL[num] = "Ot │ │ │ │ - 0x003a3650 68657222 3b0a2020 20202020 20202020 her";. │ │ │ │ - 0x003a3660 7d0a2020 20202020 20202020 696d7070 }. impp │ │ │ │ - 0x003a3670 5f696e64 6578203d 20696d70 705f696e _index = impp_in │ │ │ │ - 0x003a3680 64657820 2d20313b 0a202020 20202020 dex - 1;. │ │ │ │ - 0x003a3690 7d0a2020 20205d5d 3e3c2f6d 6163726f }. ]]>.. . = │ │ │ │ - 0x003a3ec0 20302920 7b0a2020 20202020 20202020 0) {. │ │ │ │ - 0x003a3ed0 69662028 4c414245 4c5b695d 20213d20 if (LABEL[i] != │ │ │ │ - 0x003a3ee0 454d5054 5929207b 0a202020 20202020 EMPTY) {. │ │ │ │ - 0x003a3ef0 20202020 20204752 4f55505f 5441475b GROUP_TAG[ │ │ │ │ - 0x003a3f00 695d203d 20226974 656d2220 2b207461 i] = "item" + ta │ │ │ │ - 0x003a3f10 676e756d 3b0a2020 20202020 20202020 gnum;. │ │ │ │ - 0x003a3f20 20202074 61676e75 6d203d20 7461676e tagnum = tagn │ │ │ │ - 0x003a3f30 756d202b 20313b0a 20202020 20202020 um + 1;. │ │ │ │ - 0x003a3f40 20207d0a 20202020 20202020 20206920 }. i │ │ │ │ - 0x003a3f50 3d206920 2d20313b 0a202020 20202020 = i - 1;. │ │ │ │ - 0x003a3f60 7d0a2020 20205d5d 3e3c2f6d 6163726f }. ]]>.. .. │ │ │ │ - 0x003a4000 20202020 3c6d6163 726f206e 616d653d │ │ │ │ - 0x003a4030 3c215b43 44415441 5b0a2020 20202020 < │ │ │ │ - 0x003a4080 2f6d6163 726f3e20 2020203c 212d2d20 /macro> .. │ │ │ │ - 0x003a40f0 3c6d6163 726f206e 616d653d 22564341 0) {. │ │ │ │ - 0x003a4540 20202020 2020202f 2f204454 53544152 // DTSTAR │ │ │ │ - 0x003a4550 5420616e 64204454 454e4420 72657072 T and DTEND repr │ │ │ │ - 0x003a4560 6573656e 7420616c 6c646179 20657665 esent allday eve │ │ │ │ - 0x003a4570 6e742c20 6d616b65 20746865 6d206461 nt, make them da │ │ │ │ - 0x003a4580 74652d6f 6e6c7920 76616c75 65730a20 te-only values. │ │ │ │ - 0x003a4590 20202020 20202020 202f2f20 2d20636f // - co │ │ │ │ - 0x003a45a0 6e766572 74207374 61727420 746f2075 nvert start to u │ │ │ │ - 0x003a45b0 73657220 7a6f6e65 20286f72 20666c6f ser zone (or flo │ │ │ │ - 0x003a45c0 6174696e 67292073 6f206974 20726570 ating) so it rep │ │ │ │ - 0x003a45d0 72657365 6e747320 6d69646e 69676874 resents midnight │ │ │ │ - 0x003a45e0 0a202020 20202020 20202044 54535441 . DTSTA │ │ │ │ - 0x003a45f0 5254203d 20434f4e 56455254 544f5553 RT = CONVERTTOUS │ │ │ │ - 0x003a4600 45525a4f 4e452844 54535441 5254293b ERZONE(DTSTART); │ │ │ │ - 0x003a4610 0a202020 20202020 2020204d 414b4541 . MAKEA │ │ │ │ - 0x003a4620 4c4c4441 59284454 53544152 542c4454 LLDAY(DTSTART,DT │ │ │ │ - 0x003a4630 454e442c 69293b0a 20202020 20202020 END,i);. │ │ │ │ - 0x003a4640 20206966 20285252 5f454e44 20213d20 if (RR_END != │ │ │ │ - 0x003a4650 454d5054 5929207b 0a202020 20202020 EMPTY) {. │ │ │ │ - 0x003a4660 20202020 20205252 5f454e44 203d2044 RR_END = D │ │ │ │ - 0x003a4670 4154454f 4e4c5928 434f4e56 45525454 ATEONLY(CONVERTT │ │ │ │ - 0x003a4680 4f555345 525a4f4e 45285252 5f454e44 OUSERZONE(RR_END │ │ │ │ - 0x003a4690 29293b0a 20202020 20202020 20207d0a ));. }. │ │ │ │ - 0x003a46a0 20202020 20202020 7d0a2020 20202020 }. │ │ │ │ - 0x003a46b0 2020656c 7365207b 0a202020 20202020 else {. │ │ │ │ - 0x003a46c0 2020202f 2f206943 616c656e 64617220 // iCalendar │ │ │ │ - 0x003a46d0 322e3020 2d206f6e 6c792069 66204454 2.0 - only if DT │ │ │ │ - 0x003a46e0 53544152 54206973 20612064 6174652d START is a date- │ │ │ │ - 0x003a46f0 6f6e6c79 2076616c 75652074 68697320 only value this │ │ │ │ - 0x003a4700 7265616c 6c792069 7320616e 20616c6c really is an all │ │ │ │ - 0x003a4710 6461790a 20202020 20202020 20206966 day. if │ │ │ │ - 0x003a4720 20284953 44415445 4f4e4c59 28445453 (ISDATEONLY(DTS │ │ │ │ - 0x003a4730 54415254 2929207b 0a202020 20202020 TART)) {. │ │ │ │ - 0x003a4740 20202020 202f2f20 72657368 61706520 // reshape │ │ │ │ - 0x003a4750 746f206d 616b6520 73757265 20776520 to make sure we │ │ │ │ - 0x003a4760 646f6e27 74206861 76652069 6e76616c don't have inval │ │ │ │ - 0x003a4770 6964207a 65726f2d 64757261 74696f6e id zero-duration │ │ │ │ - 0x003a4780 20616c6c 64617973 20286f6c 64204f43 alldays (old OC │ │ │ │ - 0x003a4790 53203920 73657276 65727329 0a202020 S 9 servers). │ │ │ │ - 0x003a47a0 20202020 20202020 204d414b 45414c4c MAKEALL │ │ │ │ - 0x003a47b0 44415928 44545354 4152542c 4454454e DAY(DTSTART,DTEN │ │ │ │ - 0x003a47c0 442c6929 3b0a2020 20202020 20202020 D,i);. │ │ │ │ - 0x003a47d0 7d0a2020 20202020 20207d0a 0a202020 }. }.. │ │ │ │ - 0x003a47e0 20202020 202f2f20 4d616b65 20737572 // Make sur │ │ │ │ - 0x003a47f0 65207468 61742061 6c6c2045 58444154 e that all EXDAT │ │ │ │ - 0x003a4800 45207469 6d657320 61726520 696e2074 E times are in t │ │ │ │ - 0x003a4810 68652073 616d6520 74696d65 7a6f6e65 he same timezone │ │ │ │ - 0x003a4820 20617320 74686520 73746172 740a2020 as the start. │ │ │ │ - 0x003a4830 20202020 20202f2f 2074696d 652e2053 // time. S │ │ │ │ - 0x003a4840 6f6d6520 73657276 65727320 73656e64 ome servers send │ │ │ │ - 0x003a4850 20746865 6d206173 20555443 2c207768 them as UTC, wh │ │ │ │ - 0x003a4860 69636820 69732061 6c6c2066 696e6520 ich is all fine │ │ │ │ - 0x003a4870 616e6420 77656c6c 2c206275 740a2020 and well, but. │ │ │ │ - 0x003a4880 20202020 20202f2f 206f6e6c 79206966 // only if │ │ │ │ - 0x003a4890 20746865 2074696d 657a6f6e 65206465 the timezone de │ │ │ │ - 0x003a48a0 66696e69 74696f6e 20646f65 736e2774 finition doesn't │ │ │ │ - 0x003a48b0 20636861 6e67652e 20416c73 6f2c206c change. Also, l │ │ │ │ - 0x003a48c0 69626963 616c2064 6f657320 6e6f740a ibical does not. │ │ │ │ - 0x003a48d0 20202020 20202020 2f2f2068 616e646c // handl │ │ │ │ - 0x003a48e0 65207375 63682055 54432045 58444154 e such UTC EXDAT │ │ │ │ - 0x003a48f0 45732c20 736f206c 65742773 20636f6e Es, so let's con │ │ │ │ - 0x003a4900 76657274 20697420 7768696c 65207468 vert it while th │ │ │ │ - 0x003a4910 65205554 4320616e 640a2020 20202020 e UTC and. │ │ │ │ - 0x003a4920 20202f2f 2074696d 65207a6f 6e652064 // time zone d │ │ │ │ - 0x003a4930 6566696e 6974696f 6e202868 6f706566 efinition (hopef │ │ │ │ - 0x003a4940 756c6c79 29206172 6520696e 2073796e ully) are in syn │ │ │ │ - 0x003a4950 632e0a20 20202020 20202069 66202854 c.. if (T │ │ │ │ - 0x003a4960 494d455a 4f4e4528 44545354 41525429 IMEZONE(DTSTART) │ │ │ │ - 0x003a4970 20213d20 22555443 22202626 20214953 != "UTC" && !IS │ │ │ │ - 0x003a4980 464c4f41 54494e47 28445453 54415254 FLOATING(DTSTART │ │ │ │ - 0x003a4990 2929207b 0a202020 20202020 20202069 )) {. i │ │ │ │ - 0x003a49a0 203d2030 3b0a2020 20202020 20202020 = 0;. │ │ │ │ - 0x003a49b0 74696d65 7374616d 70206578 64617465 timestamp exdate │ │ │ │ - 0x003a49c0 3b0a2020 20202020 20202020 7768696c ;. whil │ │ │ │ - 0x003a49d0 65202869 3c53495a 45284558 44415445 e (i0) {. │ │ │ │ - 0x003a5520 20202020 20445545 203d2043 4f4e5645 DUE = CONVE │ │ │ │ - 0x003a5530 5254544f 55534552 5a4f4e45 28445545 RTTOUSERZONE(DUE │ │ │ │ - 0x003a5540 293b0a20 20202020 20202020 20445545 );. DUE │ │ │ │ - 0x003a5550 203d2044 4154454f 4e4c5928 44554529 = DATEONLY(DUE) │ │ │ │ - 0x003a5560 3b0a2020 20202020 20207d0a 20202020 ;. }. │ │ │ │ - 0x003a5570 20202020 69662028 4954454d 44415441 if (ITEMDATA │ │ │ │ - 0x003a5580 54595045 28293d3d 22764361 6c656e64 TYPE()=="vCalend │ │ │ │ - 0x003a5590 61723130 2229207b 0a202020 20202020 ar10") {. │ │ │ │ - 0x003a55a0 20202024 5643414c 454e4441 525f3130 $VCALENDAR_10 │ │ │ │ - 0x003a55b0 544f3230 5f505249 4f524954 595f434f TO20_PRIORITY_CO │ │ │ │ - 0x003a55c0 4e564552 53494f4e 3b0a2020 20202020 NVERSION;. │ │ │ │ - 0x003a55d0 20207d0a 20202020 20207d0a 20202020 }. }. │ │ │ │ - 0x003a55e0 20202f2f 20612077 6f726b61 726f756e // a workaroun │ │ │ │ - 0x003a55f0 6420666f 72206675 6e616d62 6f6c3a20 d for funambol: │ │ │ │ - 0x003a5600 61646469 6e672027 61637469 6f6e2720 adding 'action' │ │ │ │ - 0x003a5610 666f7220 27616c61 726d270a 20202020 for 'alarm'. │ │ │ │ - 0x003a5620 20202f2f 20696620 6974656d 20646174 // if item dat │ │ │ │ - 0x003a5630 61207479 70652069 73207643 616c656e a type is vCalen │ │ │ │ - 0x003a5640 64617231 2e302c20 616c736f 20616464 dar1.0, also add │ │ │ │ - 0x003a5650 20276163 74696f6e 2720666f 72202761 'action' for 'a │ │ │ │ - 0x003a5660 6c61726d 272e0a20 20202020 202f2f20 larm'.. // │ │ │ │ - 0x003a5670 54686973 20697320 6120776f 726b6172 This is a workar │ │ │ │ - 0x003a5680 6f756e64 20666f72 204d6f62 6963616c ound for Mobical │ │ │ │ - 0x003a5690 2e6e6574 2c207768 69636820 75736573 .net, which uses │ │ │ │ - 0x003a56a0 20764361 6c656e64 6172312e 302e0a20 vCalendar1.0.. │ │ │ │ - 0x003a56b0 20202020 20696620 28414c41 524d5f54 if (ALARM_T │ │ │ │ - 0x003a56c0 494d4521 3d454d50 54592026 2620414c IME!=EMPTY && AL │ │ │ │ - 0x003a56d0 41524d5f 41435449 4f4e3d3d 454d5054 ARM_ACTION==EMPT │ │ │ │ - 0x003a56e0 5929207b 0a202020 20202020 20202041 Y) {. A │ │ │ │ - 0x003a56f0 4c41524d 5f414354 494f4e20 3d202244 LARM_ACTION = "D │ │ │ │ - 0x003a5700 4953504c 4159223b 0a202020 2020207d ISPLAY";. } │ │ │ │ - 0x003a5710 0a202020 205d5d3e 3c2f6d61 63726f3e . ]]> │ │ │ │ - 0x003a5720 0a0a0a20 2020203c 6d616372 6f206e61 ... < │ │ │ │ - 0x003a5750 215b4344 4154415b 0a202020 2020202f ![CDATA[. / │ │ │ │ - 0x003a5760 2f207365 74205554 43207469 6d65206f / set UTC time o │ │ │ │ - 0x003a5770 66206765 6e657261 74696f6e 20666f72 f generation for │ │ │ │ - 0x003a5780 20694361 6c656e64 61722032 2e302044 iCalendar 2.0 D │ │ │ │ - 0x003a5790 54535441 4d500a20 20202020 20444745 TSTAMP. DGE │ │ │ │ - 0x003a57a0 4e455241 54454420 3d204e4f 5728293b NERATED = NOW(); │ │ │ │ - 0x003a57b0 0a202020 2020202f 2f206d61 6b652073 . // make s │ │ │ │ - 0x003a57c0 75726520 77652068 61766520 616c6c20 ure we have all │ │ │ │ - 0x003a57d0 74726169 6c696e67 20616e64 206c6561 trailing and lea │ │ │ │ - 0x003a57e0 64696e67 20737061 63657320 656c696d ding spaces elim │ │ │ │ - 0x003a57f0 696e6174 65640a20 20202020 20444553 inated. DES │ │ │ │ - 0x003a5800 43524950 54494f4e 3d4e4f52 4d414c49 CRIPTION=NORMALI │ │ │ │ - 0x003a5810 5a454428 44455343 52495054 494f4e29 ZED(DESCRIPTION) │ │ │ │ - 0x003a5820 3b0a2020 20202020 53554d4d 4152593d ;. SUMMARY= │ │ │ │ - 0x003a5830 4e4f524d 414c495a 45442853 554d4d41 NORMALIZED(SUMMA │ │ │ │ - 0x003a5840 5259293b 0a202020 20202069 66202849 RY);. if (I │ │ │ │ - 0x003a5850 53455645 4e542920 7b0a2020 20202020 SEVENT) {. │ │ │ │ - 0x003a5860 20202f2f 20564556 454e540a 20202020 // VEVENT. │ │ │ │ - 0x003a5870 20202020 2f2f202d 20636f6d 62696e65 // - combine │ │ │ │ - 0x003a5880 20617474 656e6465 6520656d 61696c20 attendee email │ │ │ │ - 0x003a5890 61646472 65737320 616e6420 636f6d6d address and comm │ │ │ │ - 0x003a58a0 6f6e206e 616d6520 696e746f 2073696e on name into sin │ │ │ │ - 0x003a58b0 676c6520 73747269 6e672066 6f722076 gle string for v │ │ │ │ - 0x003a58c0 43616c65 6e646172 20312e30 0a202020 Calendar 1.0. │ │ │ │ - 0x003a58d0 20202020 20696620 28495445 4d444154 if (ITEMDAT │ │ │ │ - 0x003a58e0 41545950 4528293d 3d227643 616c656e ATYPE()=="vCalen │ │ │ │ - 0x003a58f0 64617231 30222920 7b0a2020 20202020 dar10") {. │ │ │ │ - 0x003a5900 20202020 693d303b 0a202020 20202020 i=0;. │ │ │ │ - 0x003a5910 20202077 68696c65 28693c53 495a4528 while(i │ │ │ │ - 0x003a61f0 3c2f6d61 63726f3e 0a0a2020 20203c6d .. .. . │ │ │ │ - 0x003a6790 0a0a2020 20203c21 2d2d2069 6e766f6b .. . < │ │ │ │ - 0x003a6810 215b4344 4154415b 0a202020 20495345 ![CDATA[. ISE │ │ │ │ - 0x003a6820 56454e54 203d2032 3b0a0a20 2020202f VENT = 2;.. / │ │ │ │ - 0x003a6830 2f20436f 70792073 756d6d61 72792069 / Copy summary i │ │ │ │ - 0x003a6840 6e746f20 64657363 72697074 696f6e2e nto description. │ │ │ │ - 0x003a6850 20497420 6973206e 6f742031 30302520 It is not 100% │ │ │ │ - 0x003a6860 63657274 61696e20 77686574 68657220 certain whether │ │ │ │ - 0x003a6870 74686174 2069730a 20202020 2f2f206e that is. // n │ │ │ │ - 0x003a6880 65636573 73617279 20287468 65207375 ecessary (the su │ │ │ │ - 0x003a6890 6d6d6172 79206d69 67687420 62652063 mmary might be c │ │ │ │ - 0x003a68a0 6f6d706c 6574656c 7920756e 72656c61 ompletely unrela │ │ │ │ - 0x003a68b0 74656420 746f2074 68652064 65736372 ted to the descr │ │ │ │ - 0x003a68c0 69707469 6f6e2074 65787429 2c0a2020 iption text),. │ │ │ │ - 0x003a68d0 20202f2f 20627574 20746869 73207761 // but this wa │ │ │ │ - 0x003a68e0 79206974 20697320 636f6e73 69737465 y it is consiste │ │ │ │ - 0x003a68f0 6e742077 69746820 74686520 77617920 nt with the way │ │ │ │ - 0x003a6900 686f7720 74686520 45445320 6261636b how the EDS back │ │ │ │ - 0x003a6910 656e6420 75736564 20746f20 68616e64 end used to hand │ │ │ │ - 0x003a6920 6c650a20 2020202f 2f206974 20616e64 le. // it and │ │ │ │ - 0x003a6930 2073796d 6d657472 69632077 69746820 symmetric with │ │ │ │ - 0x003a6940 4d454d4f 5f4f5554 474f494e 475f5343 MEMO_OUTGOING_SC │ │ │ │ - 0x003a6950 52495054 2e0a2020 20206966 20285355 RIPT.. if (SU │ │ │ │ - 0x003a6960 4d4d4152 5920213d 20454d50 54592026 MMARY != EMPTY & │ │ │ │ - 0x003a6970 26204445 53435249 5054494f 4e20213d & DESCRIPTION != │ │ │ │ - 0x003a6980 20454d50 54592920 7b0a2020 20202020 EMPTY) {. │ │ │ │ - 0x003a6990 20204445 53435249 5054494f 4e203d20 DESCRIPTION = │ │ │ │ - 0x003a69a0 53554d4d 41525920 2b20225c 6e22202b SUMMARY + "\n" + │ │ │ │ - 0x003a69b0 20444553 43524950 54494f4e 3b0a2020 DESCRIPTION;. │ │ │ │ - 0x003a69c0 20207d0a 20202020 5d5d3e3c 2f6d6163 }. ]]>.. . │ │ │ │ - 0x003a6a50 3c215b43 44415441 5b0a2020 20202f2f = lensummar │ │ │ │ - 0x003a6b70 79202626 0a202020 20202020 20535542 y &&. SUB │ │ │ │ - 0x003a6b80 53545228 44455343 52495054 494f4e2c STR(DESCRIPTION, │ │ │ │ - 0x003a6b90 20302c20 6c656e73 756d6d61 72792920 0, lensummary) │ │ │ │ - 0x003a6ba0 3d3d2053 554d4d41 52592026 260a2020 == SUMMARY &&. │ │ │ │ - 0x003a6bb0 20202020 2020286c 656e7375 6d6d6172 (lensummar │ │ │ │ - 0x003a6bc0 79203d3d 206c656e 64657363 72207c7c y == lendescr || │ │ │ │ - 0x003a6bd0 20535542 53545228 44455343 52495054 SUBSTR(DESCRIPT │ │ │ │ - 0x003a6be0 494f4e2c 206c656e 73756d6d 6172792c ION, lensummary, │ │ │ │ - 0x003a6bf0 20312920 3d3d2022 5c6e2229 29207b0a 1) == "\n")) {. │ │ │ │ - 0x003a6c00 20202020 20202020 44455343 52495054 DESCRIPT │ │ │ │ - 0x003a6c10 494f4e20 3d205355 42535452 28444553 ION = SUBSTR(DES │ │ │ │ - 0x003a6c20 43524950 54494f4e 2c206c65 6e73756d CRIPTION, lensum │ │ │ │ - 0x003a6c30 6d617279 202b2031 2c206c65 6e646573 mary + 1, lendes │ │ │ │ - 0x003a6c40 6372202d 206c656e 73756d6d 61727920 cr - lensummary │ │ │ │ - 0x003a6c50 2d203129 3b0a2020 20207d0a 20202020 - 1);. }. │ │ │ │ - 0x003a6c60 5d5d3e3c 2f6d6163 726f3e0a 0a202020 ]]>.. │ │ │ │ - 0x003a6c70 203c6d61 63726f20 6e616d65 3d224341 . │ │ │ │ + 0x003a1c70 3e0a0a0a 20202020 3c212d2d 20646566 >... .. 0) {. │ │ │ │ + 0x003a2130 20202020 2f2f2044 54535441 52542061 // DTSTART a │ │ │ │ + 0x003a2140 6e642044 54454e44 20726570 72657365 nd DTEND represe │ │ │ │ + 0x003a2150 6e742061 6c6c6461 79206576 656e742c nt allday event, │ │ │ │ + 0x003a2160 206d616b 65207468 656d2064 6174652d make them date- │ │ │ │ + 0x003a2170 6f6e6c79 2076616c 7565730a 20202020 only values. │ │ │ │ + 0x003a2180 20202020 20202f2f 202d2063 6f6e7665 // - conve │ │ │ │ + 0x003a2190 72742073 74617274 20746f20 75736572 rt start to user │ │ │ │ + 0x003a21a0 207a6f6e 6520286f 7220666c 6f617469 zone (or floati │ │ │ │ + 0x003a21b0 6e672920 736f2069 74207265 70726573 ng) so it repres │ │ │ │ + 0x003a21c0 656e7473 206d6964 6e696768 740a2020 ents midnight. │ │ │ │ + 0x003a21d0 20202020 20202020 44545354 41525420 DTSTART │ │ │ │ + 0x003a21e0 3d20434f 4e564552 54544f55 5345525a = CONVERTTOUSERZ │ │ │ │ + 0x003a21f0 4f4e4528 44545354 41525429 3b0a2020 ONE(DTSTART);. │ │ │ │ + 0x003a2200 20202020 20202020 4d414b45 414c4c44 MAKEALLD │ │ │ │ + 0x003a2210 41592844 54535441 52542c44 54454e44 AY(DTSTART,DTEND │ │ │ │ + 0x003a2220 2c69293b 0a202020 20202020 20202069 ,i);. i │ │ │ │ + 0x003a2230 66202852 525f454e 4420213d 20454d50 f (RR_END != EMP │ │ │ │ + 0x003a2240 54592920 7b0a2020 20202020 20202020 TY) {. │ │ │ │ + 0x003a2250 20202052 525f454e 44203d20 44415445 RR_END = DATE │ │ │ │ + 0x003a2260 4f4e4c59 28434f4e 56455254 544f5553 ONLY(CONVERTTOUS │ │ │ │ + 0x003a2270 45525a4f 4e452852 525f454e 4429293b ERZONE(RR_END)); │ │ │ │ + 0x003a2280 0a202020 20202020 2020207d 0a202020 . }. │ │ │ │ + 0x003a2290 20202020 207d0a20 20202020 20202065 }. e │ │ │ │ + 0x003a22a0 6c736520 7b0a2020 20202020 20202020 lse {. │ │ │ │ + 0x003a22b0 2f2f2069 43616c65 6e646172 20322e30 // iCalendar 2.0 │ │ │ │ + 0x003a22c0 202d206f 6e6c7920 69662044 54535441 - only if DTSTA │ │ │ │ + 0x003a22d0 52542069 73206120 64617465 2d6f6e6c RT is a date-onl │ │ │ │ + 0x003a22e0 79207661 6c756520 74686973 20726561 y value this rea │ │ │ │ + 0x003a22f0 6c6c7920 69732061 6e20616c 6c646179 lly is an allday │ │ │ │ + 0x003a2300 0a202020 20202020 20202069 66202849 . if (I │ │ │ │ + 0x003a2310 53444154 454f4e4c 59284454 53544152 SDATEONLY(DTSTAR │ │ │ │ + 0x003a2320 54292920 7b0a2020 20202020 20202020 T)) {. │ │ │ │ + 0x003a2330 20202f2f 20726573 68617065 20746f20 // reshape to │ │ │ │ + 0x003a2340 6d616b65 20737572 65207765 20646f6e make sure we don │ │ │ │ + 0x003a2350 27742068 61766520 696e7661 6c696420 't have invalid │ │ │ │ + 0x003a2360 7a65726f 2d647572 6174696f 6e20616c zero-duration al │ │ │ │ + 0x003a2370 6c646179 7320286f 6c64204f 43532039 ldays (old OCS 9 │ │ │ │ + 0x003a2380 20736572 76657273 290a2020 20202020 servers). │ │ │ │ + 0x003a2390 20202020 20204d41 4b45414c 4c444159 MAKEALLDAY │ │ │ │ + 0x003a23a0 28445453 54415254 2c445445 4e442c69 (DTSTART,DTEND,i │ │ │ │ + 0x003a23b0 293b0a20 20202020 20202020 207d0a20 );. }. │ │ │ │ + 0x003a23c0 20202020 2020207d 0a0a2020 20202020 }.. │ │ │ │ + 0x003a23d0 20202f2f 204d616b 65207375 72652074 // Make sure t │ │ │ │ + 0x003a23e0 68617420 616c6c20 45584441 54452074 hat all EXDATE t │ │ │ │ + 0x003a23f0 696d6573 20617265 20696e20 74686520 imes are in the │ │ │ │ + 0x003a2400 73616d65 2074696d 657a6f6e 65206173 same timezone as │ │ │ │ + 0x003a2410 20746865 20737461 72740a20 20202020 the start. │ │ │ │ + 0x003a2420 2020202f 2f207469 6d652e20 536f6d65 // time. Some │ │ │ │ + 0x003a2430 20736572 76657273 2073656e 64207468 servers send th │ │ │ │ + 0x003a2440 656d2061 73205554 432c2077 68696368 em as UTC, which │ │ │ │ + 0x003a2450 20697320 616c6c20 66696e65 20616e64 is all fine and │ │ │ │ + 0x003a2460 2077656c 6c2c2062 75740a20 20202020 well, but. │ │ │ │ + 0x003a2470 2020202f 2f206f6e 6c792069 66207468 // only if th │ │ │ │ + 0x003a2480 65207469 6d657a6f 6e652064 6566696e e timezone defin │ │ │ │ + 0x003a2490 6974696f 6e20646f 65736e27 74206368 ition doesn't ch │ │ │ │ + 0x003a24a0 616e6765 2e20416c 736f2c20 6c696269 ange. Also, libi │ │ │ │ + 0x003a24b0 63616c20 646f6573 206e6f74 0a202020 cal does not. │ │ │ │ + 0x003a24c0 20202020 202f2f20 68616e64 6c652073 // handle s │ │ │ │ + 0x003a24d0 75636820 55544320 45584441 5445732c uch UTC EXDATEs, │ │ │ │ + 0x003a24e0 20736f20 6c657427 7320636f 6e766572 so let's conver │ │ │ │ + 0x003a24f0 74206974 20776869 6c652074 68652055 t it while the U │ │ │ │ + 0x003a2500 54432061 6e640a20 20202020 2020202f TC and. / │ │ │ │ + 0x003a2510 2f207469 6d65207a 6f6e6520 64656669 / time zone defi │ │ │ │ + 0x003a2520 6e697469 6f6e2028 686f7065 66756c6c nition (hopefull │ │ │ │ + 0x003a2530 79292061 72652069 6e207379 6e632e0a y) are in sync.. │ │ │ │ + 0x003a2540 20202020 20202020 69662028 54494d45 if (TIME │ │ │ │ + 0x003a2550 5a4f4e45 28445453 54415254 2920213d ZONE(DTSTART) != │ │ │ │ + 0x003a2560 20225554 43222026 26202149 53464c4f "UTC" && !ISFLO │ │ │ │ + 0x003a2570 4154494e 47284454 53544152 54292920 ATING(DTSTART)) │ │ │ │ + 0x003a2580 7b0a2020 20202020 20202020 69203d20 {. i = │ │ │ │ + 0x003a2590 303b0a20 20202020 20202020 2074696d 0;. tim │ │ │ │ + 0x003a25a0 65737461 6d702065 78646174 653b0a20 estamp exdate;. │ │ │ │ + 0x003a25b0 20202020 20202020 20776869 6c652028 while ( │ │ │ │ + 0x003a25c0 693c5349 5a452845 58444154 45532929 i0) {. │ │ │ │ + 0x003a3110 20204455 45203d20 434f4e56 45525454 DUE = CONVERTT │ │ │ │ + 0x003a3120 4f555345 525a4f4e 45284455 45293b0a OUSERZONE(DUE);. │ │ │ │ + 0x003a3130 20202020 20202020 20204455 45203d20 DUE = │ │ │ │ + 0x003a3140 44415445 4f4e4c59 28445545 293b0a20 DATEONLY(DUE);. │ │ │ │ + 0x003a3150 20202020 2020207d 0a202020 20202020 }. │ │ │ │ + 0x003a3160 20696620 28495445 4d444154 41545950 if (ITEMDATATYP │ │ │ │ + 0x003a3170 4528293d 3d227643 616c656e 64617231 E()=="vCalendar1 │ │ │ │ + 0x003a3180 30222920 7b0a2020 20202020 20202020 0") {. │ │ │ │ + 0x003a3190 24564341 4c454e44 41525f31 30544f32 $VCALENDAR_10TO2 │ │ │ │ + 0x003a31a0 305f5052 494f5249 54595f43 4f4e5645 0_PRIORITY_CONVE │ │ │ │ + 0x003a31b0 5253494f 4e3b0a20 20202020 2020207d RSION;. } │ │ │ │ + 0x003a31c0 0a202020 2020207d 0a202020 2020202f . }. / │ │ │ │ + 0x003a31d0 2f206120 776f726b 61726f75 6e642066 / a workaround f │ │ │ │ + 0x003a31e0 6f722066 756e616d 626f6c3a 20616464 or funambol: add │ │ │ │ + 0x003a31f0 696e6720 27616374 696f6e27 20666f72 ing 'action' for │ │ │ │ + 0x003a3200 2027616c 61726d27 0a202020 2020202f 'alarm'. / │ │ │ │ + 0x003a3210 2f206966 20697465 6d206461 74612074 / if item data t │ │ │ │ + 0x003a3220 79706520 69732076 43616c65 6e646172 ype is vCalendar │ │ │ │ + 0x003a3230 312e302c 20616c73 6f206164 64202761 1.0, also add 'a │ │ │ │ + 0x003a3240 6374696f 6e272066 6f722027 616c6172 ction' for 'alar │ │ │ │ + 0x003a3250 6d272e0a 20202020 20202f2f 20546869 m'.. // Thi │ │ │ │ + 0x003a3260 73206973 20612077 6f726b61 726f756e s is a workaroun │ │ │ │ + 0x003a3270 6420666f 72204d6f 62696361 6c2e6e65 d for Mobical.ne │ │ │ │ + 0x003a3280 742c2077 68696368 20757365 73207643 t, which uses vC │ │ │ │ + 0x003a3290 616c656e 64617231 2e302e0a 20202020 alendar1.0.. │ │ │ │ + 0x003a32a0 20206966 2028414c 41524d5f 54494d45 if (ALARM_TIME │ │ │ │ + 0x003a32b0 213d454d 50545920 26262041 4c41524d !=EMPTY && ALARM │ │ │ │ + 0x003a32c0 5f414354 494f4e3d 3d454d50 54592920 _ACTION==EMPTY) │ │ │ │ + 0x003a32d0 7b0a2020 20202020 20202020 414c4152 {. ALAR │ │ │ │ + 0x003a32e0 4d5f4143 54494f4e 203d2022 44495350 M_ACTION = "DISP │ │ │ │ + 0x003a32f0 4c415922 3b0a2020 20202020 7d0a2020 LAY";. }. │ │ │ │ + 0x003a3300 20205d5d 3e3c2f6d 6163726f 3e0a0a0a ]]>... │ │ │ │ + 0x003a3310 20202020 3c6d6163 726f206e 616d653d .. .. . < │ │ │ │ + 0x003a4220 215b4344 4154415b 0a202020 20494e54 ![CDATA[. INT │ │ │ │ + 0x003a4230 45474552 20524553 3b0a2020 20206966 EGER RES;. if │ │ │ │ + 0x003a4240 2028434f 4d504152 49534f4e 4d4f4445 (COMPARISONMODE │ │ │ │ + 0x003a4250 28292021 3d202261 67652220 26262053 () != "age" && S │ │ │ │ + 0x003a4260 594e434d 4f444553 5550504f 52544544 YNCMODESUPPORTED │ │ │ │ + 0x003a4270 28223131 32323538 33303030 22292920 ("1122583000")) │ │ │ │ + 0x003a4280 7b0a2020 20202020 20206966 20285441 {. if (TA │ │ │ │ + 0x003a4290 52474554 2e554944 203d3d20 52454645 RGET.UID == REFE │ │ │ │ + 0x003a42a0 52454e43 452e5549 44202626 0a202020 RENCE.UID &&. │ │ │ │ + 0x003a42b0 20202020 20202020 20544152 4745542e TARGET. │ │ │ │ + 0x003a42c0 4f524947 53544152 54203d3d 20524546 ORIGSTART == REF │ │ │ │ + 0x003a42d0 4552454e 43452e4f 52494753 54415254 ERENCE.ORIGSTART │ │ │ │ + 0x003a42e0 29207b0a 20202020 20202020 20202020 ) {. │ │ │ │ + 0x003a42f0 52455320 3d20303b 0a202020 20202020 RES = 0;. │ │ │ │ + 0x003a4300 207d2065 6c736520 7b0a2020 20202020 } else {. │ │ │ │ + 0x003a4310 20202020 20205245 53203d20 2d393939 RES = -999 │ │ │ │ + 0x003a4320 3b0a2020 20202020 20207d0a 20202020 ;. }. │ │ │ │ + 0x003a4330 7d20656c 7365207b 0a202020 20202020 } else {. │ │ │ │ + 0x003a4340 20524553 203d2043 4f4d5041 52454649 RES = COMPAREFI │ │ │ │ + 0x003a4350 454c4453 28293b0a 20202020 7d0a2020 ELDS();. }. │ │ │ │ + 0x003a4360 20207265 7475726e 20524553 3b0a2020 return RES;. │ │ │ │ + 0x003a4370 20205d5d 3e3c2f6d 6163726f 3e0a0a20 ]]>.. │ │ │ │ + 0x003a4380 2020203c 212d2d20 696e766f 6b656420 . │ │ │ │ + 0x003a45c0 0a0a2020 20203c21 2d2d2069 6e766f6b .. . = lensummary & │ │ │ │ + 0x003a4760 260a2020 20202020 20205355 42535452 &. SUBSTR │ │ │ │ + 0x003a4770 28444553 43524950 54494f4e 2c20302c (DESCRIPTION, 0, │ │ │ │ + 0x003a4780 206c656e 73756d6d 61727929 203d3d20 lensummary) == │ │ │ │ + 0x003a4790 53554d4d 41525920 26260a20 20202020 SUMMARY &&. │ │ │ │ + 0x003a47a0 20202028 6c656e73 756d6d61 7279203d (lensummary = │ │ │ │ + 0x003a47b0 3d206c65 6e646573 6372207c 7c205355 = lendescr || SU │ │ │ │ + 0x003a47c0 42535452 28444553 43524950 54494f4e BSTR(DESCRIPTION │ │ │ │ + 0x003a47d0 2c206c65 6e73756d 6d617279 2c203129 , lensummary, 1) │ │ │ │ + 0x003a47e0 203d3d20 225c6e22 2929207b 0a202020 == "\n")) {. │ │ │ │ + 0x003a47f0 20202020 20444553 43524950 54494f4e DESCRIPTION │ │ │ │ + 0x003a4800 203d2053 55425354 52284445 53435249 = SUBSTR(DESCRI │ │ │ │ + 0x003a4810 5054494f 4e2c206c 656e7375 6d6d6172 PTION, lensummar │ │ │ │ + 0x003a4820 79202b20 312c206c 656e6465 73637220 y + 1, lendescr │ │ │ │ + 0x003a4830 2d206c65 6e73756d 6d617279 202d2031 - lensummary - 1 │ │ │ │ + 0x003a4840 293b0a20 2020207d 0a202020 205d5d3e );. }. ]]> │ │ │ │ + 0x003a4850 3c2f6d61 63726f3e 0a0a2020 20203c6d .. . │ │ │ │ + 0x003a49d0 203c6d61 63726f20 6e616d65 3d225643 < │ │ │ │ + 0x003a4a60 2f6d6163 726f3e0a 0a202020 203c6d61 /macro>.. .. │ │ │ │ + 0x003a4b60 2020203c 6d616372 6f206e61 6d653d22 .. │ │ │ │ + 0x003a4bd0 203c212d 2d206d6f 76657320 616e2049 . .. . │ │ │ │ + 0x003a4d40 20203c6d 6163726f 206e616d 653d2256 X-ANNIVERSARY │ │ │ │ + 0x003a4dc0 2e0a2020 20202020 2069203d 2053495a .. i = SIZ │ │ │ │ + 0x003a4dd0 45285844 41544529 202d2031 3b0a2020 E(XDATE) - 1;. │ │ │ │ + 0x003a4de0 20202020 20776869 6c652028 69203e3d while (i >= │ │ │ │ + 0x003a4df0 20302920 7b0a2020 20202020 20202020 0) {. │ │ │ │ + 0x003a4e00 69662028 47524f55 505f5441 475b695d if (GROUP_TAG[i] │ │ │ │ + 0x003a4e10 20213d20 454d5054 59202626 0a202020 != EMPTY &&. │ │ │ │ + 0x003a4e20 20202020 20202020 20202058 44415445 XDATE │ │ │ │ + 0x003a4e30 5b695d20 213d2055 4e415353 49474e45 [i] != UNASSIGNE │ │ │ │ + 0x003a4e40 44202626 0a202020 20202020 20202020 D &&. │ │ │ │ + 0x003a4e50 2020204c 4142454c 5b695d20 3d3d2022 LABEL[i] == " │ │ │ │ + 0x003a4e60 416e6e69 76657273 61727922 29207b0a Anniversary") {. │ │ │ │ + 0x003a4e70 20202020 20202020 20202020 20205357 SW │ │ │ │ + 0x003a4e80 41502841 4e4e4956 45525341 52592c20 AP(ANNIVERSARY, │ │ │ │ + 0x003a4e90 58444154 455b695d 293b0a0a 20202020 XDATE[i]);.. │ │ │ │ + 0x003a4ea0 20202020 20202020 20202f2f 20584441 // XDA │ │ │ │ + 0x003a4eb0 54455b69 5d203d20 554e4153 5349474e TE[i] = UNASSIGN │ │ │ │ + 0x003a4ec0 45443b0a 20202020 20202020 20202020 ED;. │ │ │ │ + 0x003a4ed0 20206272 65616b3b 0a202020 20202020 break;. │ │ │ │ + 0x003a4ee0 2020207d 0a202020 20202020 20202069 }. i │ │ │ │ + 0x003a4ef0 203d2069 202d2031 3b0a2020 20202020 = i - 1;. │ │ │ │ + 0x003a4f00 207d0a0a 20202020 2020202f 2f205370 }.. // Sp │ │ │ │ + 0x003a4f10 65636961 6c20582d 41425245 4c415445 ecial X-ABRELATE │ │ │ │ + 0x003a4f20 444e414d 4553202d 3e20582d 53504f55 DNAMES -> X-SPOU │ │ │ │ + 0x003a4f30 53452f4d 414e4147 45522f41 53534953 SE/MANAGER/ASSIS │ │ │ │ + 0x003a4f40 54414e54 0a202020 20202020 69203d20 TANT. i = │ │ │ │ + 0x003a4f50 53495a45 2852454c 41544544 4e414d45 SIZE(RELATEDNAME │ │ │ │ + 0x003a4f60 5329202d 20313b0a 20202020 20202077 S) - 1;. w │ │ │ │ + 0x003a4f70 68696c65 20286920 3e3d2030 29207b0a hile (i >= 0) {. │ │ │ │ + 0x003a4f80 20202020 20202020 20206966 20284752 if (GR │ │ │ │ + 0x003a4f90 4f55505f 5441475b 695d2021 3d20454d OUP_TAG[i] != EM │ │ │ │ + 0x003a4fa0 50545920 26260a20 20202020 20202020 PTY &&. │ │ │ │ + 0x003a4fb0 20202020 2052454c 41544544 4e414d45 RELATEDNAME │ │ │ │ + 0x003a4fc0 535b695d 20213d20 554e4153 5349474e S[i] != UNASSIGN │ │ │ │ + 0x003a4fd0 45442920 7b0a2020 20202020 20202020 ED) {. │ │ │ │ + 0x003a4fe0 20202073 203d204c 4142454c 5b695d3b s = LABEL[i]; │ │ │ │ + 0x003a4ff0 0a202020 20202020 20202020 20206966 . if │ │ │ │ + 0x003a5000 20287320 3d3d2022 53706f75 73652229 (s == "Spouse") │ │ │ │ + 0x003a5010 207b0a20 20202020 20202020 20202020 {. │ │ │ │ + 0x003a5020 20202069 66202853 504f5553 45203d3d if (SPOUSE == │ │ │ │ + 0x003a5030 20454d50 54592920 7b0a2020 20202020 EMPTY) {. │ │ │ │ + 0x003a5040 20202020 20202020 20202020 20535741 SWA │ │ │ │ + 0x003a5050 50285350 4f555345 2c205245 4c415445 P(SPOUSE, RELATE │ │ │ │ + 0x003a5060 444e414d 45535b69 5d293b0a 20202020 DNAMES[i]);. │ │ │ │ + 0x003a5070 20202020 20202020 20202020 2020202f / │ │ │ │ + 0x003a5080 2f205245 4c415445 444e414d 45535b69 / RELATEDNAMES[i │ │ │ │ + 0x003a5090 5d203d20 554e4153 5349474e 45443b0a ] = UNASSIGNED;. │ │ │ │ + 0x003a50a0 20202020 20202020 20202020 20202020 │ │ │ │ + 0x003a50b0 7d0a2020 20202020 20202020 2020207d }. } │ │ │ │ + 0x003a50c0 20656c73 65206966 20287320 3d3d2022 else if (s == " │ │ │ │ + 0x003a50d0 4d616e61 67657222 29207b0a 20202020 Manager") {. │ │ │ │ + 0x003a50e0 20202020 20202020 20202020 69662028 if ( │ │ │ │ + 0x003a50f0 4d414e41 47455220 3d3d2045 4d505459 MANAGER == EMPTY │ │ │ │ + 0x003a5100 29207b0a 20202020 20202020 20202020 ) {. │ │ │ │ + 0x003a5110 20202020 20202053 57415028 4d414e41 SWAP(MANA │ │ │ │ + 0x003a5120 4745522c 2052454c 41544544 4e414d45 GER, RELATEDNAME │ │ │ │ + 0x003a5130 535b695d 293b0a20 20202020 20202020 S[i]);. │ │ │ │ + 0x003a5140 20202020 20202020 20202f2f 2052454c // REL │ │ │ │ + 0x003a5150 41544544 4e414d45 535b695d 203d2055 ATEDNAMES[i] = U │ │ │ │ + 0x003a5160 4e415353 49474e45 443b0a20 20202020 NASSIGNED;. │ │ │ │ + 0x003a5170 20202020 20202020 2020207d 0a202020 }. │ │ │ │ + 0x003a5180 20202020 20202020 20207d20 656c7365 } else │ │ │ │ + 0x003a5190 20696620 2873203d 3d202241 73736973 if (s == "Assis │ │ │ │ + 0x003a51a0 74616e74 2229207b 0a202020 20202020 tant") {. │ │ │ │ + 0x003a51b0 20202020 20202020 20696620 28415353 if (ASS │ │ │ │ + 0x003a51c0 49535441 4e54203d 3d20454d 50545929 ISTANT == EMPTY) │ │ │ │ + 0x003a51d0 207b0a20 20202020 20202020 20202020 {. │ │ │ │ + 0x003a51e0 20202020 20205357 41502841 53534953 SWAP(ASSIS │ │ │ │ + 0x003a51f0 54414e54 2c205245 4c415445 444e414d TANT, RELATEDNAM │ │ │ │ + 0x003a5200 45535b69 5d293b0a 20202020 20202020 ES[i]);. │ │ │ │ + 0x003a5210 20202020 20202020 2020202f 2f205245 // RE │ │ │ │ + 0x003a5220 4c415445 444e414d 45535b69 5d203d20 LATEDNAMES[i] = │ │ │ │ + 0x003a5230 554e4153 5349474e 45443b0a 20202020 UNASSIGNED;. │ │ │ │ + 0x003a5240 20202020 20202020 20202020 7d0a2020 }. │ │ │ │ + 0x003a5250 20202020 20202020 2020207d 0a202020 }. │ │ │ │ + 0x003a5260 20202020 2020207d 0a202020 20202020 }. │ │ │ │ + 0x003a5270 20202069 203d2069 202d2031 3b0a2020 i = i - 1;. │ │ │ │ + 0x003a5280 20202020 207d0a0a 20202020 2020202f }.. / │ │ │ │ + 0x003a5290 2f20494d 5050202d 3e20582d 4a414242 / IMPP -> X-JABB │ │ │ │ + 0x003a52a0 45522f41 494d2f2e 2e2e2064 6570656e ER/AIM/... depen │ │ │ │ + 0x003a52b0 64696e67 206f6e20 73657276 69636520 ding on service │ │ │ │ + 0x003a52c0 74797065 2e205072 6f746f63 6f6c206d type. Protocol m │ │ │ │ + 0x003a52d0 75737420 6d617463 682e0a20 20202020 ust match.. │ │ │ │ + 0x003a52e0 20206920 3d205349 5a452849 4d505029 i = SIZE(IMPP) │ │ │ │ + 0x003a52f0 202d2031 3b0a2020 20202020 20494e54 - 1;. INT │ │ │ │ + 0x003a5300 45474552 206f6666 7365743b 0a202020 EGER offset;. │ │ │ │ + 0x003a5310 20202020 53545249 4e472073 65727669 STRING servi │ │ │ │ + 0x003a5320 63653b0a 20202020 20202053 5452494e ce;. STRIN │ │ │ │ + 0x003a5330 47207072 6f746f63 6f6c3b0a 20202020 G protocol;. │ │ │ │ + 0x003a5340 20202053 5452494e 47207661 6c75653b STRING value; │ │ │ │ + 0x003a5350 0a202020 20202020 7768696c 65202869 . while (i │ │ │ │ + 0x003a5360 203e3d20 3029207b 0a202020 20202020 >= 0) {. │ │ │ │ + 0x003a5370 20202073 65727669 6365203d 20494d50 service = IMP │ │ │ │ + 0x003a5380 505f5345 52564943 455b695d 3b0a2020 P_SERVICE[i];. │ │ │ │ + 0x003a5390 20202020 20202020 69662028 73657276 if (serv │ │ │ │ + 0x003a53a0 69636520 213d2055 4e415353 49474e45 ice != UNASSIGNE │ │ │ │ + 0x003a53b0 4429207b 0a202020 20202020 20202020 D) {. │ │ │ │ + 0x003a53c0 20206f66 66736574 203d2046 494e4428 offset = FIND( │ │ │ │ + 0x003a53d0 494d5050 5b695d2c 20223a22 293b0a20 IMPP[i], ":");. │ │ │ │ + 0x003a53e0 20202020 20202020 20202020 69662028 if ( │ │ │ │ + 0x003a53f0 6f666673 65742021 3d20554e 41535349 offset != UNASSI │ │ │ │ + 0x003a5400 474e4544 29207b0a 20202020 20202020 GNED) {. │ │ │ │ + 0x003a5410 20202020 20202020 70726f74 6f636f6c protocol │ │ │ │ + 0x003a5420 203d2053 55425354 5228494d 50505b69 = SUBSTR(IMPP[i │ │ │ │ + 0x003a5430 5d2c2030 2c206f66 66736574 293b0a20 ], 0, offset);. │ │ │ │ + 0x003a5440 20202020 20202020 20202020 20202076 v │ │ │ │ + 0x003a5450 616c7565 203d2055 524c4445 434f4445 alue = URLDECODE │ │ │ │ + 0x003a5460 28535542 53545228 494d5050 5b695d2c (SUBSTR(IMPP[i], │ │ │ │ + 0x003a5470 206f6666 73657420 2b203129 293b0a20 offset + 1));. │ │ │ │ + 0x003a5480 20202020 20202020 20202020 20202069 i │ │ │ │ + 0x003a5490 66202873 65727669 6365203d 3d202241 f (service == "A │ │ │ │ + 0x003a54a0 494d2220 26262070 726f746f 636f6c20 IM" && protocol │ │ │ │ + 0x003a54b0 3d3d2022 61696d22 29207b0a 20202020 == "aim") {. │ │ │ │ + 0x003a54c0 20202020 20202020 20202020 20202024 $ │ │ │ │ + 0x003a54d0 56434152 445f4d4f 4445524e 5f544f5f VCARD_MODERN_TO_ │ │ │ │ + 0x003a54e0 4c454741 43595f49 4d505028 76616c75 LEGACY_IMPP(valu │ │ │ │ + 0x003a54f0 652c2041 494d5f48 414e444c 452c2041 e, AIM_HANDLE, A │ │ │ │ + 0x003a5500 494d5f53 4c4f542c 2069293b 0a202020 IM_SLOT, i);. │ │ │ │ + 0x003a5510 20202020 20202020 20202020 207d2065 } e │ │ │ │ + 0x003a5520 6c736520 69662028 73657276 69636520 lse if (service │ │ │ │ + 0x003a5530 3d3d2022 47616475 67616475 2229207b == "Gadugadu") { │ │ │ │ + 0x003a5540 0a202020 20202020 20202020 20202020 . │ │ │ │ + 0x003a5550 20202020 24564341 52445f4d 4f444552 $VCARD_MODER │ │ │ │ + 0x003a5560 4e5f544f 5f4c4547 4143595f 494d5050 N_TO_LEGACY_IMPP │ │ │ │ + 0x003a5570 2876616c 75652c20 47414455 47414455 (value, GADUGADU │ │ │ │ + 0x003a5580 5f48414e 444c452c 20474144 55474144 _HANDLE, GADUGAD │ │ │ │ + 0x003a5590 555f534c 4f542c20 69293b0a 20202020 U_SLOT, i);. │ │ │ │ + 0x003a55a0 20202020 20202020 20202020 7d20656c } el │ │ │ │ + 0x003a55b0 73652069 66202873 65727669 6365203d se if (service = │ │ │ │ + 0x003a55c0 3d202247 726f7570 77697365 2229207b = "Groupwise") { │ │ │ │ + 0x003a55d0 0a202020 20202020 20202020 20202020 . │ │ │ │ + 0x003a55e0 20202020 24564341 52445f4d 4f444552 $VCARD_MODER │ │ │ │ + 0x003a55f0 4e5f544f 5f4c4547 4143595f 494d5050 N_TO_LEGACY_IMPP │ │ │ │ + 0x003a5600 2876616c 75652c20 47524f55 50574953 (value, GROUPWIS │ │ │ │ + 0x003a5610 455f4841 4e444c45 2c204752 4f555057 E_HANDLE, GROUPW │ │ │ │ + 0x003a5620 4953455f 534c4f54 2c206929 3b0a2020 ISE_SLOT, i);. │ │ │ │ + 0x003a5630 20202020 20202020 20202020 20207d20 } │ │ │ │ + 0x003a5640 656c7365 20696620 28736572 76696365 else if (service │ │ │ │ + 0x003a5650 203d3d20 22494351 22202626 2070726f == "ICQ" && pro │ │ │ │ + 0x003a5660 746f636f 6c203d3d 20226169 6d222920 tocol == "aim") │ │ │ │ + 0x003a5670 7b0a2020 20202020 20202020 20202020 {. │ │ │ │ + 0x003a5680 20202020 20245643 4152445f 4d4f4445 $VCARD_MODE │ │ │ │ + 0x003a5690 524e5f54 4f5f4c45 47414359 5f494d50 RN_TO_LEGACY_IMP │ │ │ │ + 0x003a56a0 50287661 6c75652c 20494351 5f48414e P(value, ICQ_HAN │ │ │ │ + 0x003a56b0 444c452c 20494351 5f534c4f 542c2069 DLE, ICQ_SLOT, i │ │ │ │ + 0x003a56c0 293b0a20 20202020 20202020 20202020 );. │ │ │ │ + 0x003a56d0 2020207d 20656c73 65206966 20287365 } else if (se │ │ │ │ + 0x003a56e0 72766963 65203d3d 20224a61 62626572 rvice == "Jabber │ │ │ │ + 0x003a56f0 22202626 2070726f 746f636f 6c203d3d " && protocol == │ │ │ │ + 0x003a5700 2022786d 70702229 207b0a20 20202020 "xmpp") {. │ │ │ │ + 0x003a5710 20202020 20202020 20202020 20202456 $V │ │ │ │ + 0x003a5720 43415244 5f4d4f44 45524e5f 544f5f4c CARD_MODERN_TO_L │ │ │ │ + 0x003a5730 45474143 595f494d 50502876 616c7565 EGACY_IMPP(value │ │ │ │ + 0x003a5740 2c204a41 42424552 5f48414e 444c452c , JABBER_HANDLE, │ │ │ │ + 0x003a5750 204a4142 4245525f 534c4f54 2c206929 JABBER_SLOT, i) │ │ │ │ + 0x003a5760 3b0a2020 20202020 20202020 20202020 ;. │ │ │ │ + 0x003a5770 20207d20 656c7365 20696620 28736572 } else if (ser │ │ │ │ + 0x003a5780 76696365 203d3d20 224d534e 22202626 vice == "MSN" && │ │ │ │ + 0x003a5790 2070726f 746f636f 6c203d3d 20226d73 protocol == "ms │ │ │ │ + 0x003a57a0 6e696d22 29207b0a 20202020 20202020 nim") {. │ │ │ │ + 0x003a57b0 20202020 20202020 20202024 56434152 $VCAR │ │ │ │ + 0x003a57c0 445f4d4f 4445524e 5f544f5f 4c454741 D_MODERN_TO_LEGA │ │ │ │ + 0x003a57d0 43595f49 4d505028 76616c75 652c204d CY_IMPP(value, M │ │ │ │ + 0x003a57e0 534e5f48 414e444c 452c204d 534e5f53 SN_HANDLE, MSN_S │ │ │ │ + 0x003a57f0 4c4f542c 2069293b 0a202020 20202020 LOT, i);. │ │ │ │ + 0x003a5800 20202020 20202020 207d2065 6c736520 } else │ │ │ │ + 0x003a5810 69662028 73657276 69636520 3d3d2022 if (service == " │ │ │ │ + 0x003a5820 5961686f 6f222026 26207072 6f746f63 Yahoo" && protoc │ │ │ │ + 0x003a5830 6f6c203d 3d202279 6d736772 2229207b ol == "ymsgr") { │ │ │ │ + 0x003a5840 0a202020 20202020 20202020 20202020 . │ │ │ │ + 0x003a5850 20202020 24564341 52445f4d 4f444552 $VCARD_MODER │ │ │ │ + 0x003a5860 4e5f544f 5f4c4547 4143595f 494d5050 N_TO_LEGACY_IMPP │ │ │ │ + 0x003a5870 2876616c 75652c20 5941484f 4f5f4841 (value, YAHOO_HA │ │ │ │ + 0x003a5880 4e444c45 2c205941 484f4f5f 534c4f54 NDLE, YAHOO_SLOT │ │ │ │ + 0x003a5890 2c206929 3b0a2020 20202020 20202020 , i);. │ │ │ │ + 0x003a58a0 20202020 20207d20 656c7365 20696620 } else if │ │ │ │ + 0x003a58b0 28736572 76696365 203d3d20 22536b79 (service == "Sky │ │ │ │ + 0x003a58c0 70652220 26262070 726f746f 636f6c20 pe" && protocol │ │ │ │ + 0x003a58d0 3d3d2022 736b7970 65222920 7b0a2020 == "skype") {. │ │ │ │ + 0x003a58e0 20202020 20202020 20202020 20202020 │ │ │ │ + 0x003a58f0 20245643 4152445f 4d4f4445 524e5f54 $VCARD_MODERN_T │ │ │ │ + 0x003a5900 4f5f4c45 47414359 5f494d50 50287661 O_LEGACY_IMPP(va │ │ │ │ + 0x003a5910 6c75652c 20534b59 50455f48 414e444c lue, SKYPE_HANDL │ │ │ │ + 0x003a5920 452c2053 4b595045 5f534c4f 542c2069 E, SKYPE_SLOT, i │ │ │ │ + 0x003a5930 293b0a20 20202020 20202020 20202020 );. │ │ │ │ + 0x003a5940 2020207d 20656c73 65206966 20287365 } else if (se │ │ │ │ + 0x003a5950 72766963 65203d3d 20225369 70222920 rvice == "Sip") │ │ │ │ + 0x003a5960 7b0a2020 20202020 20202020 20202020 {. │ │ │ │ + 0x003a5970 20202020 20245643 4152445f 4d4f4445 $VCARD_MODE │ │ │ │ + 0x003a5980 524e5f54 4f5f4c45 47414359 5f494d50 RN_TO_LEGACY_IMP │ │ │ │ + 0x003a5990 50287661 6c75652c 20534950 5f48414e P(value, SIP_HAN │ │ │ │ + 0x003a59a0 444c452c 20534950 5f534c4f 542c2069 DLE, SIP_SLOT, i │ │ │ │ + 0x003a59b0 293b0a20 20202020 20202020 20202020 );. │ │ │ │ + 0x003a59c0 2020207d 0a202020 20202020 20202020 }. │ │ │ │ + 0x003a59d0 20207d0a 20202020 20202020 20207d0a }. }. │ │ │ │ + 0x003a59e0 20202020 20202020 20206920 3d206920 i = i │ │ │ │ + 0x003a59f0 2d20313b 0a202020 20202020 7d0a0a0a - 1;. }... │ │ │ │ + 0x003a5a00 20202020 2020202f 2f205265 6d6f7665 // Remove │ │ │ │ + 0x003a5a10 206c6162 656c7320 77686963 68206172 labels which ar │ │ │ │ + 0x003a5a20 65206e6f 206c6f6e 67657220 6e656564 e no longer need │ │ │ │ + 0x003a5a30 65642028 76616c75 6564206d 6f766564 ed (valued moved │ │ │ │ + 0x003a5a40 2061626f 76652c0a 20202020 2020202f above,. / │ │ │ │ + 0x003a5a50 2f207374 6f726564 20666f72 20612067 / stored for a g │ │ │ │ + 0x003a5a60 726f7570 20776869 63682068 6173206e roup which has n │ │ │ │ + 0x003a5a70 6f206f74 68657220 70726f70 65727469 o other properti │ │ │ │ + 0x003a5a80 65732028 476f6f67 6c650a20 20202020 es (Google. │ │ │ │ + 0x003a5a90 20202f2f 20436172 64444156 20736572 // CardDAV ser │ │ │ │ + 0x003a5aa0 76657220 736f6d65 74696d65 73207365 ver sometimes se │ │ │ │ + 0x003a5ab0 6e647320 74686174 2c206564 6974696e nds that, editin │ │ │ │ + 0x003a5ac0 6720696e 2045766f 6c757469 6f6e0a20 g in Evolution. │ │ │ │ + 0x003a5ad0 20202020 20202f2f 206d6967 68742063 // might c │ │ │ │ + 0x003a5ae0 61757365 2069742c 20657463 2e29206f ause it, etc.) o │ │ │ │ + 0x003a5af0 72207072 6f766964 65206e6f 20696e66 r provide no inf │ │ │ │ + 0x003a5b00 6f726d61 74696f6e 2028224f 74686572 ormation ("Other │ │ │ │ + 0x003a5b10 22292e0a 20202020 20202069 203d2053 ").. i = S │ │ │ │ + 0x003a5b20 495a4528 4c414245 4c29202d 20313b0a IZE(LABEL) - 1;. │ │ │ │ + 0x003a5b30 20202020 20202077 68696c65 20286920 while (i │ │ │ │ + 0x003a5b40 3e3d2030 29207b0a 20202020 20202020 >= 0) {. │ │ │ │ + 0x003a5b50 20206966 20284c41 42454c5b 695d203d if (LABEL[i] = │ │ │ │ + 0x003a5b60 3d20224f 74686572 22207c7c 0a202020 = "Other" ||. │ │ │ │ + 0x003a5b70 20202020 20202020 2020204c 4142454c LABEL │ │ │ │ + 0x003a5b80 5b695d20 213d2055 4e415353 49474e45 [i] != UNASSIGNE │ │ │ │ + 0x003a5b90 44202626 0a202020 20202020 20202020 D &&. │ │ │ │ + 0x003a5ba0 20202028 47524f55 505f5441 475b695d (GROUP_TAG[i] │ │ │ │ + 0x003a5bb0 203d3d20 454d5054 59207c7c 0a202020 == EMPTY ||. │ │ │ │ + 0x003a5bc0 20202020 20202020 20202020 52454c41 RELA │ │ │ │ + 0x003a5bd0 5445444e 414d4553 5b695d20 3d3d2055 TEDNAMES[i] == U │ │ │ │ + 0x003a5be0 4e415353 49474e45 44202626 0a202020 NASSIGNED &&. │ │ │ │ + 0x003a5bf0 20202020 20202020 20202020 58444154 XDAT │ │ │ │ + 0x003a5c00 455b695d 203d3d20 554e4153 5349474e E[i] == UNASSIGN │ │ │ │ + 0x003a5c10 45442026 260a2020 20202020 20202020 ED &&. │ │ │ │ + 0x003a5c20 20202020 2054454c 5b695d20 3d3d2055 TEL[i] == U │ │ │ │ + 0x003a5c30 4e415353 49474e45 44202626 0a202020 NASSIGNED &&. │ │ │ │ + 0x003a5c40 20202020 20202020 20202020 454d4149 EMAI │ │ │ │ + 0x003a5c50 4c5b695d 203d3d20 554e4153 5349474e L[i] == UNASSIGN │ │ │ │ + 0x003a5c60 45442026 260a2020 20202020 20202020 ED &&. │ │ │ │ + 0x003a5c70 20202020 20574542 5b695d20 3d3d2055 WEB[i] == U │ │ │ │ + 0x003a5c80 4e415353 49474e45 44202626 0a202020 NASSIGNED &&. │ │ │ │ + 0x003a5c90 20202020 20202020 20202020 58444154 XDAT │ │ │ │ + 0x003a5ca0 455b695d 203d3d20 554e4153 5349474e E[i] == UNASSIGN │ │ │ │ + 0x003a5cb0 45442026 260a2020 20202020 20202020 ED &&. │ │ │ │ + 0x003a5cc0 20202020 20494d50 505b695d 203d3d20 IMPP[i] == │ │ │ │ + 0x003a5cd0 554e4153 5349474e 45442026 260a2020 UNASSIGNED &&. │ │ │ │ + 0x003a5ce0 20202020 20202020 20202020 20414452 ADR │ │ │ │ + 0x003a5cf0 5f504f42 4f585b69 5d203d3d 20554e41 _POBOX[i] == UNA │ │ │ │ + 0x003a5d00 53534947 4e454420 26260a20 20202020 SSIGNED &&. │ │ │ │ + 0x003a5d10 20202020 20202020 20204144 525f4144 ADR_AD │ │ │ │ + 0x003a5d20 44544c5b 695d203d 3d20554e 41535349 DTL[i] == UNASSI │ │ │ │ + 0x003a5d30 474e4544 2026260a 20202020 20202020 GNED &&. │ │ │ │ + 0x003a5d40 20202020 20202041 44525f53 54524545 ADR_STREE │ │ │ │ + 0x003a5d50 545b695d 203d3d20 554e4153 5349474e T[i] == UNASSIGN │ │ │ │ + 0x003a5d60 45442026 260a2020 20202020 20202020 ED &&. │ │ │ │ + 0x003a5d70 20202020 20414452 5f434954 595b695d ADR_CITY[i] │ │ │ │ + 0x003a5d80 203d3d20 554e4153 5349474e 45442026 == UNASSIGNED & │ │ │ │ + 0x003a5d90 260a2020 20202020 20202020 20202020 &. │ │ │ │ + 0x003a5da0 20414452 5f524547 5b695d20 3d3d2055 ADR_REG[i] == U │ │ │ │ + 0x003a5db0 4e415353 49474e45 44202626 0a202020 NASSIGNED &&. │ │ │ │ + 0x003a5dc0 20202020 20202020 20202020 4144525f ADR_ │ │ │ │ + 0x003a5dd0 5a49505b 695d203d 3d20554e 41535349 ZIP[i] == UNASSI │ │ │ │ + 0x003a5de0 474e4544 2026260a 20202020 20202020 GNED &&. │ │ │ │ + 0x003a5df0 20202020 20202041 44525f43 4f554e54 ADR_COUNT │ │ │ │ + 0x003a5e00 52595b69 5d203d3d 20554e41 53534947 RY[i] == UNASSIG │ │ │ │ + 0x003a5e10 4e454420 26260a20 20202020 20202020 NED &&. │ │ │ │ + 0x003a5e20 20202020 20204144 525f5354 52454554 ADR_STREET │ │ │ │ + 0x003a5e30 5f464c41 47535b69 5d203d3d 20554e41 _FLAGS[i] == UNA │ │ │ │ + 0x003a5e40 53534947 4e454429 29207b0a 20202020 SSIGNED)) {. │ │ │ │ + 0x003a5e50 20202020 20202020 2020204c 4142454c LABEL │ │ │ │ + 0x003a5e60 5b695d20 3d20554e 41535349 474e4544 [i] = UNASSIGNED │ │ │ │ + 0x003a5e70 3b0a2020 20202020 20202020 7d0a2020 ;. }. │ │ │ │ + 0x003a5e80 20202020 20202020 69203d20 69202d20 i = i - │ │ │ │ + 0x003a5e90 313b0a20 20202020 20207d0a 0a202020 1;. }.. │ │ │ │ + 0x003a5ea0 20202020 2f2f2052 656d6f76 6520616c // Remove al │ │ │ │ + 0x003a5eb0 6c206772 6f757020 74616773 2e204e6f l group tags. No │ │ │ │ + 0x003a5ec0 74207573 65642066 6f72206c 65676163 t used for legac │ │ │ │ + 0x003a5ed0 7920666f 726d6174 732e0a20 20202020 y formats.. │ │ │ │ + 0x003a5ee0 20204752 4f55505f 54414720 3d20554e GROUP_TAG = UN │ │ │ │ + 0x003a5ef0 41535349 474e4544 3b0a2020 20205d5d ASSIGNED;. ]] │ │ │ │ + 0x003a5f00 3e3c2f6d 6163726f 3e0a0a20 2020203c >.. < │ │ │ │ + 0x003a5f10 212d2d20 54686520 6c656761 63792d3e !-- The legacy-> │ │ │ │ + 0x003a5f20 6d6f6465 726e2063 6f6e7665 7273696f modern conversio │ │ │ │ + 0x003a5f30 6e206967 6e6f7265 7320656d 70747920 n ignores empty │ │ │ │ + 0x003a5f40 70726f70 65727479 2076616c 7565730a property values. │ │ │ │ + 0x003a5f50 20202020 62656361 75736520 77652077 because we w │ │ │ │ + 0x003a5f60 6f756c64 206e6f74 20656e63 6f646520 ould not encode │ │ │ │ + 0x003a5f70 7468656d 20617320 656d7074 790a2020 them as empty. │ │ │ │ + 0x003a5f80 2020494d 50502f58 2d414244 4154452f IMPP/X-ABDATE/ │ │ │ │ + 0x003a5f90 582d4142 52454c41 5445444e 414d4553 X-ABRELATEDNAMES │ │ │ │ + 0x003a5fa0 2076616c 75657320 616e7977 61790a20 values anyway. │ │ │ │ + 0x003a5fb0 20202028 3c6e6f65 6d707479 70726f70 (), leavin │ │ │ │ + 0x003a5fd0 67207573 20776974 68206a75 73742074 g us with just t │ │ │ │ + 0x003a5fe0 68652072 6564756e 64616e74 206c6162 he redundant lab │ │ │ │ + 0x003a5ff0 656c732e 0a202020 202d2d3e 0a0a2020 els.. -->.. │ │ │ │ + 0x003a6000 20203c21 2d2d2058 2d53504f 5553452f . │ │ │ │ 0x003a6e40 3c666965 6c646c69 7374206e 616d653d