[gmime: 2/5] Cleaned up gmime-filter-enriched code a bit
- From: Jeffrey Stedfast <fejj src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gmime: 2/5] Cleaned up gmime-filter-enriched code a bit
- Date: Fri, 14 Apr 2017 15:35:35 +0000 (UTC)
commit 02baf96a30f3892580eaefe327eacc464bdd8014
Author: Jeffrey Stedfast <fejj gnome org>
Date: Fri Apr 14 06:36:22 2017 -0400
Cleaned up gmime-filter-enriched code a bit
gmime/gmime-filter-enriched.c | 27 +++++++++++----------------
1 files changed, 11 insertions(+), 16 deletions(-)
---
diff --git a/gmime/gmime-filter-enriched.c b/gmime/gmime-filter-enriched.c
index 88f643f..5a17a02 100644
--- a/gmime/gmime-filter-enriched.c
+++ b/gmime/gmime-filter-enriched.c
@@ -99,10 +99,6 @@ static struct {
{ "/param", " -->", FALSE, NULL },
};
-#define NUM_ENRICHED_TAGS (sizeof (enriched_tags) / sizeof (enriched_tags[0]))
-
-static GHashTable *enriched_hash = NULL;
-
static void g_mime_filter_enriched_class_init (GMimeFilterEnrichedClass *klass);
static void g_mime_filter_enriched_init (GMimeFilterEnriched *filter, GMimeFilterEnrichedClass *klass);
@@ -158,13 +154,6 @@ g_mime_filter_enriched_class_init (GMimeFilterEnrichedClass *klass)
filter_class->reset = filter_reset;
filter_class->filter = filter_filter;
filter_class->complete = filter_complete;
-
- if (!enriched_hash) {
- enriched_hash = g_hash_table_new (g_mime_strcase_hash, g_mime_strcase_equal);
- for (i = 0; i < NUM_ENRICHED_TAGS; i++)
- g_hash_table_insert (enriched_hash, enriched_tags[i].enriched,
- enriched_tags[i].html);
- }
}
static void
@@ -195,7 +184,7 @@ enriched_tag_needs_param (const char *tag)
{
int i;
- for (i = 0; i < NUM_ENRICHED_TAGS; i++)
+ for (i = 0; i < G_N_ELEMENTS (enriched_tags); i++)
if (!g_ascii_strcasecmp (tag, enriched_tags[i].enriched))
return enriched_tags[i].needs_param;
@@ -290,7 +279,7 @@ param_parse (const char *enriched, const char *inptr, size_t inlen)
{
guint i;
- for (i = 0; i < NUM_ENRICHED_TAGS; i++) {
+ for (i = 0; i < G_N_ELEMENTS (enriched_tags); i++) {
if (!g_ascii_strcasecmp (enriched, enriched_tags[i].enriched))
return enriched_tags[i].parse_param (inptr, inlen);
}
@@ -447,18 +436,24 @@ enriched_to_html (GMimeFilter *filter, char *in, size_t inlen, size_t prespace,
goto backup;
}
} else {
- const char *html_tag;
+ const char *html_tag = NULL;
char *enriched_tag;
size_t len;
+ guint i;
len = inptr - tag;
enriched_tag = g_alloca (len + 1);
memcpy (enriched_tag, tag, len);
enriched_tag[len] = '\0';
- html_tag = g_hash_table_lookup (enriched_hash, enriched_tag);
+ for (i = 0; i < G_N_ELEMENTS (enriched_tags); i++) {
+ if (!g_ascii_strcasecmp (enriched_tag, enriched_tags[i].enriched)) {
+ html_tag = enriched_tags[i].html;
+ break;
+ }
+ }
- if (html_tag) {
+ if (i < G_N_ELEMENTS (enriched_tags)) {
if (html_tag_needs_param (html_tag)) {
const char *start;
char *param;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]