From 599304fb377187eb900261d4eda66de39abaf664 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 15 Nov 2019 12:45:13 -0800 Subject: [PATCH] evince: Fix build with clang MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Enhance the patch for printf format checking to make clang work as well Signed-off-by: Khem Raj Cc: Andreas Müller --- ...002-add-a-formatting-attribute-check.patch | 96 ++++++++++++++++++- 1 file changed, 92 insertions(+), 4 deletions(-) diff --git a/meta-gnome/recipes-gnome/evince/evince/0002-add-a-formatting-attribute-check.patch b/meta-gnome/recipes-gnome/evince/evince/0002-add-a-formatting-attribute-check.patch index e87da90bce..c374fc9430 100644 --- a/meta-gnome/recipes-gnome/evince/evince/0002-add-a-formatting-attribute-check.patch +++ b/meta-gnome/recipes-gnome/evince/evince/0002-add-a-formatting-attribute-check.patch @@ -19,16 +19,104 @@ Signed-off-by: Khem Raj cut-n-paste/unarr/common/unarr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/cut-n-paste/unarr/common/unarr.c b/cut-n-paste/unarr/common/unarr.c -index 97ec92a..9e6e3ad 100644 --- a/cut-n-paste/unarr/common/unarr.c +++ b/cut-n-paste/unarr/common/unarr.c -@@ -92,7 +92,7 @@ size_t ar_get_global_comment(ar_archive *ar, void *buffer, size_t count) +@@ -92,7 +92,7 @@ size_t ar_get_global_comment(ar_archive return ar->get_comment(ar, buffer, count); } -void ar_log(const char *prefix, const char *file, int line, const char *msg, ...) -+void __attribute__((__format__ (__printf__, 4, 0))) ar_log(const char *prefix, const char *file, int line, const char *msg, ...) ++void __attribute__((__format__ (__printf__, 4, 5))) ar_log(const char *prefix, const char *file, int line, const char *msg, ...) { va_list args; va_start(args, msg); +--- a/cut-n-paste/synctex/synctex_parser_utils.c ++++ b/cut-n-paste/synctex/synctex_parser_utils.c +@@ -87,11 +87,11 @@ void _synctex_free(void * ptr) { + # include + #endif + +-int _synctex_error(const char * reason, ...) __attribute__((__format__ (__printf__, 1, 2))); +-int _synctex_log(int level, const char * prompt, const char * reason, va_list arg) __attribute__((__format__ (__printf__, 3, 0))); +- +-int _synctex_log(int level, const char * prompt, const char * reason,va_list arg) { ++static int _synctex_log(int level, const char * prompt, const char * reason, ...) SYNCTEX_PRINTF_FORMAT(3, 0); ++static int _synctex_log(int level, const char * prompt, const char * reason, ...) { ++ va_list arg; + int result; ++ va_start(arg, reason); + # ifdef SYNCTEX_RECENT_WINDOWS + {/* This code is contributed by William Blum. + As it does not work on some older computers, +@@ -133,10 +133,10 @@ int _synctex_log(int level, const char * + result += vfprintf(where, reason, arg); + result += fprintf(where,"\n"); + # endif ++ va_end(arg); + return result; + } + +-__attribute__((__format__ (__printf__, 1, 0))) + int _synctex_error(const char * reason,...) { + va_list arg; + int result; +@@ -355,6 +355,7 @@ char * _synctex_merge_strings(const char + size_t len = strlen(temp); + if(UINT_MAX-len