localfolder.c (1549B)
1 /* 2 * Claws Mail -- a GTK based, lightweight, and fast e-mail client 3 * Copyright (C) 2002-2012 by the Claws Mail Team and Hiroyuki Yamamoto 4 * 5 * This program is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation; either version 3 of the License, or 8 * (at your option) any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program. If not, see <http://www.gnu.org/licenses/>. 17 * 18 */ 19 20 #include <glib.h> 21 22 #include "folder.h" 23 #include "localfolder.h" 24 #include "xml.h" 25 #include "utils.h" 26 27 void folder_local_set_xml(Folder *_folder, XMLTag *tag) 28 { 29 LocalFolder *folder = LOCAL_FOLDER(_folder); 30 GList *cur; 31 32 folder_set_xml(_folder, tag); 33 34 for (cur = tag->attr; cur != NULL; cur = g_list_next(cur)) { 35 XMLAttr *attr = (XMLAttr *) cur->data; 36 37 if (!attr || !attr->name || !attr->value) continue; 38 if (!strcmp(attr->name, "path")) { 39 g_free(folder->rootpath); 40 folder->rootpath = g_strdup(attr->value); 41 } 42 } 43 } 44 45 XMLTag *folder_local_get_xml(Folder *_folder) 46 { 47 LocalFolder *folder = LOCAL_FOLDER(_folder); 48 XMLTag *tag; 49 50 tag = folder_get_xml(_folder); 51 52 xml_tag_add_attr(tag, xml_attr_new("path", folder->rootpath)); 53 54 return tag; 55 }