]> code.citadel.org Git - citadel.git/blobdiff - webcit-ng/server/caldav_reports.c
REPORT namespace output uses declaration defined on top
[citadel.git] / webcit-ng / server / caldav_reports.c
index 485b2a3eb0647ff368976f53d53803a07cb2fa52..49d1fe8d03f4ca7a07d892e7a5864f337cdaa10b 100644 (file)
@@ -419,23 +419,23 @@ int caldav_apply_filters(void *cal, Array *filters, int apply_at_level) {
                }
 
                else if (!strcasecmp(t[1], "time-range")) {                     // RFC4791 9.9
-                       syslog(LOG_DEBUG, "time range filter at level %d FIXME add recurrence", this_rule_level);
+                       syslog(LOG_DEBUG, "time range filter at level %d", this_rule_level);
+                       char *tr_start  = (char *)the_beginning_of_time;        // default if not specified
+                       char *tr_end    = (char *)the_end_of_time;              // default if not specified
                        for (int i=2; (i+1)<num_tokens; i+=2) {
-                               char *tr_start  = (char *)the_beginning_of_time;        // default if not specified
-                               char *tr_end    = (char *)the_end_of_time;              // default if not specified
                                if (!strcasecmp(t[i], "start")) {
                                        tr_start = t[i+1];
                                }
                                else if (!strcasecmp(t[i], "end")) {
                                        tr_end = t[i+1];
                                }
-                               if (caldav_time_range_filter_matches(cal, tr_start, tr_end)) {
-                                       syslog(LOG_DEBUG, "time range matches");
-                               }
-                               else {
-                                       syslog(LOG_DEBUG, "time range does not match -- rejecting");
-                                       qual = 0;
-                               }
+                       }
+                       if (caldav_time_range_filter_matches(cal, tr_start, tr_end)) {
+                               syslog(LOG_DEBUG, "time range matches");
+                       }
+                       else {
+                               syslog(LOG_DEBUG, "time range does not match -- rejecting");
+                               qual = 0;
                        }
                }
 
@@ -484,11 +484,8 @@ void caldav_report(struct http_transaction *h, struct ctdlsession *c) {
        syslog(LOG_DEBUG, "CalDAV REPORT type is: %d", crp.report_type);
        StrBuf *ReportOut = NewStrBuf();
        StrBufAppendPrintf(ReportOut,
-               "<?xml version=\"1.0\" encoding=\"utf-8\"?>"
-               "<D:multistatus "
-               "xmlns:D=\"DAV:\" "
-               "xmlns:C=\"urn:ietf:params:xml:ns:caldav\""
-               ">"
+               "<?xml version=\"1.0\" encoding=\"utf-8\"?><D:multistatus xmlns:D=\"DAV:\" xmlns:C=\"%s\">",
+               CALDAV
        );
 
        // RFC4791 7.8 "calendar-query" REPORT - Client will send a lot of search criteria.