aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--addressbook/ChangeLog6
-rw-r--r--addressbook/backend/ebook/e-card.c182
-rw-r--r--addressbook/backend/ebook/e-card.h10
3 files changed, 102 insertions, 96 deletions
diff --git a/addressbook/ChangeLog b/addressbook/ChangeLog
index 402dcdd6ea..0983448543 100644
--- a/addressbook/ChangeLog
+++ b/addressbook/ChangeLog
@@ -1,3 +1,9 @@
+2003-07-22 Dan Winship <danw@ximian.com>
+
+ * backend/ebook/e-card.c: (e_card_new,
+ e_card_new_with_default_charset): Make the "vcard" arg const.
+ ...: add lots and lots of other consts as a side effect
+
2003-06-30 Dan Winship <danw@ximian.com>
* gui/widgets/e-addressbook-view.c (e_addressbook_view_dispose):
diff --git a/addressbook/backend/ebook/e-card.c b/addressbook/backend/ebook/e-card.c
index ff2ecc9287..1b3bbfba88 100644
--- a/addressbook/backend/ebook/e-card.c
+++ b/addressbook/backend/ebook/e-card.c
@@ -81,7 +81,7 @@ enum {
static GObjectClass *parent_class;
-static void parse(ECard *card, VObject *vobj, char *default_charset);
+static void parse(ECard *card, VObject *vobj, const char *default_charset);
static void e_card_init (ECard *card);
static void e_card_class_init (ECardClass *klass);
@@ -89,49 +89,49 @@ static void e_card_dispose (GObject *object);
static void e_card_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec);
static void e_card_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec);
-static void assign_string(VObject *vobj, char *default_charset, char **string);
-
-char *e_v_object_get_child_value(VObject *vobj, char *name, char *default_charset);
-
-static void parse_bday(ECard *card, VObject *object, char *default_charset);
-static void parse_full_name(ECard *card, VObject *object, char *default_charset);
-static void parse_file_as(ECard *card, VObject *object, char *default_charset);
-static void parse_name(ECard *card, VObject *object, char *default_charset);
-static void parse_email(ECard *card, VObject *object, char *default_charset);
-static void parse_phone(ECard *card, VObject *object, char *default_charset);
-static void parse_address(ECard *card, VObject *object, char *default_charset);
-static void parse_address_label(ECard *card, VObject *object, char *default_charset);
-static void parse_url(ECard *card, VObject *object, char *default_charset);
-static void parse_org(ECard *card, VObject *object, char *default_charset);
-static void parse_office(ECard *card, VObject *object, char *default_charset);
-static void parse_title(ECard *card, VObject *object, char *default_charset);
-static void parse_role(ECard *card, VObject *object, char *default_charset);
-static void parse_manager(ECard *card, VObject *object, char *default_charset);
-static void parse_assistant(ECard *card, VObject *object, char *default_charset);
-static void parse_nickname(ECard *card, VObject *object, char *default_charset);
-static void parse_spouse(ECard *card, VObject *object, char *default_charset);
-static void parse_anniversary(ECard *card, VObject *object, char *default_charset);
-static void parse_mailer(ECard *card, VObject *object, char *default_charset);
-static void parse_caluri(ECard *card, VObject *object, char *default_charset);
-static void parse_fburl(ECard *card, VObject *object, char *default_charset);
-static void parse_icscalendar(ECard *card, VObject *object, char *default_charset);
-static void parse_note(ECard *card, VObject *object, char *default_charset);
-static void parse_related_contacts(ECard *card, VObject *object, char *default_charset);
-static void parse_categories(ECard *card, VObject *object, char *default_charset);
-static void parse_wants_html(ECard *card, VObject *object, char *default_charset);
-static void parse_list(ECard *card, VObject *object, char *default_charset);
-static void parse_list_show_addresses(ECard *card, VObject *object, char *default_charset);
-static void parse_arbitrary(ECard *card, VObject *object, char *default_charset);
-static void parse_id(ECard *card, VObject *object, char *default_charset);
-static void parse_last_use(ECard *card, VObject *object, char *default_charset);
-static void parse_use_score(ECard *card, VObject *object, char *default_charset);
+static void assign_string(VObject *vobj, const char *default_charset, char **string);
+
+char *e_v_object_get_child_value(VObject *vobj, char *name, const char *default_charset);
+
+static void parse_bday(ECard *card, VObject *object, const char *default_charset);
+static void parse_full_name(ECard *card, VObject *object, const char *default_charset);
+static void parse_file_as(ECard *card, VObject *object, const char *default_charset);
+static void parse_name(ECard *card, VObject *object, const char *default_charset);
+static void parse_email(ECard *card, VObject *object, const char *default_charset);
+static void parse_phone(ECard *card, VObject *object, const char *default_charset);
+static void parse_address(ECard *card, VObject *object, const char *default_charset);
+static void parse_address_label(ECard *card, VObject *object, const char *default_charset);
+static void parse_url(ECard *card, VObject *object, const char *default_charset);
+static void parse_org(ECard *card, VObject *object, const char *default_charset);
+static void parse_office(ECard *card, VObject *object, const char *default_charset);
+static void parse_title(ECard *card, VObject *object, const char *default_charset);
+static void parse_role(ECard *card, VObject *object, const char *default_charset);
+static void parse_manager(ECard *card, VObject *object, const char *default_charset);
+static void parse_assistant(ECard *card, VObject *object, const char *default_charset);
+static void parse_nickname(ECard *card, VObject *object, const char *default_charset);
+static void parse_spouse(ECard *card, VObject *object, const char *default_charset);
+static void parse_anniversary(ECard *card, VObject *object, const char *default_charset);
+static void parse_mailer(ECard *card, VObject *object, const char *default_charset);
+static void parse_caluri(ECard *card, VObject *object, const char *default_charset);
+static void parse_fburl(ECard *card, VObject *object, const char *default_charset);
+static void parse_icscalendar(ECard *card, VObject *object, const char *default_charset);
+static void parse_note(ECard *card, VObject *object, const char *default_charset);
+static void parse_related_contacts(ECard *card, VObject *object, const char *default_charset);
+static void parse_categories(ECard *card, VObject *object, const char *default_charset);
+static void parse_wants_html(ECard *card, VObject *object, const char *default_charset);
+static void parse_list(ECard *card, VObject *object, const char *default_charset);
+static void parse_list_show_addresses(ECard *card, VObject *object, const char *default_charset);
+static void parse_arbitrary(ECard *card, VObject *object, const char *default_charset);
+static void parse_id(ECard *card, VObject *object, const char *default_charset);
+static void parse_last_use(ECard *card, VObject *object, const char *default_charset);
+static void parse_use_score(ECard *card, VObject *object, const char *default_charset);
static ECardPhoneFlags get_phone_flags (VObject *vobj);
static void set_phone_flags (VObject *vobj, ECardPhoneFlags flags);
static ECardAddressFlags get_address_flags (VObject *vobj);
static void set_address_flags (VObject *vobj, ECardAddressFlags flags);
-typedef void (* ParsePropertyFunc) (ECard *card, VObject *object, char *default_charset);
+typedef void (* ParsePropertyFunc) (ECard *card, VObject *object, const char *default_charset);
struct {
char *key;
@@ -207,7 +207,7 @@ e_card_get_type (void)
}
ECard *
-e_card_new_with_default_charset (char *vcard, char *default_charset)
+e_card_new_with_default_charset (const char *vcard, const char *default_charset)
{
ECard *card = g_object_new (E_TYPE_CARD, NULL);
VObject *vobj = Parse_MIME(vcard, strlen(vcard));
@@ -234,7 +234,7 @@ e_card_new_with_default_charset (char *vcard, char *default_charset)
* Returns: a new #ECard that wraps the @vcard.
*/
ECard *
-e_card_new (char *vcard)
+e_card_new (const char *vcard)
{
return e_card_new_with_default_charset (vcard, "UTF-8");
}
@@ -798,7 +798,7 @@ e_card_list_get_vcard (const GList *list)
}
static void
-parse_file_as(ECard *card, VObject *vobj, char *default_charset)
+parse_file_as(ECard *card, VObject *vobj, const char *default_charset)
{
if ( card->file_as )
g_free(card->file_as);
@@ -806,7 +806,7 @@ parse_file_as(ECard *card, VObject *vobj, char *default_charset)
}
static void
-parse_name(ECard *card, VObject *vobj, char *default_charset)
+parse_name(ECard *card, VObject *vobj, const char *default_charset)
{
e_card_name_unref(card->name);
@@ -820,7 +820,7 @@ parse_name(ECard *card, VObject *vobj, char *default_charset)
}
static void
-parse_full_name(ECard *card, VObject *vobj, char *default_charset)
+parse_full_name(ECard *card, VObject *vobj, const char *default_charset)
{
if ( card->fname )
g_free(card->fname);
@@ -828,7 +828,7 @@ parse_full_name(ECard *card, VObject *vobj, char *default_charset)
}
static void
-parse_email(ECard *card, VObject *vobj, char *default_charset)
+parse_email(ECard *card, VObject *vobj, const char *default_charset)
{
char *next_email;
EList *list;
@@ -844,7 +844,7 @@ parse_email(ECard *card, VObject *vobj, char *default_charset)
/* Deal with charset */
static void
-parse_bday(ECard *card, VObject *vobj, char *default_charset)
+parse_bday(ECard *card, VObject *vobj, const char *default_charset)
{
if ( vObjectValueType (vobj) ) {
char *str = fakeCString (vObjectUStringZValue (vobj));
@@ -857,7 +857,7 @@ parse_bday(ECard *card, VObject *vobj, char *default_charset)
}
static void
-parse_phone(ECard *card, VObject *vobj, char *default_charset)
+parse_phone(ECard *card, VObject *vobj, const char *default_charset)
{
ECardPhone *next_phone = e_card_phone_new ();
EList *list;
@@ -874,7 +874,7 @@ parse_phone(ECard *card, VObject *vobj, char *default_charset)
}
static void
-parse_address(ECard *card, VObject *vobj, char *default_charset)
+parse_address(ECard *card, VObject *vobj, const char *default_charset)
{
ECardDeliveryAddress *next_addr = e_card_delivery_address_new ();
EList *list;
@@ -897,7 +897,7 @@ parse_address(ECard *card, VObject *vobj, char *default_charset)
}
static void
-parse_address_label(ECard *card, VObject *vobj, char *default_charset)
+parse_address_label(ECard *card, VObject *vobj, const char *default_charset)
{
ECardAddrLabel *next_addr = e_card_address_label_new ();
EList *list;
@@ -914,7 +914,7 @@ parse_address_label(ECard *card, VObject *vobj, char *default_charset)
}
static void
-parse_url(ECard *card, VObject *vobj, char *default_charset)
+parse_url(ECard *card, VObject *vobj, const char *default_charset)
{
if (card->url)
g_free(card->url);
@@ -922,7 +922,7 @@ parse_url(ECard *card, VObject *vobj, char *default_charset)
}
static void
-parse_org(ECard *card, VObject *vobj, char *default_charset)
+parse_org(ECard *card, VObject *vobj, const char *default_charset)
{
char *temp;
@@ -936,7 +936,7 @@ parse_org(ECard *card, VObject *vobj, char *default_charset)
}
static void
-parse_office(ECard *card, VObject *vobj, char *default_charset)
+parse_office(ECard *card, VObject *vobj, const char *default_charset)
{
if ( card->office )
g_free(card->office);
@@ -944,7 +944,7 @@ parse_office(ECard *card, VObject *vobj, char *default_charset)
}
static void
-parse_title(ECard *card, VObject *vobj, char *default_charset)
+parse_title(ECard *card, VObject *vobj, const char *default_charset)
{
if ( card->title )
g_free(card->title);
@@ -952,7 +952,7 @@ parse_title(ECard *card, VObject *vobj, char *default_charset)
}
static void
-parse_role(ECard *card, VObject *vobj, char *default_charset)
+parse_role(ECard *card, VObject *vobj, const char *default_charset)
{
if (card->role)
g_free(card->role);
@@ -960,7 +960,7 @@ parse_role(ECard *card, VObject *vobj, char *default_charset)
}
static void
-parse_manager(ECard *card, VObject *vobj, char *default_charset)
+parse_manager(ECard *card, VObject *vobj, const char *default_charset)
{
if ( card->manager )
g_free(card->manager);
@@ -968,7 +968,7 @@ parse_manager(ECard *card, VObject *vobj, char *default_charset)
}
static void
-parse_assistant(ECard *card, VObject *vobj, char *default_charset)
+parse_assistant(ECard *card, VObject *vobj, const char *default_charset)
{
if ( card->assistant )
g_free(card->assistant);
@@ -976,7 +976,7 @@ parse_assistant(ECard *card, VObject *vobj, char *default_charset)
}
static void
-parse_nickname(ECard *card, VObject *vobj, char *default_charset)
+parse_nickname(ECard *card, VObject *vobj, const char *default_charset)
{
if (card->nickname)
g_free(card->nickname);
@@ -984,7 +984,7 @@ parse_nickname(ECard *card, VObject *vobj, char *default_charset)
}
static void
-parse_spouse(ECard *card, VObject *vobj, char *default_charset)
+parse_spouse(ECard *card, VObject *vobj, const char *default_charset)
{
if ( card->spouse )
g_free(card->spouse);
@@ -993,7 +993,7 @@ parse_spouse(ECard *card, VObject *vobj, char *default_charset)
/* Deal with charset */
static void
-parse_anniversary(ECard *card, VObject *vobj, char *default_charset)
+parse_anniversary(ECard *card, VObject *vobj, const char *default_charset)
{
if ( vObjectValueType (vobj) ) {
char *str = fakeCString (vObjectUStringZValue (vobj));
@@ -1006,7 +1006,7 @@ parse_anniversary(ECard *card, VObject *vobj, char *default_charset)
}
static void
-parse_mailer(ECard *card, VObject *vobj, char *default_charset)
+parse_mailer(ECard *card, VObject *vobj, const char *default_charset)
{
if ( card->mailer )
g_free(card->mailer);
@@ -1014,35 +1014,35 @@ parse_mailer(ECard *card, VObject *vobj, char *default_charset)
}
static void
-parse_caluri(ECard *card, VObject *vobj, char *default_charset)
+parse_caluri(ECard *card, VObject *vobj, const char *default_charset)
{
g_free(card->caluri);
assign_string(vobj, default_charset, &(card->caluri));
}
static void
-parse_fburl(ECard *card, VObject *vobj, char *default_charset)
+parse_fburl(ECard *card, VObject *vobj, const char *default_charset)
{
g_free(card->fburl);
assign_string(vobj, default_charset, &(card->fburl));
}
static void
-parse_icscalendar(ECard *card, VObject *vobj, char *default_charset)
+parse_icscalendar(ECard *card, VObject *vobj, const char *default_charset)
{
g_free(card->icscalendar);
assign_string(vobj, default_charset, &(card->icscalendar));
}
static void
-parse_note(ECard *card, VObject *vobj, char *default_charset)
+parse_note(ECard *card, VObject *vobj, const char *default_charset)
{
g_free(card->note);
assign_string(vobj, default_charset, &(card->note));
}
static void
-parse_related_contacts(ECard *card, VObject *vobj, char *default_charset)
+parse_related_contacts(ECard *card, VObject *vobj, const char *default_charset)
{
g_free(card->related_contacts);
assign_string(vobj, default_charset, &(card->related_contacts));
@@ -1107,7 +1107,7 @@ do_parse_categories(ECard *card, char *str)
/* Deal with charset */
static void
-parse_categories(ECard *card, VObject *vobj, char *default_charset)
+parse_categories(ECard *card, VObject *vobj, const char *default_charset)
{
if ( vObjectValueType (vobj) ) {
char *str = fakeCString (vObjectUStringZValue (vobj));
@@ -1118,7 +1118,7 @@ parse_categories(ECard *card, VObject *vobj, char *default_charset)
/* Deal with charset */
static void
-parse_wants_html(ECard *card, VObject *vobj, char *default_charset)
+parse_wants_html(ECard *card, VObject *vobj, const char *default_charset)
{
if ( vObjectValueType (vobj) ) {
char *str = fakeCString (vObjectUStringZValue (vobj));
@@ -1136,7 +1136,7 @@ parse_wants_html(ECard *card, VObject *vobj, char *default_charset)
/* Deal with charset */
static void
-parse_list(ECard *card, VObject *vobj, char *default_charset)
+parse_list(ECard *card, VObject *vobj, const char *default_charset)
{
if ( vObjectValueType (vobj) ) {
char *str = fakeCString (vObjectUStringZValue (vobj));
@@ -1152,7 +1152,7 @@ parse_list(ECard *card, VObject *vobj, char *default_charset)
/* Deal with charset */
static void
-parse_list_show_addresses(ECard *card, VObject *vobj, char *default_charset)
+parse_list_show_addresses(ECard *card, VObject *vobj, const char *default_charset)
{
if ( vObjectValueType (vobj) ) {
char *str = fakeCString (vObjectUStringZValue (vobj));
@@ -1184,7 +1184,7 @@ struct VObject {
};
static void
-parse_arbitrary(ECard *card, VObject *vobj, char *default_charset)
+parse_arbitrary(ECard *card, VObject *vobj, const char *default_charset)
{
ECardArbitrary *arbitrary = e_card_arbitrary_new();
VObjectIterator iterator;
@@ -1212,7 +1212,7 @@ parse_arbitrary(ECard *card, VObject *vobj, char *default_charset)
}
static void
-parse_id(ECard *card, VObject *vobj, char *default_charset)
+parse_id(ECard *card, VObject *vobj, const char *default_charset)
{
g_free(card->id);
assign_string(vobj, default_charset, &(card->id));
@@ -1220,7 +1220,7 @@ parse_id(ECard *card, VObject *vobj, char *default_charset)
/* Deal with charset */
static void
-parse_last_use(ECard *card, VObject *vobj, char *default_charset)
+parse_last_use(ECard *card, VObject *vobj, const char *default_charset)
{
if ( vObjectValueType (vobj) ) {
char *str = fakeCString (vObjectUStringZValue (vobj));
@@ -1233,7 +1233,7 @@ parse_last_use(ECard *card, VObject *vobj, char *default_charset)
/* Deal with charset */
static void
-parse_use_score(ECard *card, VObject *vobj, char *default_charset)
+parse_use_score(ECard *card, VObject *vobj, const char *default_charset)
{
card->raw_use_score = 0;
@@ -1245,7 +1245,7 @@ parse_use_score(ECard *card, VObject *vobj, char *default_charset)
}
static void
-parse_attribute(ECard *card, VObject *vobj, char *default_charset)
+parse_attribute(ECard *card, VObject *vobj, const char *default_charset)
{
ParsePropertyFunc function = g_hash_table_lookup(E_CARD_GET_CLASS(card)->attribute_jump_table, vObjectName(vobj));
if ( function )
@@ -1253,7 +1253,7 @@ parse_attribute(ECard *card, VObject *vobj, char *default_charset)
}
static void
-parse(ECard *card, VObject *vobj, char *default_charset)
+parse(ECard *card, VObject *vobj, const char *default_charset)
{
VObjectIterator iterator;
initPropIterator(&iterator, vobj);
@@ -2461,7 +2461,7 @@ e_card_init (ECard *card)
}
GList *
-e_card_load_cards_from_file_with_default_charset(const char *filename, char *default_charset)
+e_card_load_cards_from_file_with_default_charset(const char *filename, const char *default_charset)
{
VObject *vobj = Parse_MIME_FromFileName((char *) filename);
GList *list = NULL;
@@ -2485,7 +2485,7 @@ e_card_load_cards_from_file(const char *filename)
}
GList *
-e_card_load_cards_from_string_with_default_charset(const char *str, char *default_charset)
+e_card_load_cards_from_string_with_default_charset(const char *str, const char *default_charset)
{
VObject *vobj = Parse_MIME(str, strlen (str));
GList *list = NULL;
@@ -2543,22 +2543,22 @@ e_card_free_empty_lists (ECard *card)
}
static void
-assign_string(VObject *vobj, char *default_charset, char **string)
+assign_string(VObject *vobj, const char *default_charset, char **string)
{
int type = vObjectValueType(vobj);
char *str;
- char *charset = default_charset;
- gboolean free_charset = FALSE;
+ const char *charset = default_charset;
+ char *charset_buf = NULL;
VObject *charset_obj;
if ((charset_obj = isAPropertyOf (vobj, "CHARSET"))) {
switch (vObjectValueType (charset_obj)) {
case VCVT_STRINGZ:
- charset = (char *) vObjectStringZValue(charset_obj);
+ charset = vObjectStringZValue(charset_obj);
break;
case VCVT_USTRINGZ:
- charset = fakeCString (vObjectUStringZValue (charset_obj));
- free_charset = TRUE;
+ charset_buf = fakeCString (vObjectUStringZValue (charset_obj));
+ charset = charset_buf;
break;
}
}
@@ -2583,8 +2583,8 @@ assign_string(VObject *vobj, char *default_charset, char **string)
break;
}
- if (free_charset) {
- free (charset);
+ if (charset_buf) {
+ free (charset_buf);
}
}
@@ -2615,21 +2615,21 @@ e_card_date_from_string (const char *str)
}
char *
-e_v_object_get_child_value(VObject *vobj, char *name, char *default_charset)
+e_v_object_get_child_value(VObject *vobj, char *name, const char *default_charset)
{
char *ret_val;
VObjectIterator iterator;
- gboolean free_charset = FALSE;
+ char *charset_buf = NULL;
VObject *charset_obj;
if ((charset_obj = isAPropertyOf (vobj, "CHARSET"))) {
switch (vObjectValueType (charset_obj)) {
case VCVT_STRINGZ:
- default_charset = (char *) vObjectStringZValue(charset_obj);
+ default_charset = vObjectStringZValue(charset_obj);
break;
case VCVT_USTRINGZ:
- default_charset = fakeCString (vObjectUStringZValue (charset_obj));
- free_charset = TRUE;
+ charset_buf = fakeCString (vObjectUStringZValue (charset_obj));
+ default_charset = charset_buf;
break;
}
}
@@ -2643,8 +2643,8 @@ e_v_object_get_child_value(VObject *vobj, char *name, char *default_charset)
return ret_val;
}
}
- if (free_charset)
- free (default_charset);
+ if (charset_buf)
+ free (charset_buf);
return NULL;
}
diff --git a/addressbook/backend/ebook/e-card.h b/addressbook/backend/ebook/e-card.h
index d82d5f4cb6..8819966d5b 100644
--- a/addressbook/backend/ebook/e-card.h
+++ b/addressbook/backend/ebook/e-card.h
@@ -119,9 +119,9 @@ struct _ECardClass {
/* Simple functions */
-ECard *e_card_new (char *vcard); /* Assumes utf8 */
-ECard *e_card_new_with_default_charset (char *vcard,
- char *default_charset);
+ECard *e_card_new (const char *vcard); /* Assumes utf8 */
+ECard *e_card_new_with_default_charset (const char *vcard,
+ const char *default_charset);
const char *e_card_get_id (ECard *card);
void e_card_set_id (ECard *card,
const char *character);
@@ -190,10 +190,10 @@ gint e_card_email_find_number (const
/* Specialized functionality */
GList *e_card_load_cards_from_file (const char *filename);
GList *e_card_load_cards_from_file_with_default_charset (const char *filename,
- char *default_charset);
+ const char *default_charset);
GList *e_card_load_cards_from_string (const char *str);
GList *e_card_load_cards_from_string_with_default_charset (const char *str,
- char *default_charset);
+ const char *default_charset);
void e_card_free_empty_lists (ECard *card);
/* Getting ECards via their URIs */