示例#1
0
/**
 * Format E-Mail address.
 * \param email EMail item to format.
 * \return Formatted string. Should be freed after use.
 */
gchar *addritem_format_email( ItemEMail *email ) {
	gchar *address;
	gchar *name;
	ItemPerson *person;

	address = NULL;
	name = NULL;
	if( ADDRITEM_NAME( email ) ) {
		if( strlen( ADDRITEM_NAME( email ) ) ) {
			name = ADDRITEM_NAME( email );
		}
	}
	if( ! name ) {
		person = ( ItemPerson * ) ADDRITEM_PARENT( email );
		name = ADDRITEM_NAME( person );
	}

	if( name ) {
		if( strchr_with_skip_quote( name, '"', ',' ) ) {
			address = g_strdup_printf( "\"%s\" <%s>", name, email->address );
		}
		else {
			address = g_strdup_printf( "%s <%s>", name, email->address );
		}
	}
	else {
		address = g_strdup_printf( "%s", email->address );
	}
	return address;
}
示例#2
0
static gchar *get_complete_address_from_name_email(const gchar *name, const gchar *email)
{
	gchar *address = NULL;
	if (!name || name[0] == '\0')
		address = g_strdup_printf("<%s>", email);
	else if (strchr_with_skip_quote(name, '"', ','))
		address = g_strdup_printf
			("\"%s\" <%s>", name, email);
	else
		address = g_strdup_printf
			("%s <%s>", name, email);
	return address;
}