diff options
author | Vivek Jain <jvivek@novell.com> | 2005-01-17 22:14:30 +0800 |
---|---|---|
committer | Jain Vivek <jvivek@src.gnome.org> | 2005-01-17 22:14:30 +0800 |
commit | 5d2343810cde0d4dca4e9a18abea26ac32dbb700 (patch) | |
tree | 74f72f3b328cf04ad69df353a2bd733018512a94 /plugins/shared-folder/share-folder-common.c | |
parent | 2a1586d9476c026ca5e32d9ec0ee8034debfbf90 (diff) | |
download | gsoc2013-evolution-5d2343810cde0d4dca4e9a18abea26ac32dbb700.tar gsoc2013-evolution-5d2343810cde0d4dca4e9a18abea26ac32dbb700.tar.gz gsoc2013-evolution-5d2343810cde0d4dca4e9a18abea26ac32dbb700.tar.bz2 gsoc2013-evolution-5d2343810cde0d4dca4e9a18abea26ac32dbb700.tar.lz gsoc2013-evolution-5d2343810cde0d4dca4e9a18abea26ac32dbb700.tar.xz gsoc2013-evolution-5d2343810cde0d4dca4e9a18abea26ac32dbb700.tar.zst gsoc2013-evolution-5d2343810cde0d4dca4e9a18abea26ac32dbb700.zip |
*install-shared.c : (org_gnome_popup_wizard): included a condition (null
2005-01-17 Vivek Jain <jvivek@novell.com>
*install-shared.c : (org_gnome_popup_wizard): included a condition
(null check) to fix a crash
* shared-folder-common.c :(org_gnome_shared_folder_factory): some
condition checks to avoid the possible crashes
(get_container_id): included code to return top level container id if
folder name is passed as null
svn path=/trunk/; revision=28423
Diffstat (limited to 'plugins/shared-folder/share-folder-common.c')
-rw-r--r-- | plugins/shared-folder/share-folder-common.c | 33 |
1 files changed, 21 insertions, 12 deletions
diff --git a/plugins/shared-folder/share-folder-common.c b/plugins/shared-folder/share-folder-common.c index dd79b6f43c..a704da805e 100644 --- a/plugins/shared-folder/share-folder-common.c +++ b/plugins/shared-folder/share-folder-common.c @@ -269,7 +269,6 @@ users_dialog_response(GtkWidget *dialog, int response, struct ShareInfo *ssi) return; } - /* HACK: we need to create vfolders using the vfolder editor */ if (CAMEL_IS_VEE_STORE(store)) { EMVFolderRule *rule; @@ -292,7 +291,7 @@ new_folder_response (EMFolderSelector *emfs, int response, EMFolderTreeModel *mo GtkWidget *users_dialog; GtkWidget *w; struct ShareInfo *ssi; - const char *uri, *path; + const char *uri; EGwConnection *cnc; CamelException ex; CamelStore *store; @@ -346,7 +345,6 @@ org_gnome_create_option(EPlugin *ep, EMPopupTargetFolder *target) folder_tree = (EMFolderTree *) em_folder_tree_new_with_model (model); dialog = em_folder_selector_create_new (folder_tree, 0, _("Create folder"), _("Specify where to create the folder:")); uri = em_folder_tree_get_selected_uri(folder_tree); - g_print("\nselected uri:%s\n",uri); em_folder_selector_set_selected ((EMFolderSelector *) dialog, uri); g_free(uri); g_signal_connect (dialog, "response", G_CALLBACK (new_folder_response), model); @@ -368,11 +366,18 @@ org_gnome_shared_folder_factory (EPlugin *ep, EConfigHookItemFactoryData *hook_d EMConfigTargetFolder *target= (EMConfigTargetFolder *)hook_data->config->target; folderuri = g_strdup(target->uri); - account = g_strrstr(folderuri, "groupwise"); - sub = g_strrstr(folderuri, "#"); - if(sub == NULL) - sub = g_strrstr(folderuri, "/"); + if (folderuri) { + account = g_strrstr(folderuri, "groupwise"); + sub = g_strrstr(folderuri, "#"); + } else + return NULL; + + if(sub == NULL) + sub = g_strrstr(folderuri, "/"); + if (sub) sub++; + else + return NULL; if ( !( strcmp (sub, "Mailbox") && strcmp (sub, "Calendar") && strcmp (sub, "Contacts") && strcmp (sub, "Documents") && strcmp (sub, "Authored") && strcmp (sub, "Default Library") && strcmp (sub, "Work In Progress") && strcmp (sub, "Cabinet") && strcmp (sub, "Sent Items") && strcmp (sub, "Trash") && strcmp (sub, "Checklist"))) { g_free (folderuri); @@ -387,13 +392,13 @@ org_gnome_shared_folder_factory (EPlugin *ep, EConfigHookItemFactoryData *hook_d id = get_container_id (cnc, sub); else g_warning("Could not Connnect\n"); - + + g_free (folderuri); if (cnc && id) sharing_tab = share_folder_new (cnc, id); else return NULL; - g_free (folderuri); gtk_notebook_append_page((GtkNotebook *) hook_data->parent, (GtkWidget *) sharing_tab->vbox, gtk_label_new_with_mnemonic N_("Sharing")); common = sharing_tab; @@ -409,6 +414,9 @@ get_cnc (CamelStore *store) const char *uri, *property_value, *use_ssl, *server_name, *user, *port; CamelService *service; CamelURL *url; + + if (!store) + return NULL; service = CAMEL_SERVICE(store); url = service->url; @@ -429,6 +437,7 @@ get_cnc (CamelStore *store) uri = g_strconcat ("http://", server_name, ":", port, "/soap", NULL); cnc = e_gw_connection_new (uri, user, service->url->passwd); + return cnc; } @@ -445,12 +454,12 @@ get_container_id(EGwConnection *cnc, gchar *fname) for (container = container_list; container != NULL; container = container->next) { name = e_gw_container_get_name (container->data); - g_print ("\n\nchecking container for: %s\n\n", name); + //g_print ("\n\nchecking container for: %s\n %s\n", name, fname); /* if Null is passed as name then we return top lavel id*/ - /*if (fname == NULL) { + if (fname == NULL) { id = g_strdup (e_gw_container_get_id (container->data)); break; - } else*/ if (!strcmp (name, fname)) { + } else if (!strcmp (name, fname)) { id = g_strdup (e_gw_container_get_id (container->data)); break; } |