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