[gmime: 3/5] Don't use g_snprintf in gmime-filter-enriched.c
- From: Jeffrey Stedfast <fejj src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gmime: 3/5] Don't use g_snprintf in gmime-filter-enriched.c
- Date: Fri, 14 Apr 2017 15:35:40 +0000 (UTC)
commit 28bbbd854e5e41db00b7132f6c6123ba1af26466
Author: Jeffrey Stedfast <fejj gnome org>
Date: Fri Apr 14 08:28:27 2017 -0400
Don't use g_snprintf in gmime-filter-enriched.c
Apparently this causes errors when used with
-Werror=format-nonliteral
gmime/gmime-filter-enriched.c | 14 +++++++++++---
1 files changed, 11 insertions(+), 3 deletions(-)
---
diff --git a/gmime/gmime-filter-enriched.c b/gmime/gmime-filter-enriched.c
index 5a17a02..d146211 100644
--- a/gmime/gmime-filter-enriched.c
+++ b/gmime/gmime-filter-enriched.c
@@ -436,7 +436,7 @@ enriched_to_html (GMimeFilter *filter, char *in, size_t inlen, size_t prespace,
goto backup;
}
} else {
- const char *html_tag = NULL;
+ const char *fmt, *html_tag = NULL;
char *enriched_tag;
size_t len;
guint i;
@@ -454,7 +454,7 @@ enriched_to_html (GMimeFilter *filter, char *in, size_t inlen, size_t prespace,
}
if (i < G_N_ELEMENTS (enriched_tags)) {
- if (html_tag_needs_param (html_tag)) {
+ if ((fmt = strstr (html_tag, "%s")) != NULL) {
const char *start;
char *param;
@@ -499,7 +499,15 @@ enriched_to_html (GMimeFilter *filter, char *in, size_t inlen, size_t prespace,
len += strlen (html_tag);
if ((outptr + len) < outend) {
- outptr += g_snprintf (outptr, len, html_tag, param);
+ size_t n = (size_t) (fmt - html_tag);
+
+ memcpy (outptr, html_tag, n);
+ outptr += n;
+ fmt += 2;
+
+ outptr = g_stpcpy (outptr, param);
+ outptr = g_stpcpy (outptr, fmt);
+
g_free (param);
} else {
g_free (param);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]