libpurple/util.c

changeset 41673
b26a160abce5
parent 41479
3d2e114380f6
child 41682
289867067994
equal deleted inserted replaced
41672:7d3c68e0a8ee 41673:b26a160abce5
109 109
110 return ret; 110 return ret;
111 } 111 }
112 112
113 gboolean 113 gboolean
114 purple_util_write_data_to_file(const char *filename, const char *data, gssize size)
115 {
116 G_GNUC_BEGIN_IGNORE_DEPRECATIONS
117 const char *user_dir = purple_user_dir();
118 G_GNUC_END_IGNORE_DEPRECATIONS
119 gboolean ret = purple_util_write_data_to_file_common(user_dir, filename, data, size);
120
121 return ret;
122 }
123
124 gboolean
125 purple_util_write_data_to_cache_file(const char *filename, const char *data, gssize size) 114 purple_util_write_data_to_cache_file(const char *filename, const char *data, gssize size)
126 { 115 {
127 const char *cache_dir = purple_cache_dir(); 116 const char *cache_dir = purple_cache_dir();
128 gboolean ret = purple_util_write_data_to_file_common(cache_dir, filename, data, size); 117 gboolean ret = purple_util_write_data_to_file_common(cache_dir, filename, data, size);
129 118
144 { 133 {
145 const char *data_dir = purple_data_dir(); 134 const char *data_dir = purple_data_dir();
146 gboolean ret = purple_util_write_data_to_file_common(data_dir, filename, data, size); 135 gboolean ret = purple_util_write_data_to_file_common(data_dir, filename, data, size);
147 136
148 return ret; 137 return ret;
149 }
150
151 gboolean
152 purple_util_write_data_to_file_absolute(const char *filename_full, const char *data, gssize size)
153 {
154 GFile *file;
155 GError *err = NULL;
156
157 g_return_val_if_fail(size >= -1, FALSE);
158
159 if (size == -1) {
160 size = strlen(data);
161 }
162
163 file = g_file_new_for_path(filename_full);
164
165 if (!g_file_replace_contents(file, data, size, NULL, FALSE,
166 G_FILE_CREATE_PRIVATE, NULL, NULL, &err)) {
167 purple_debug_error("util", "Error writing file: %s: %s\n",
168 filename_full, err->message);
169 g_clear_error(&err);
170 g_object_unref(file);
171 return FALSE;
172 }
173
174 g_object_unref(file);
175 return TRUE;
176 }
177
178 PurpleXmlNode *
179 purple_util_read_xml_from_file(const char *filename, const char *description)
180 {
181 G_GNUC_BEGIN_IGNORE_DEPRECATIONS
182 return purple_xmlnode_from_file(purple_user_dir(), filename, description, "util");
183 G_GNUC_END_IGNORE_DEPRECATIONS
184 } 138 }
185 139
186 PurpleXmlNode * 140 PurpleXmlNode *
187 purple_util_read_xml_from_cache_file(const char *filename, const char *description) 141 purple_util_read_xml_from_cache_file(const char *filename, const char *description)
188 { 142 {

mercurial