comparison src/rcfile.c @ 1484:9c16a93a0fdf

improved sidebar configuration
author nadvornik
date Sun, 29 Mar 2009 14:20:44 +0000
parents 607c60506863
children 73cecf473802
comparison
equal deleted inserted replaced
1483:7cb24fdf07c0 1484:9c16a93a0fdf
484 *----------------------------------------------------------------------------- 484 *-----------------------------------------------------------------------------
485 * save configuration (public) 485 * save configuration (public)
486 *----------------------------------------------------------------------------- 486 *-----------------------------------------------------------------------------
487 */ 487 */
488 488
489 gboolean save_options_to(const gchar *utf8_path, ConfOptions *options) 489 gboolean save_config_to_file(const gchar *utf8_path, ConfOptions *options)
490 { 490 {
491 SecureSaveInfo *ssi; 491 SecureSaveInfo *ssi;
492 gchar *rc_pathl; 492 gchar *rc_pathl;
493 GString *outstr; 493 GString *outstr;
494 gint indent = 0; 494 gint indent = 0;
1165 *----------------------------------------------------------------------------- 1165 *-----------------------------------------------------------------------------
1166 * load configuration (public) 1166 * load configuration (public)
1167 *----------------------------------------------------------------------------- 1167 *-----------------------------------------------------------------------------
1168 */ 1168 */
1169 1169
1170 gboolean load_options_from(const gchar *utf8_path, ConfOptions *options, gboolean startup) 1170 gboolean load_config_from_buf(const gchar *buf, gsize size, gboolean startup)
1171 { 1171 {
1172 gsize size;
1173 gchar *buf;
1174 GMarkupParseContext *context; 1172 GMarkupParseContext *context;
1175 gboolean ret = TRUE; 1173 gboolean ret = TRUE;
1176 GQParserData *parser_data; 1174 GQParserData *parser_data;
1177 1175
1178 if (g_file_get_contents(utf8_path, &buf, &size, NULL) == FALSE)
1179 {
1180 return FALSE;
1181 }
1182
1183 parser_data = g_new0(GQParserData, 1); 1176 parser_data = g_new0(GQParserData, 1);
1184 1177
1185 parser_data->startup = startup; 1178 parser_data->startup = startup;
1186 options_parse_func_push(parser_data, options_parse_toplevel, NULL, NULL); 1179 options_parse_func_push(parser_data, options_parse_toplevel, NULL, NULL);
1187 1180
1193 DEBUG_1("Parse failed"); 1186 DEBUG_1("Parse failed");
1194 } 1187 }
1195 1188
1196 g_free(parser_data); 1189 g_free(parser_data);
1197 1190
1198 g_free(buf);
1199 g_markup_parse_context_free(context); 1191 g_markup_parse_context_free(context);
1200 return ret; 1192 return ret;
1201 } 1193 }
1194
1195 gboolean load_config_from_file(const gchar *utf8_path, gboolean startup)
1196 {
1197 gsize size;
1198 gchar *buf;
1199 gboolean ret = TRUE;
1200
1201 if (g_file_get_contents(utf8_path, &buf, &size, NULL) == FALSE)
1202 {
1203 return FALSE;
1204 }
1205 ret = load_config_from_buf(buf, size, startup);
1206 g_free(buf);
1207 return ret;
1208 }
1202 1209
1203 1210
1204 1211
1205 /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */ 1212 /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */