|
From: CORE C. L. <cor...@so...> - 2000-12-19 20:40:37
|
Core CVS committal
Author : rbdpngn
Project : core
Module : src
Modified Files:
account.c callbacks.c main.c menus.c message.c panes.c prefs.c
prefs.h
Log Message:
Some memory leak fixes, and various other code cleaning. There are still some
segfaults to work out.
===================================================================
RCS file: /cvsroot/corem/core/src/account.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -3 -r1.14 -r1.15
--- account.c 2000/12/15 22:27:17 1.14
+++ account.c 2000/12/19 20:40:37 1.15
@@ -331,8 +331,11 @@
asprintf(&path, "%s/.core/accounts", temp);
if (!path)
return NULL;
- temp = NULL; /* We don't need to free it since it's just a pointer to
- some environment variable string. */
+ temp = NULL;
+ /*
+ * We don't need to free temp since it's just a pointer to
+ * some environment variable string.
+ */
if (!acct_dir)
acct_dir = opendir(path);
@@ -357,7 +360,6 @@
break;
}
- /* g_free(dentry); */
g_free(temp);
}
g_free(path);
===================================================================
RCS file: /cvsroot/corem/core/src/callbacks.c,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -3 -r1.36 -r1.37
--- callbacks.c 2000/12/19 16:24:10 1.36
+++ callbacks.c 2000/12/19 20:40:37 1.37
@@ -7,6 +7,7 @@
#include "core.h"
#include "callbacks.h"
#include "panes.h"
+#include "prefs.h"
#define TIMEOUT 30
@@ -195,10 +196,9 @@
(tmp_password == NULL || *tmp_password == '\0') &&
(tmp_server == NULL || *tmp_server == '\0') &&
(tmp_path == NULL || *tmp_path == '\0')) {
- create_error_window(g_strdup("ERROR"),
- g_strdup
- ("Make sure you have filled in everything"),
- g_strdup("OK"));
+ create_error_window("ERROR",
+ "Make sure you have filled in everything",
+ "OK");
return;
}
@@ -245,7 +245,8 @@
if (text[2])
g_free(text[2]);
if (text[3])
- g_free(text[3]);
+ g_free(text[3]);
+ g_free(text);
}
text = (char **) g_malloc(4 * sizeof(char *));
@@ -266,7 +267,8 @@
if (text[2])
g_free(text[2]);
if (text[3])
- g_free(text[3]);
+ g_free(text[3]);
+ g_free(text);
}
gtk_widget_destroy(accounts_win_new);
@@ -309,7 +311,7 @@
if (!theme || !rc_get_value("theme"))
return;
- if (strcmp(theme, (char *) rc_get_value("theme")) == 0)
+ if (rc_compare(theme, "theme") == 0)
return;
rc_set_value("theme", theme);
@@ -325,7 +327,8 @@
/* Set the title */
gchar *title = g_strdup_printf("About");
/* Pass the title to right callback */
- create_preferences_window_cb(title);
+ create_preferences_window_cb(title);
+ g_free(title);
}
/* Calls the create_mail_window_cb showing the right stuff for viewing a mail */
@@ -490,37 +493,36 @@
text[col] = g_strdup("");
col++;
- if (g_strcasecmp(g_strdup("1"), (char *) rc_get_value("ml_server")) == 0) {
+ if (rc_compare("1", "ml_server") == 0) {
text[col] = header_get_value(head, "Server:");
if (!text[col])
text[col] = g_strdup("");
col++;
}
- if (g_strcasecmp(g_strdup("1"), (char *) rc_get_value("ml_priority")) == 0) {
+ if (rc_compare("1", "ml_priority") == 0) {
text[col] = header_get_value(head, "Priority:");
if (!text[col])
text[col] = g_strdup("");
col++;
}
- if (g_strcasecmp(g_strdup("1"), (char *) rc_get_value("ml_attachment")) == 0) {
+ if (rc_compare("1", "ml_attachment") == 0) {
text[col] = header_get_value(head, "Attachment:");
if (!text[col])
text[col] = g_strdup("");
col++;
}
- if (g_strcasecmp(g_strdup("1"), (char *) rc_get_value("ml_score")) == 0) {
+ if (rc_compare("1", "ml_score") == 0) {
text[col] = header_get_value(head, "Score:");
if (!text[col])
text[col] = g_strdup("");
col++;
}
- if (g_strcasecmp(g_strdup("1"), (char *) rc_get_value("ml_read")) == 0) {
+ if (rc_compare("1", "ml_read") == 0)
text[col] = g_strdup("");
- }
temp = header_get_value(head, "References:");
@@ -540,7 +542,7 @@
NULL, text, 0, NULL, NULL, NULL,
NULL, FALSE, TRUE);
- if (g_strcasecmp(g_strdup("1"), (char *) rc_get_value("ml_read")) == 0) {
+ if (rc_compare("1", "ml_read") == 0) {
char *xpm_name;
text[col] = header_get_value(head, "Status:");
@@ -566,7 +568,9 @@
gdk_bitmap_unref(bitmap);
gdk_pixmap_unref(pixmap);
- font = gdk_font_load((char *) rc_get_value("new_font"));
+ font =
+ gdk_font_load(rc_get_value("new_font"));
+
style =
gtk_style_copy(gtk_widget_get_style
(mail_ctree));
===================================================================
RCS file: /cvsroot/corem/core/src/main.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -3 -r1.19 -r1.20
--- main.c 2000/12/19 16:42:51 1.19
+++ main.c 2000/12/19 20:40:37 1.20
@@ -41,28 +41,28 @@
void core_init()
{
- gchar *dir;
- /* Create $HOME/.core directory */
- dir = g_strconcat(getenv("HOME"), "/.core", NULL);
- if (dir) {
- mkdir(dir, 0700);
- g_free(dir);
- }
-
- /* Create $HOME/.core/accounts directory */
- dir = g_strconcat(getenv("HOME"), "/.core/accounts", NULL);
- if (dir) {
- mkdir(dir, 0700);
- g_free(dir);
- }
-
- /* Create $HOME/.core/themes directory */
- dir = g_strconcat(getenv("HOME"), "/.core/themes", NULL);
- if (dir) {
- mkdir(dir, 0700);
- g_free(dir);
- }
+ gchar *dir;
+ /* Create $HOME/.core directory */
+ dir = g_strconcat(getenv("HOME"), "/.core", NULL);
+ if (dir) {
+ mkdir(dir, 0700);
+ g_free(dir);
+ }
+
+ /* Create $HOME/.core/accounts directory */
+ dir = g_strconcat(getenv("HOME"), "/.core/accounts", NULL);
+ if (dir) {
+ mkdir(dir, 0700);
+ g_free(dir);
+ }
+ /* Create $HOME/.core/themes directory */
+ dir = g_strconcat(getenv("HOME"), "/.core/themes", NULL);
+ if (dir) {
+ mkdir(dir, 0700);
+ g_free(dir);
+ }
+
rc_set_defaults();
rc_parse_into_hash();
/* Create main window */
@@ -79,54 +79,64 @@
GtkWidget *main_menu;
GtkWidget *pane;
gint i = 0;
-g_print("%d\n", i); i++;
+ g_print("%d\n", i);
+ i++;
set_theme_dir();
-g_print("%d\n", i); i++;
+ g_print("%d\n", i);
+ i++;
title = g_strdup_printf("Core %s", CORE_VERSION);
main_win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
- gtk_widget_set_usize(GTK_WIDGET(main_win), 800,
- 600);
+ gtk_widget_set_usize(GTK_WIDGET(main_win), 800, 600);
gtk_window_set_title(GTK_WINDOW(main_win), title);
gtk_signal_connect(GTK_OBJECT(main_win), "delete_event",
core_main_quit, NULL);
gtk_signal_connect(GTK_OBJECT(main_win), "destroy",
core_main_quit, NULL);
gtk_widget_realize(main_win);
-g_print("%d\n", i); i++;
+ g_print("%d\n", i);
+ i++;
main_vbox = gtk_vbox_new(FALSE, 0);
gtk_container_set_border_width(GTK_CONTAINER(main_vbox), 0);
gtk_container_add(GTK_CONTAINER(main_win), main_vbox);
-g_print("%d\n", i); i++;
+ g_print("%d\n", i);
+ i++;
mhandle = gtk_handle_box_new();
gtk_handle_box_set_shadow_type(GTK_HANDLE_BOX(mhandle),
GTK_SHADOW_NONE);
-g_print("%d\n", i); i++;
+ g_print("%d\n", i);
+ i++;
gtk_handle_box_set_handle_position(GTK_HANDLE_BOX(mhandle),
GTK_POS_LEFT);
gtk_handle_box_set_snap_edge(GTK_HANDLE_BOX(mhandle),
GTK_POS_LEFT);
gtk_box_pack_start(GTK_BOX(main_vbox), mhandle, FALSE, FALSE, 0);
-g_print("%d\n", i); i++;
+ g_print("%d\n", i);
+ i++;
thandle = gtk_handle_box_new();
create_main_toolbar();
-g_print("%d\n", i); i++;
+ g_print("%d\n", i);
+ i++;
hpane = gtk_hpaned_new();
-g_print("%d\n", i); i++;
+ g_print("%d\n", i);
+ i++;
{
pane = core_create_folder_pane();
gtk_paned_pack1(GTK_PANED(hpane), pane, TRUE, TRUE);
-g_print("%d\n", i); i++;
+ g_print("%d\n", i);
+ i++;
pane = core_create_mlist_pane();
gtk_paned_pack2(GTK_PANED(hpane), pane, TRUE, TRUE);
}
-g_print("%d\n", i); i++; /***************9***************/
- /*FIXME*/ /*FIXME*/ /*FIXME*/ /*FIXME*/ /*FIXME*/
- main_menu = create_main_menu();
- /*FIXME*/ /*FIXME*/ /*FIXME*/ /*FIXME*/ /*FIXME*/
-g_print("%d\n", i); i++;
+ g_print("%d\n", i);
+ i++; /***************9***************/
+ /*FIXME*/ /*FIXME*/ /*FIXME*/ /*FIXME*/ /*FIXME*/
+ main_menu = create_main_menu();
+ /*FIXME*/ /*FIXME*/ /*FIXME*/ /*FIXME*/ /*FIXME*/
+ g_print("%d\n", i); i++;
gtk_container_set_border_width(GTK_CONTAINER(main_menu), 0);
gtk_container_add(GTK_CONTAINER(mhandle), main_menu);
-g_print("%d\n", i); i++;
+ g_print("%d\n", i);
+ i++;
gtk_handle_box_set_shadow_type(GTK_HANDLE_BOX(thandle),
GTK_SHADOW_NONE);
gtk_handle_box_set_handle_position(GTK_HANDLE_BOX(thandle),
@@ -134,22 +144,27 @@
gtk_handle_box_set_snap_edge(GTK_HANDLE_BOX(thandle),
GTK_POS_LEFT);
gtk_box_pack_start(GTK_BOX(main_vbox), thandle, FALSE, FALSE, 0);
-g_print("%d\n", i); i++;
+ g_print("%d\n", i);
+ i++;
gtk_box_pack_start(GTK_BOX(main_vbox), hpane, TRUE, TRUE, 0);
-g_print("%d\n", i); i++;
+ g_print("%d\n", i);
+ i++;
gtk_widget_show_all(main_win);
-g_print("%d\n", i); i++;
- if (GPOINTER_TO_INT(rc_get_value("tb_show")) == 0) {
+ g_print("%d\n", i);
+ i++;
+ if (!rc_get_value("tb_show")) {
gtk_widget_hide(thandle);
}
-g_print("%d\n", i); i++;
- if (GPOINTER_TO_INT(rc_get_value("tb_buttons")) == 0) {
+ g_print("%d\n", i);
+ i++;
+ if (!rc_get_value("tb_buttons")) {
gtk_toolbar_set_style(GTK_TOOLBAR(toolbar),
GTK_TOOLBAR_TEXT);
gtk_widget_queue_resize(GTK_WIDGET(thandle));
}
-g_print("%d\n", i); i++;
- if (GPOINTER_TO_INT(rc_get_value("tb_buttons")) == 1) {
+ g_print("%d\n", i);
+ i++;
+ if (rc_get_value("tb_buttons")) {
gtk_toolbar_set_style(GTK_TOOLBAR(toolbar),
GTK_TOOLBAR_ICONS);
gtk_widget_queue_resize(GTK_WIDGET(thandle));
@@ -162,8 +177,8 @@
gchar *tmp;
tmp =
- g_strconcat(getenv("HOME"), "/.core/themes/", rc_get_value("theme"),
- "/", NULL);
+ g_strconcat(getenv("HOME"), "/.core/themes/",
+ rc_get_value("theme"), "/", NULL);
dir = opendir(tmp);
if (dir != NULL) {
@@ -175,14 +190,16 @@
g_free(tmp);
- tmp = g_strconcat(CORE_SHARE, "/themes/", rc_get_value("theme"), NULL);
+ tmp =
+ g_strconcat(CORE_SHARE, "/themes/", rc_get_value("theme"),
+ NULL);
dir = opendir(tmp);
g_free(tmp);
if (dir != NULL) {
theme =
- g_strconcat(CORE_SHARE, "/themes/", rc_get_value("theme"), "/",
- NULL);
+ g_strconcat(CORE_SHARE, "/themes/",
+ rc_get_value("theme"), "/", NULL);
return TRUE;
}
@@ -311,11 +328,11 @@
void toolbar_hide_show()
{
- if (GPOINTER_TO_INT(rc_get_value("tb_show")) == 1) {
+ if (rc_get_value("tb_show")) {
rc_set_value("tb_show", "0");
gtk_widget_hide(thandle);
return;
- } else if (GPOINTER_TO_INT(rc_get_value("tb_show")) == 0) {
+ } else {
gtk_widget_show(thandle);
rc_set_value("tb_show", "1");
return;
===================================================================
RCS file: /cvsroot/corem/core/src/menus.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -3 -r1.13 -r1.14
--- menus.c 2000/12/19 16:24:10 1.13
+++ menus.c 2000/12/19 20:40:37 1.14
@@ -110,14 +110,16 @@
show = gtk_check_menu_item_new_with_label("Show");
gtk_check_menu_item_set_show_toggle(GTK_CHECK_MENU_ITEM(show),
TRUE);
- if (g_strcasecmp(g_strdup("0"), (char *) rc_get_value("tb_show")) == 0) {
+ if (rc_compare("0", "tb_show") == 0) {
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(show),
FALSE);
- }
- if (g_strcasecmp(g_strdup("1"), (char *) rc_get_value("tb_show")) == 0) {
+ }
+
+ if (rc_compare("1", "tb_show") == 0) {
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(show),
TRUE);
- }
+ }
+
gtk_signal_connect(GTK_OBJECT(show), "toggled",
GTK_SIGNAL_FUNC(toolbar_hide_show), NULL);
gtk_menu_append(GTK_MENU(toolbarmenu), show);
@@ -150,17 +152,18 @@
GINT_TO_POINTER(2));
gtk_menu_append(GTK_MENU(toolbarmenu), both);
- if (g_strcasecmp(g_strdup("0"), (char *) rc_get_value("tb_buttons")) == 0) {
+ if (rc_compare("0", "tb_buttons") == 0) {
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(text),
TRUE);
}
- if (g_strcasecmp(g_strdup("1"), (char *) rc_get_value("tb_buttons")) == 0) {
+ if (rc_compare("1", "tb_buttons") == 0) {
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(icons),
TRUE);
}
- if (g_strcasecmp(g_strdup("2"), (char *) rc_get_value("tb_buttons")) == 0) {
+ if (rc_compare("2", "tb_buttons") == 0) {
+
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(both),
TRUE);
}
@@ -219,50 +222,54 @@
GINT_TO_POINTER(3));
gtk_menu_append(GTK_MENU(mline_stylemenu), mline_tabbed);
- if (g_strcasecmp(g_strdup("0"), (char *) rc_get_value("ml_linestyle")) == 0)
+ if (rc_compare("0", "ml_linestyle") == 0)
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM
(mline_none), TRUE);
- if (g_strcasecmp(g_strdup("1"), (char *) rc_get_value("ml_linestyle")) == 0)
+ if (rc_compare("1", "ml_linestyle") == 0)
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM
(mline_solid), TRUE);
- if (g_strcasecmp(g_strdup("2"), (char *) rc_get_value("ml_linestyle")) == 0)
+ if (rc_compare("2", "ml_linestyle") == 0)
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM
(mline_dotted), TRUE);
- if (g_strcasecmp(g_strdup("3"), (char *) rc_get_value("ml_linestyle")) == 0)
+ if (rc_compare("3", "ml_linestyle") == 0)
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM
(mline_tabbed), TRUE);
mpriority = gtk_check_menu_item_new_with_label("Show Priority");
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(mpriority),
- FALSE);
+ FALSE);
+
gtk_menu_append(GTK_MENU(message_listmenu), mpriority);
- if (g_strcasecmp(g_strdup("1"), (char *) rc_get_value("ml_priority")) == 0)
+ if (rc_compare("1", "ml_priority") == 0)
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM
(mpriority), TRUE);
mread = gtk_check_menu_item_new_with_label("Show Read");
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(mread), FALSE);
- gtk_menu_append(GTK_MENU(message_listmenu), mread);
- if (g_strcasecmp(g_strdup("1"), (char *) rc_get_value("ml_linestyle")) == 0)
+ gtk_menu_append(GTK_MENU(message_listmenu), mread);
+
+ if (rc_compare("1", "ml_linestyle") == 0)
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(mread),
TRUE);
mattachment =
gtk_check_menu_item_new_with_label("Show Attachments");
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(mattachment),
- FALSE);
+ FALSE);
+
gtk_menu_append(GTK_MENU(message_listmenu), mattachment);
- if (g_strcasecmp(g_strdup("1"), (char *) rc_get_value("ml_attachment")) == 0)
+ if (rc_compare("1", "ml_attachment") == 0)
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM
(mattachment), TRUE);
mscore = gtk_check_menu_item_new_with_label("Show Score");
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(mscore), FALSE);
- gtk_menu_append(GTK_MENU(message_listmenu), mscore);
- if (g_strcasecmp(g_strdup("1"), (char *) rc_get_value("ml_score")) == 0)
+ gtk_menu_append(GTK_MENU(message_listmenu), mscore);
+
+ if (rc_compare("1", "ml_score") == 0)
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(mscore),
TRUE);
@@ -270,7 +277,7 @@
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(mserver),
FALSE);
gtk_menu_append(GTK_MENU(message_listmenu), mserver);
- if (g_strcasecmp(g_strdup("1"), (char *) rc_get_value("ml_server")) == 0)
+ if (rc_compare("1", "ml_server") == 0)
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM
(mserver), TRUE);
@@ -328,19 +335,19 @@
GINT_TO_POINTER(3));
gtk_menu_append(GTK_MENU(fline_stylemenu), fline_tabbed);
- if (g_strcasecmp(g_strdup("0"), (char *) rc_get_value("fl_linestyle")) == 0)
+ if (rc_compare("0", "fl_linestyle") == 0)
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM
(fline_none), TRUE);
- if (g_strcasecmp(g_strdup("1"), (char *) rc_get_value("fl_linestyle")) == 0)
+ if (rc_compare("1", "fl_linestyle") == 0)
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM
(fline_solid), TRUE);
- if (g_strcasecmp(g_strdup("2"), (char *) rc_get_value("fl_linestyle")) == 0)
+ if (rc_compare("2", "fl_linestyle") == 0)
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM
(fline_dotted), TRUE);
- if (g_strcasecmp(g_strdup("3"), (char *) rc_get_value("fl_linestyle")) == 0)
+ if (rc_compare("3", "fl_linestyle") == 0)
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM
(fline_tabbed), TRUE);
===================================================================
RCS file: /cvsroot/corem/core/src/message.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -3 -r1.5 -r1.6
--- message.c 2000/12/15 22:27:17 1.5
+++ message.c 2000/12/19 20:40:37 1.6
@@ -255,10 +255,10 @@
if (mbox->fp)
rewind(mbox->fp);
- m = message_get_next(mbox);
+ m = message_get_next(mbox);
while (m) {
temp = header_get_value(message_get_headers(m),
- "Message-Id:");
+ "Message-Id:");
if (temp) {
if (strcasecmp(temp, id) == 0)
===================================================================
RCS file: /cvsroot/corem/core/src/panes.c,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -3 -r1.21 -r1.22
--- panes.c 2000/12/19 16:24:10 1.21
+++ panes.c 2000/12/19 20:40:37 1.22
@@ -1,6 +1,7 @@
#include "message.h"
#include "core.h"
#include "panes.h"
+#include "prefs.h"
#include "callbacks.h"
GtkWidget *mail_ctree;
@@ -98,16 +99,19 @@
gtk_widget_set_usize(scroll, 12, 50);
gtk_widget_show_all(folder_ctree);
- if (g_strcasecmp(g_strdup("0"), (char *) rc_get_value("ml_linestyle")) == 0)
+ if (rc_compare("0", "ml_linestyle") == 0)
gtk_ctree_set_line_style(GTK_CTREE(folder_ctree),
- GTK_CTREE_LINES_NONE);
- if (g_strcasecmp(g_strdup("1"), (char *) rc_get_value("ml_linestyle")) == 0)
+ GTK_CTREE_LINES_NONE);
+
+ if (rc_compare("1", "ml_linestyle") == 0)
gtk_ctree_set_line_style(GTK_CTREE(folder_ctree),
- GTK_CTREE_LINES_SOLID);
- if (g_strcasecmp(g_strdup("2"), (char *) rc_get_value("ml_linestyle")) == 0)
+ GTK_CTREE_LINES_SOLID);
+
+ if (rc_compare("2", "ml_linestyle") == 0)
gtk_ctree_set_line_style(GTK_CTREE(folder_ctree),
- GTK_CTREE_LINES_DOTTED);
- if (g_strcasecmp(g_strdup("3"), (char *) rc_get_value("ml_linestyle")) == 0)
+ GTK_CTREE_LINES_DOTTED);
+
+ if (rc_compare("3", "ml_linestyle") == 0)
gtk_ctree_set_line_style(GTK_CTREE(mail_ctree),
GTK_CTREE_LINES_TABBED);
@@ -145,31 +149,31 @@
idate = col;
col++;
- if (g_strcasecmp(g_strdup("1"), (char *) rc_get_value("ml_server")) == 0) {
+ if (rc_compare("1", "ml_server") == 0) {
field_titles[col] = "Server";
iserver = col;
col++;
}
- if (g_strcasecmp(g_strdup("1"), (char *) rc_get_value("ml_priority")) == 0) {
+ if (rc_compare("1", "ml_priority") == 0) {
field_titles[col] = "Priority";
ipriority = col;
col++;
}
- if (g_strcasecmp(g_strdup("1"), (char *) rc_get_value("ml_attachment")) == 0) {
+ if (rc_compare("1", "ml_attachment") == 0) {
field_titles[col] = "";
iattachment = col;
col++;
}
- if (g_strcasecmp(g_strdup("1"), (char *) rc_get_value("ml_score")) == 0) {
+ if (rc_compare("1", "ml_score") == 0) {
field_titles[col] = "Score";
iscore = col;
col++;
}
- if (g_strcasecmp(g_strdup("1"), (char *) rc_get_value("ml_read")) == 0) {
+ if (rc_compare("1", "ml_read") == 0) {
field_titles[col] = "";
iread = col;
col++;
@@ -195,17 +199,17 @@
gtk_clist_set_column_width(GTK_CLIST(mail_ctree), idate, 150);
- if (g_strcasecmp(g_strdup("1"), (char *) rc_get_value("ml_server")) == 0) {
+ if (rc_compare("1", "ml_server") == 0) {
gtk_clist_set_column_width(GTK_CLIST(mail_ctree), iserver,
40);
}
- if (g_strcasecmp(g_strdup("1"), (char *) rc_get_value("ml_priority")) == 0) {
+ if (rc_compare("1", "ml_priority") == 0) {
gtk_clist_set_column_width(GTK_CLIST(mail_ctree),
ipriority, 40);
}
- if (g_strcasecmp(g_strdup("1"), (char *) rc_get_value("ml_read")) == 0) {
+ if (rc_compare("1", "ml_read") == 0) {
colormap = gtk_widget_get_colormap(mail_ctree);
pixmap =
gdk_pixmap_colormap_create_from_xpm(NULL, colormap,
@@ -225,7 +229,7 @@
}
- if (g_strcasecmp(g_strdup("1"), (char *) rc_get_value("ml_attachment")) == 0) {
+ if (rc_compare("1", "ml_attachment") == 0) {
colormap = gtk_widget_get_colormap(mail_ctree);
pixmap =
gdk_pixmap_colormap_create_from_xpm(NULL, colormap,
@@ -245,7 +249,7 @@
}
- if (g_strcasecmp(g_strdup("1"), (char *) rc_get_value("ml_score")) == 0) {
+ if (rc_compare("1", "ml_score") == 0) {
gtk_clist_set_column_width(GTK_CLIST(mail_ctree), iscore,
30);
gtk_clist_set_column_auto_resize(GTK_CLIST(mail_ctree),
@@ -271,17 +275,21 @@
GTK_POLICY_AUTOMATIC,
GTK_POLICY_AUTOMATIC);
gtk_container_add(GTK_CONTAINER(scroll), mail_ctree);
- gtk_widget_show_all(mail_ctree);
- if (g_strcasecmp(g_strdup("0"), (char *) rc_get_value("ml_linestyle")) == 0)
+ gtk_widget_show_all(mail_ctree);
+
+ if (rc_compare("0", "ml_linestyle") == 0)
gtk_ctree_set_line_style(GTK_CTREE(mail_ctree),
- GTK_CTREE_LINES_NONE);
- if (g_strcasecmp(g_strdup("1"), (char *) rc_get_value("ml_linestyle")) == 0)
+ GTK_CTREE_LINES_NONE);
+
+ if (rc_compare("1", "ml_linestyle") == 0)
gtk_ctree_set_line_style(GTK_CTREE(mail_ctree),
- GTK_CTREE_LINES_SOLID);
- if (g_strcasecmp(g_strdup("2"), (char *) rc_get_value("ml_linestyle")) == 0)
+ GTK_CTREE_LINES_SOLID);
+
+ if (rc_compare("2", "ml_linestyle") == 0)
gtk_ctree_set_line_style(GTK_CTREE(mail_ctree),
- GTK_CTREE_LINES_DOTTED);
- if (g_strcasecmp(g_strdup("3"), (char *) rc_get_value("ml_linestyle")) == 0)
+ GTK_CTREE_LINES_DOTTED);
+
+ if (rc_compare("3", "ml_linestyle") == 0)
gtk_ctree_set_line_style(GTK_CTREE(mail_ctree),
GTK_CTREE_LINES_TABBED);
return (scroll);
@@ -348,16 +356,18 @@
(GtkDestroyNotify)
destroy_account);
i++;
- }
- if (text[0])
- g_free(text[0]);
- if (text[1])
- g_free(text[1]);
- if (text[2])
- g_free(text[2]);
- if (text[3])
- g_free(text[3]);
- g_free(text);
+ }
+ if (text) {
+ if (text[0])
+ g_free(text[0]);
+ if (text[1])
+ g_free(text[1]);
+ if (text[2])
+ g_free(text[2]);
+ if (text[3])
+ g_free(text[3]);
+ g_free(text);
+ }
gtk_clist_set_column_auto_resize(GTK_CLIST(account_clist), 0,
TRUE);
===================================================================
RCS file: /cvsroot/corem/core/src/prefs.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -3 -r1.13 -r1.14
--- prefs.c 2000/12/19 16:42:51 1.13
+++ prefs.c 2000/12/19 20:40:37 1.14
@@ -171,7 +171,8 @@
new_font = gtk_entry_new();
gtk_widget_set_usize(GTK_WIDGET(new_font), 320, 20);
gtk_entry_set_editable(GTK_ENTRY(new_font), TRUE);
- gtk_entry_set_text(GTK_ENTRY(new_font), (char *) rc_get_value("new_font"));
+ gtk_entry_set_text(GTK_ENTRY(new_font),
+ (char *) rc_get_value("new_font"));
gtk_table_attach(GTK_TABLE(table), new_font, 0, 1, 3, 4,
GTK_EXPAND | GTK_FILL, 0, 1, 1);
@@ -257,7 +258,8 @@
static void ok_clicked()
{
- rc_set_value("default_font", gtk_entry_get_text(GTK_ENTRY(def_font)));
+ rc_set_value("default_font",
+ gtk_entry_get_text(GTK_ENTRY(def_font)));
rc_set_value("new_font", gtk_entry_get_text(GTK_ENTRY(new_font)));
apply_clicked();
gtk_widget_destroy(pref_win);
@@ -328,199 +330,218 @@
}
-int rc_remove_key(char * key)
+int rc_remove_key(char *key)
{
- char *tmp;
+ char *tmp;
- tmp = g_hash_table_lookup(config, key);
- if (key && strlen(key)) {
- if (tmp) {
- g_hash_table_freeze(config);
+ tmp = g_hash_table_lookup(config, key);
+ if (key && strlen(key)) {
+ if (tmp) {
+ g_hash_table_freeze(config);
- g_hash_table_remove(config, key);
+ g_hash_table_remove(config, key);
- g_hash_table_thaw(config);
- } else
- return FALSE;
- } else
- return FALSE;
+ g_hash_table_thaw(config);
+ } else
+ return FALSE;
+ } else
+ return FALSE;
- return TRUE;
+ return TRUE;
}
-int rc_set_value(char * key, char * value)
+int rc_set_value(char *key, char *value)
{
- char *tmp;
+ char *tmp;
- if (key && strlen(key)) {
- if (value && strlen(value)) {
- tmp = g_hash_table_lookup(config, key);
- if (tmp) {
- rc_remove_key(key);
- g_free(tmp);
- } else {
- g_hash_table_freeze(config);
+ if (key && strlen(key)) {
+ if (value && strlen(value)) {
+ tmp = g_hash_table_lookup(config, key);
+ if (tmp) {
+ rc_remove_key(key);
+ g_free(tmp);
+ } else {
+ g_hash_table_freeze(config);
- g_hash_table_insert(config, key, value);
+ g_hash_table_insert(config, key, value);
- g_hash_table_thaw(config);
- }
- } else
- return FALSE;
- } else
- return FALSE;
+ g_hash_table_thaw(config);
+ }
+ } else
+ return FALSE;
+ } else
+ return FALSE;
- return TRUE;
+ return TRUE;
}
-char *rc_get_value(char * key)
+char *rc_get_value(char *key)
{
- char *tmp;
+ char *tmp;
- if (key && strlen(key)) {
- tmp = g_hash_table_lookup(config, g_strdup(key));
- if (tmp) {
- return g_strdup(tmp);
- g_free(tmp);
- } else {
- fprintf(stderr, "%sERROR:%s Key %s not found", RED, GREEN, g_strdup(key));
- return FALSE;
+ if (key && strlen(key)) {
+ tmp = g_hash_table_lookup(config, g_strdup(key));
+ if (tmp) {
+ return g_strdup(tmp);
+ g_free(tmp);
+ } else {
+ fprintf(stderr, "%sERROR:%s Key %s not found", RED,
+ GREEN, g_strdup(key));
+ return FALSE;
}
- } else {
- fprintf(stderr, "%sERROR:%s Key not provided in rc_get_value", RED, GREEN);
- return FALSE;
+ } else {
+ fprintf(stderr,
+ "%sERROR:%s Key not provided in rc_get_value", RED,
+ GREEN);
+ return FALSE;
}
- return FALSE;
+ return FALSE;
}
int rc_set_defaults()
{
- config = g_hash_table_new(g_str_hash, g_str_equal);
- rc_set_value("xsize", "800");
- rc_set_value("ysize", "600");
- rc_set_value("tb_show", "1");
- rc_set_value("tb_buttons", "2"); /*0 = TEXT 1 = ICONS 2 = BOTH*/
- rc_set_value("default_font",
- "-schumacher-clean-medium-r-normal-*-*-120-*-*-c-*-iso8859-1");
- rc_set_value("new_font",
- "-schumacher-clean-bold-r-normal-*-*-120-*-*-c-*-iso646.1991-irv");
- rc_set_value("ml_priority", "0");
- rc_set_value("ml_read", "1");
- rc_set_value("ml_attachment", "1");
- rc_set_value("ml_score", "0");
- rc_set_value("ml_from", "1");
- rc_set_value("ml_subject", "1");
- rc_set_value("ml_date", "1");
- rc_set_value("ml_server", "0");
- rc_set_value("ml_linestyle", "2");
- rc_set_value("fl_linestyle", "2");
- rc_set_value("theme", "Default");
- return TRUE;
+ config = g_hash_table_new(g_str_hash, g_str_equal);
+ rc_set_value("xsize", "800");
+ rc_set_value("ysize", "600");
+ rc_set_value("tb_show", "1");
+ rc_set_value("tb_buttons", "2"); /*0 = TEXT 1 = ICONS 2 = BOTH */
+ rc_set_value("default_font",
+ "-schumacher-clean-medium-r-normal-*-*-120-*-*-c-*-iso8859-1");
+ rc_set_value("new_font",
+ "-schumacher-clean-bold-r-normal-*-*-120-*-*-c-*-iso646.1991-irv");
+ rc_set_value("ml_priority", "0");
+ rc_set_value("ml_read", "1");
+ rc_set_value("ml_attachment", "1");
+ rc_set_value("ml_score", "0");
+ rc_set_value("ml_from", "1");
+ rc_set_value("ml_subject", "1");
+ rc_set_value("ml_date", "1");
+ rc_set_value("ml_server", "0");
+ rc_set_value("ml_linestyle", "2");
+ rc_set_value("fl_linestyle", "2");
+ rc_set_value("theme", "Default");
+ return TRUE;
}
int rc_parse_into_hash()
{
- FILE *config_file;
- gchar *line;
- gchar *rc;
+ FILE *config_file;
+ gchar *line;
+ gchar *rc;
if (!getenv("HOME")) {
- fprintf(stderr, "%sERROR:%s Environment variable HOME not set.\n", RED, GREEN);
+ fprintf(stderr,
+ "%sERROR:%s Environment variable HOME not set.\n",
+ RED, GREEN);
return FALSE;
}
-
+
rc = g_strconcat(getenv("HOME"), "/.corerc", NULL);
- config_file = fopen(rc, "r");
- if (config_file == NULL) {
- rc_write();
- return FALSE;
- }
-
- line = get_next_line(config_file);
- while (line != NULL) {
- if (g_strncasecmp(line, "xsize=", 6) == 0) {
- rc_set_value("xsize", line + 6);
- } else if (g_strncasecmp(line, "ysize=", 6) == 0) {
- rc_set_value("ysize", line + 6);
- } else if (g_strncasecmp(line, "tb_show=", 8) == 0) {
- rc_set_value("tb_show", line + 8);
- } else if (g_strncasecmp(line, "tb_buttons=", 11) == 0) {
- rc_set_value("tb_buttons", line + 11);
- } else if (g_strncasecmp(line, "default_font=", 13) == 0) {
- rc_set_value("default_font", line + 13);
- } else if (g_strncasecmp(line, "new_font=", 9) == 0) {
- rc_set_value("new_font", line + 9);
- } else if (g_strncasecmp(line, "ml_priority=", 12) == 0) {
- rc_set_value("ml_priority",line + 12);
- } else if (g_strncasecmp(line, "ml_read=", 8) == 0) {
- rc_set_value("ml_read", line + 8);
- } else if (g_strncasecmp(line, "ml_attachment=", 14) == 0) {
- rc_set_value("ml_attachment", line + 14);
- } else if (g_strncasecmp(line, "ml_score=", 9) == 0) {
- rc_set_value("ml_score", line + 9);
- } else if (g_strncasecmp(line, "ml_from=", 8) == 0) {
- rc_set_value("ml_from", line + 8);
- } else if (g_strncasecmp(line, "ml_subject=", 11) == 0) {
- rc_set_value("ml_subject", line + 11);
- } else if (g_strncasecmp(line, "ml_date=", 8) == 0) {
- rc_set_value("ml_date", line + 8);
- } else if (g_strncasecmp(line, "ml_server=", 10) == 0) {
- rc_set_value("ml_server", line + 10);
- } else if (g_strncasecmp(line, "ml_linestyle=", 13) == 0) {
- rc_set_value("ml_linestyle", line + 13);
- } else if (g_strncasecmp(line, "fl_linestyle=", 13) == 0) {
- rc_set_value("fl_linestyle", line + 13);
- } else if (g_strncasecmp(line, "theme=", 6) == 0) {
- rc_set_value("theme", line + 6);
- }
- g_free(line);
- line = get_next_line(config_file);
- }
-
- if (line)
- g_free(line);
- fclose(config_file);
- g_free(rc);
+ config_file = fopen(rc, "r");
+ if (config_file == NULL) {
+ rc_write();
+ return FALSE;
+ }
- return TRUE;
+ line = get_next_line(config_file);
+ while (line != NULL) {
+ if (g_strncasecmp(line, "xsize=", 6) == 0) {
+ rc_set_value("xsize", line + 6);
+ } else if (g_strncasecmp(line, "ysize=", 6) == 0) {
+ rc_set_value("ysize", line + 6);
+ } else if (g_strncasecmp(line, "tb_show=", 8) == 0) {
+ rc_set_value("tb_show", line + 8);
+ } else if (g_strncasecmp(line, "tb_buttons=", 11) == 0) {
+ rc_set_value("tb_buttons", line + 11);
+ } else if (g_strncasecmp(line, "default_font=", 13) == 0) {
+ rc_set_value("default_font", line + 13);
+ } else if (g_strncasecmp(line, "new_font=", 9) == 0) {
+ rc_set_value("new_font", line + 9);
+ } else if (g_strncasecmp(line, "ml_priority=", 12) == 0) {
+ rc_set_value("ml_priority", line + 12);
+ } else if (g_strncasecmp(line, "ml_read=", 8) == 0) {
+ rc_set_value("ml_read", line + 8);
+ } else if (g_strncasecmp(line, "ml_attachment=", 14) == 0) {
+ rc_set_value("ml_attachment", line + 14);
+ } else if (g_strncasecmp(line, "ml_score=", 9) == 0) {
+ rc_set_value("ml_score", line + 9);
+ } else if (g_strncasecmp(line, "ml_from=", 8) == 0) {
+ rc_set_value("ml_from", line + 8);
+ } else if (g_strncasecmp(line, "ml_subject=", 11) == 0) {
+ rc_set_value("ml_subject", line + 11);
+ } else if (g_strncasecmp(line, "ml_date=", 8) == 0) {
+ rc_set_value("ml_date", line + 8);
+ } else if (g_strncasecmp(line, "ml_server=", 10) == 0) {
+ rc_set_value("ml_server", line + 10);
+ } else if (g_strncasecmp(line, "ml_linestyle=", 13) == 0) {
+ rc_set_value("ml_linestyle", line + 13);
+ } else if (g_strncasecmp(line, "fl_linestyle=", 13) == 0) {
+ rc_set_value("fl_linestyle", line + 13);
+ } else if (g_strncasecmp(line, "theme=", 6) == 0) {
+ rc_set_value("theme", line + 6);
+ }
+ g_free(line);
+ line = get_next_line(config_file);
+ }
+
+ if (line)
+ g_free(line);
+ fclose(config_file);
+ g_free(rc);
+
+ return TRUE;
}
int rc_write()
{
- FILE *config_file;
- gchar *rc;
+ FILE *config_file;
+ gchar *rc;
+
+ rc = g_strconcat(getenv("HOME"), "/.corerc", NULL);
+ config_file = fopen(rc, "w");
+ if (config_file == NULL) {
+ fprintf(config_file,
+ "%sERROR: %sFailed to write to %s\n", RED,
+ GREEN, rc);
+ return FALSE;
+ }
- rc = g_strconcat(getenv("HOME"), "/.corerc", NULL);
- config_file = fopen(rc, "w");
- if (config_file == NULL) {
- fprintf(config_file,
- "%sERROR: %sFailed to write to %s\n", RED,
- GREEN, rc);
- return FALSE;
- }
-
- fprintf(config_file,
- "# ~/.corerc: Created by core, do not modify\n");
- fprintf(config_file, "xsize=%s\n", (char *) rc_get_value("xsize"));
- fprintf(config_file, "ysize=%s\n", (char *) rc_get_value("ysize"));
- fprintf(config_file, "tb_show=%s\n", (char *) rc_get_value("tb_show"));
- fprintf(config_file, "tb_buttons=%s\n", (char *) rc_get_value("tb_buttons"));
- fprintf(config_file, "default_font=%s\n", (char *) rc_get_value("default_font"));
- fprintf(config_file, "new_font=%s\n", (char *) rc_get_value("new_font"));
- fprintf(config_file, "ml_priority=%s\n", (char *) rc_get_value("ml_priority"));
- fprintf(config_file, "ml_read=%s\n", (char *) rc_get_value("ml_read"));
- fprintf(config_file, "ml_attachment=%s\n", (char *) rc_get_value("ml_attachment"));
- fprintf(config_file, "ml_score=%s\n", (char *) rc_get_value("ml_score"));
- fprintf(config_file, "ml_from=%s\n", (char *) rc_get_value("ml_from"));
- fprintf(config_file, "ml_subject=%s\n", (char *) rc_get_value("ml_subject"));
- fprintf(config_file, "ml_date=%s\n", (char *) rc_get_value("ml_date"));
- fprintf(config_file, "ml_server=%s\n", (char *) rc_get_value("ml_server"));
- fprintf(config_file, "ml_linestyle=%s\n", (char *) rc_get_value("ml_linestyle"));
- fprintf(config_file, "fl_linestyle=%s\n", (char *) rc_get_value("fl_linestyle"));
- fprintf(config_file, "theme=%s\n", (char *) rc_get_value("theme"));
- g_free(rc);
- return TRUE;
+ fprintf(config_file,
+ "# ~/.corerc: Created by core, do not modify\n");
+ fprintf(config_file, "xsize=%s\n", (char *) rc_get_value("xsize"));
+ fprintf(config_file, "ysize=%s\n", (char *) rc_get_value("ysize"));
+ fprintf(config_file, "tb_show=%s\n",
+ (char *) rc_get_value("tb_show"));
+ fprintf(config_file, "tb_buttons=%s\n",
+ (char *) rc_get_value("tb_buttons"));
+ fprintf(config_file, "default_font=%s\n",
+ (char *) rc_get_value("default_font"));
+ fprintf(config_file, "new_font=%s\n",
+ (char *) rc_get_value("new_font"));
+ fprintf(config_file, "ml_priority=%s\n",
+ (char *) rc_get_value("ml_priority"));
+ fprintf(config_file, "ml_read=%s\n",
+ (char *) rc_get_value("ml_read"));
+ fprintf(config_file, "ml_attachment=%s\n",
+ (char *) rc_get_value("ml_attachment"));
+ fprintf(config_file, "ml_score=%s\n",
+ (char *) rc_get_value("ml_score"));
+ fprintf(config_file, "ml_from=%s\n",
+ (char *) rc_get_value("ml_from"));
+ fprintf(config_file, "ml_subject=%s\n",
+ (char *) rc_get_value("ml_subject"));
+ fprintf(config_file, "ml_date=%s\n",
+ (char *) rc_get_value("ml_date"));
+ fprintf(config_file, "ml_server=%s\n",
+ (char *) rc_get_value("ml_server"));
+ fprintf(config_file, "ml_linestyle=%s\n",
+ (char *) rc_get_value("ml_linestyle"));
+ fprintf(config_file, "fl_linestyle=%s\n",
+ (char *) rc_get_value("fl_linestyle"));
+ fprintf(config_file, "theme=%s\n", (char *) rc_get_value("theme"));
+ g_free(rc);
+ return TRUE;
}
===================================================================
RCS file: /cvsroot/corem/core/src/prefs.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- prefs.h 2000/12/19 16:24:10 1.2
+++ prefs.h 2000/12/19 20:40:37 1.3
@@ -3,9 +3,11 @@
void config_read();
void config_write();
-int rc_remove_key(char * key);
-int rc_set_value(char * key, char * value);
-char *rc_get_value(char * key);
+int rc_remove_key(char *key);
+int rc_set_value(char *key, char *value);
+char *rc_get_value(char *key);
int rc_set_defaults();
int rc_parse_into_hash();
typedef GHashTable ConfigData;
+
+#define rc_compare(str, rc_str) g_strcasecmp(str, rc_get_value(rc_str))
|