- }
-
- if (!IsEmptyStr(uid)) {
- wc_printf("<response>");
- wc_printf("<href>");
- dav_identify_host();
- wc_printf("/groupdav/");
- urlescputs(ChrPtr(WCC->CurRoom.name));
- euid_escapize(encoded_uid, uid);
- wc_printf("/%s", encoded_uid);
- wc_printf("</href>");
- switch(WCC->CurRoom.defview) {
- case VIEW_CALENDAR:
- wc_printf("<getcontenttype>text/x-ical</getcontenttype>");
- break;
- case VIEW_TASKS:
- wc_printf("<getcontenttype>text/x-ical</getcontenttype>");
- break;
- case VIEW_ADDRESSBOOK:
- wc_printf("<getcontenttype>text/x-vcard</getcontenttype>");
- break;
+
+ if (num_msgs > 0) for (i=0; i<num_msgs; ++i) {
+
+ syslog(LOG_DEBUG, "PROPFIND enumerating message # %ld", msgs[i]);
+ strcpy(uid, "");
+ now = (-1);
+ serv_printf("MSG0 %ld|3", msgs[i]);
+ StrBuf_ServGetln(MsgNum);
+ if (GetServerStatus(MsgNum, NULL) == 1)
+ while (BufLen = StrBuf_ServGetln(MsgNum),
+ ((BufLen >= 0) &&
+ ((BufLen != 3) || strcmp(ChrPtr(MsgNum), "000")) ))
+ {
+ if (!strncasecmp(ChrPtr(MsgNum), "exti=", 5)) {
+ strcpy(uid, &ChrPtr(MsgNum)[5]);
+ }
+ else if (!strncasecmp(ChrPtr(MsgNum), "time=", 5)) {
+ now = atol(&ChrPtr(MsgNum)[5]);