File vte-support-gperf-31.patch of Package vte.29088

From 9fa64b566c9764235a6d3878b9755e2bffd6d852 Mon Sep 17 00:00:00 2001
From: Christian Persch <chpe@gnome.org>
Date: Sun, 29 Jan 2017 17:21:03 +0100
Subject: [PATCH] emulation: Try to work with newer gperf

Use language=C++ in gperf.

https://bugzilla.gnome.org/show_bug.cgi?id=777904
(cherry picked from commit 1226f58cd97aa06f0ce58791153ca1f58e89658a)
---
 src/vteseq-n.gperf |  7 ++++---
 src/vteseq.cc      | 11 +++--------
 2 files changed, 7 insertions(+), 11 deletions(-)

diff --git a/src/vteseq-n.gperf b/src/vteseq-n.gperf
index f060c9820..573f04517 100644
--- a/src/vteseq-n.gperf
+++ b/src/vteseq-n.gperf
@@ -1,13 +1,14 @@
 /* run "make gperf" after modifying this file */
 
 %struct-type
-%language=ANSI-C
+%language=C++
 %includes
 %enum
 %readonly-tables
+%define class-name vteseq_n_hash
 %define slot-name seq
-%define hash-function-name vteseq_n_hash
-%define lookup-function-name vteseq_n_lookup
+%define hash-function-name hash
+%define lookup-function-name lookup
 
 %compare-lengths
 %pic
diff --git a/src/vteseq.cc b/src/vteseq.cc
index 2330939d8..25e697b8c 100644
--- a/src/vteseq.cc
+++ b/src/vteseq.cc
@@ -3407,23 +3407,18 @@ vte_sequence_handler_iterm2_1337(VteTerminalPrivate *that, GValueArray *params)
 /* Lookup tables */
 
 #define VTE_SEQUENCE_HANDLER(name) name
-
-static const struct vteseq_n_struct *
-vteseq_n_lookup (register const char *str, register unsigned int len);
-#include"vteseq-n.cc"
-
+#include "vteseq-n.cc"
 #undef VTE_SEQUENCE_HANDLER
 
 static VteTerminalSequenceHandler
 _vte_sequence_get_handler (const char *name)
 {
-	int len = strlen (name);
+	size_t len = strlen(name);
 
 	if (G_UNLIKELY (len < 2)) {
 		return NULL;
 	} else {
-		const struct vteseq_n_struct *seqhandler;
-		seqhandler = vteseq_n_lookup (name, len);
+		auto seqhandler = vteseq_n_hash::lookup (name, len);
 		return seqhandler ? seqhandler->handler : NULL;
 	}
 }
-- 
GitLab

openSUSE Build Service is sponsored by