Understand webcals:// as https://.
authorColin Leroy <colin@colino.net>
Sun, 29 Sep 2013 09:04:43 +0000 (11:04 +0200)
committerColin Leroy <colin@colino.net>
Sun, 29 Sep 2013 09:04:43 +0000 (11:04 +0200)
src/plugins/vcalendar/vcal_folder.c
src/plugins/vcalendar/vcal_meeting_gtk.c
src/plugins/vcalendar/vcal_prefs.c

index d4a3b4f..cacb552 100644 (file)
@@ -1910,14 +1910,12 @@ static void subscribe_cal_cb(GtkAction *action, gpointer data)
        if (tmp == NULL)
                return;
        
-       if (!strncmp(tmp, "http://", 7)) {
+       if (!strncmp(tmp, "http", 4)) {
                uri = tmp;
        } else if (!strncmp(tmp, "file://", 7)) {
                uri = tmp;
-       } else if (!strncmp(tmp, "https://", 8)) {
-               uri = tmp;
-       } else if (!strncmp(tmp, "webcal://", 9)) {
-               uri = g_strconcat("http://", tmp+9, NULL);
+       } else if (!strncmp(tmp, "webcal", 6)) {
+               uri = g_strconcat("http", tmp+6, NULL);
                g_free(tmp);
        } else {
                alertpanel_error(_("Could not parse the URL."));
@@ -1991,8 +1989,8 @@ gboolean vcal_subscribe_uri(Folder *folder, const gchar *uri)
        if (uri == NULL)
                return FALSE;
 
-       if (!strncmp(uri, "webcal://", 9)) {
-               tmp = g_strconcat("http://", uri+9, NULL);
+       if (!strncmp(uri, "webcal", 6)) {
+               tmp = g_strconcat("http", uri+6, NULL);
        } else {
                return FALSE;
        }
index 4fd3ef5..c2d1419 100644 (file)
@@ -1126,12 +1126,13 @@ static gboolean check_attendees_availability(VCalMeeting *meet, gboolean tell_if
                        if (strncmp(tmp, "http://", 7) 
                        && strncmp(tmp, "https://", 8)
                        && strncmp(tmp, "webcal://", 9)
+                       && strncmp(tmp, "webcals://", 10)
                        && strncmp(tmp, "ftp://", 6))
                                contents = file_read_to_str(tmp);
                        else {
                                gchar *label = g_strdup_printf(_("Fetching planning for %s..."), email);
-                               if (!strncmp(tmp, "webcal://", 9)) {
-                                       gchar *tmp2 = g_strdup_printf("http://%s", tmp+9);
+                               if (!strncmp(tmp, "webcal", 6)) {
+                                       gchar *tmp2 = g_strdup_printf("http%s", tmp+6);
                                        g_free(tmp);
                                        tmp = tmp2;
                                }
@@ -2122,6 +2123,7 @@ putfile:
        && strncmp(file, "http://", 7) 
        && strncmp(file, "https://", 8)
        && strncmp(file, "webcal://", 9)
+       && strncmp(file, "webcals://", 10)
        && strncmp(file, "ftp://", 6)) {
                gchar *afile = NULL;
                if (file[0] != G_DIR_SEPARATOR)
@@ -2138,8 +2140,8 @@ putfile:
                g_free(file);
        } else if (file) {
                FILE *fp = g_fopen(tmpfile, "rb");
-               if (!strncmp(file, "webcal://", 9)) {
-                       gchar *tmp = g_strdup_printf("http://%s", file+9);
+               if (!strncmp(file, "webcal", 6)) {
+                       gchar *tmp = g_strdup_printf("http%s", file+6);
                        g_free(file);
                        file = tmp;
                }
@@ -2269,6 +2271,7 @@ gboolean vcal_meeting_export_freebusy(const gchar *path, const gchar *user,
        && strncmp(file, "http://", 7) 
        && strncmp(file, "https://", 8)
        && strncmp(file, "webcal://", 9)
+       && strncmp(file, "webcals://", 10)
        && strncmp(file, "ftp://", 6)) {
                gchar *afile = NULL;
                if (file[0] != G_DIR_SEPARATOR)
@@ -2285,8 +2288,8 @@ gboolean vcal_meeting_export_freebusy(const gchar *path, const gchar *user,
                g_free(file);
        } else if (file) {
                FILE *fp = g_fopen(tmpfile, "rb");
-               if (!strncmp(file, "webcal://", 9)) {
-                       gchar *tmp = g_strdup_printf("http://%s", file+9);
+               if (!strncmp(file, "webcal", 6)) {
+                       gchar *tmp = g_strdup_printf("http%s", file+6);
                        g_free(file);
                        file = tmp;
                }
index fc07408..936c820 100644 (file)
@@ -130,7 +130,8 @@ static void set_auth_sensitivity(struct VcalendarPage *page)
             !strncmp(export_path, "ftp://", 6) ||
             !strncmp(export_path, "https://", 8) ||
             !strncmp(export_path, "sftp://", 5) ||
-            !strncmp(export_path, "webcal://", 9))) {
+            !strncmp(export_path, "webcal://", 9) ||
+            !strncmp(export_path, "webcals://", 10))) {
                gtk_widget_set_sensitive(page->export_user_label, TRUE);        
                gtk_widget_set_sensitive(page->export_user_entry, TRUE);        
                gtk_widget_set_sensitive(page->export_pass_label, TRUE);        
@@ -146,7 +147,8 @@ static void set_auth_sensitivity(struct VcalendarPage *page)
             !strncmp(export_freebusy_path, "ftp://", 6) ||
             !strncmp(export_freebusy_path, "https://", 8) ||
             !strncmp(export_freebusy_path, "sftp://", 5) ||
-            !strncmp(export_freebusy_path, "webcal://", 9))) {
+            !strncmp(export_freebusy_path, "webcal://", 9) ||
+            !strncmp(export_freebusy_path, "webcals://", 10))) {
                gtk_widget_set_sensitive(page->export_freebusy_user_label, TRUE);       
                gtk_widget_set_sensitive(page->export_freebusy_user_entry, TRUE);       
                gtk_widget_set_sensitive(page->export_freebusy_pass_label, TRUE);