[vte] emulation: Try to work with newer gperf



commit 1226f58cd97aa06f0ce58791153ca1f58e89658a
Author: Christian Persch <chpe gnome org>
Date:   Sun Jan 29 17:21:03 2017 +0100

    emulation: Try to work with newer gperf
    
    Use language=C++ in gperf.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=777904

 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 f060c98..573f045 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 2330939..25e697b 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;
        }
 }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]