summaryrefslogtreecommitdiffabout
path: root/kmicromail/libetpan/generic/mhstorage.c
Unidiff
Diffstat (limited to 'kmicromail/libetpan/generic/mhstorage.c') (more/less context) (ignore whitespace changes)
-rw-r--r--kmicromail/libetpan/generic/mhstorage.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kmicromail/libetpan/generic/mhstorage.c b/kmicromail/libetpan/generic/mhstorage.c
index 32fc26b..715b961 100644
--- a/kmicromail/libetpan/generic/mhstorage.c
+++ b/kmicromail/libetpan/generic/mhstorage.c
@@ -41,49 +41,49 @@
41 41
42#include <stdlib.h> 42#include <stdlib.h>
43#include <string.h> 43#include <string.h>
44 44
45/* mh storage */ 45/* mh storage */
46 46
47static int mh_mailstorage_connect(struct mailstorage * storage); 47static int mh_mailstorage_connect(struct mailstorage * storage);
48static int mh_mailstorage_get_folder_session(struct mailstorage * storage, 48static int mh_mailstorage_get_folder_session(struct mailstorage * storage,
49 char * pathname, mailsession ** result); 49 char * pathname, mailsession ** result);
50static void mh_mailstorage_uninitialize(struct mailstorage * storage); 50static void mh_mailstorage_uninitialize(struct mailstorage * storage);
51 51
52static mailstorage_driver mh_mailstorage_driver = { 52static mailstorage_driver mh_mailstorage_driver = {
53 .sto_name = "mh", 53 .sto_name = "mh",
54 .sto_connect = mh_mailstorage_connect, 54 .sto_connect = mh_mailstorage_connect,
55 .sto_get_folder_session = mh_mailstorage_get_folder_session, 55 .sto_get_folder_session = mh_mailstorage_get_folder_session,
56 .sto_uninitialize = mh_mailstorage_uninitialize, 56 .sto_uninitialize = mh_mailstorage_uninitialize,
57}; 57};
58 58
59int mh_mailstorage_init(struct mailstorage * storage, 59int mh_mailstorage_init(struct mailstorage * storage,
60 char * mh_pathname, int mh_cached, 60 char * mh_pathname, int mh_cached,
61 char * mh_cache_directory, char * mh_flags_directory) 61 char * mh_cache_directory, char * mh_flags_directory)
62{ 62{
63 struct mh_mailstorage * mh_storage; 63 struct mh_mailstorage * mh_storage;
64 64
65 mh_storage = malloc(sizeof(struct mh_mailstorage)); 65 mh_storage = malloc(sizeof(* mh_storage));
66 if (mh_storage == NULL) 66 if (mh_storage == NULL)
67 goto err; 67 goto err;
68 68
69 mh_storage->mh_pathname = strdup(mh_pathname); 69 mh_storage->mh_pathname = strdup(mh_pathname);
70 if (mh_storage->mh_pathname == NULL) 70 if (mh_storage->mh_pathname == NULL)
71 goto free; 71 goto free;
72 72
73 mh_storage->mh_cached = mh_cached; 73 mh_storage->mh_cached = mh_cached;
74 74
75 if (mh_cached && (mh_cache_directory != NULL) && 75 if (mh_cached && (mh_cache_directory != NULL) &&
76 (mh_flags_directory != NULL)) { 76 (mh_flags_directory != NULL)) {
77 mh_storage->mh_cache_directory = strdup(mh_cache_directory); 77 mh_storage->mh_cache_directory = strdup(mh_cache_directory);
78 if (mh_storage->mh_cache_directory == NULL) 78 if (mh_storage->mh_cache_directory == NULL)
79 goto free_pathname; 79 goto free_pathname;
80 mh_storage->mh_flags_directory = strdup(mh_flags_directory); 80 mh_storage->mh_flags_directory = strdup(mh_flags_directory);
81 if (mh_storage->mh_flags_directory == NULL) 81 if (mh_storage->mh_flags_directory == NULL)
82 goto free_cache_directory; 82 goto free_cache_directory;
83 } 83 }
84 else { 84 else {
85 mh_storage->mh_cached = FALSE; 85 mh_storage->mh_cached = FALSE;
86 mh_storage->mh_cache_directory = NULL; 86 mh_storage->mh_cache_directory = NULL;
87 mh_storage->mh_flags_directory = NULL; 87 mh_storage->mh_flags_directory = NULL;
88 } 88 }
89 89