[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [kde-workspace/previewsoc13] kcontrol/keyboard/preview: ascii -> iso8859_1 encoding for space type t
From:       shivam makkar <amourphious1992 () gmail ! com>
Date:       2013-08-17 17:13:52
Message-ID: E1VAk4W-000871-VW () scm ! kde ! org
[Download RAW message or body]

Git commit 8c93db8b7d1037a991ca2d5200ffba7fec375a68 by shivam makkar.
Committed on 17/08/2013 at 17:13.
Pushed by makkar into branch 'previewsoc13'.

ascii -> iso8859_1 encoding for space type to avoid crash

M  +1    -1    kcontrol/keyboard/preview/geometry_parser.cpp
M  +41   -39   kcontrol/keyboard/preview/geometry_parser.h
M  +1    -1    kcontrol/keyboard/preview/symbol_parser.cpp
M  +14   -12   kcontrol/keyboard/preview/symbol_parser.h

http://commits.kde.org/kde-workspace/8c93db8b7d1037a991ca2d5200ffba7fec375a68

diff --git a/kcontrol/keyboard/preview/geometry_parser.cpp b/kcontrol/keyboard/preview/geometry_parser.cpp
index d5bcd41..7968242 100644
--- a/kcontrol/keyboard/preview/geometry_parser.cpp
+++ b/kcontrol/keyboard/preview/geometry_parser.cpp
@@ -441,7 +441,7 @@ template<typename Iterator>
 
 
     Geometry parseGeometry(QString model){
-        using boost::spirit::ascii::space;
+        using boost::spirit::iso8859_1::space;
         typedef std::string::const_iterator iterator_type;
         typedef grammar::Geometry_parser<iterator_type> Geometry_parser;
         Geometry_parser g;
diff --git a/kcontrol/keyboard/preview/geometry_parser.h b/kcontrol/keyboard/preview/geometry_parser.h
index fcb5617..9beed17 100644
--- a/kcontrol/keyboard/preview/geometry_parser.h
+++ b/kcontrol/keyboard/preview/geometry_parser.h
@@ -12,6 +12,7 @@
 #include <boost/spirit/include/phoenix_function.hpp>
 #include <boost/spirit/include/phoenix_statement.hpp>
 #include <boost/spirit/include/phoenix_bind.hpp>
+#include <boost/spirit/home/support/char_encoding/iso8859_1.hpp>
 
 #include <iostream>
 #include <QtCore/QDebug>
@@ -21,6 +22,7 @@
 namespace qi = boost::spirit::qi;
 namespace ascii = boost::spirit::ascii;
 namespace phx = boost::phoenix;
+namespace iso = boost::spirit::iso8859_1;
 
 
 namespace grammar{
@@ -30,45 +32,45 @@ namespace grammar{
   };
   
   template<typename Iterator>
-  struct Geometry_parser :qi::grammar<Iterator, ascii::space_type>{
-    qi::rule<Iterator, std::string(), ascii::space_type>name;
-    qi::rule<Iterator, std::string(), ascii::space_type>description;
-    qi::rule<Iterator, std::string(), ascii::space_type>in;
-    qi::rule<Iterator, int(), ascii::space_type>setap;
-    qi::rule<Iterator, std::string(), ascii::space_type>info;
-    qi::rule<Iterator, std::string(), ascii::space_type>keyName;
-    qi::rule<Iterator, std::string(), ascii::space_type>keyShape;
-    qi::rule<Iterator, std::string(), ascii::space_type>keyColor;
-    qi::rule<Iterator, std::string(), ascii::space_type>keyDesc;
-    qi::rule<Iterator, std::string(), ascii::space_type>keys;
-    qi::rule<Iterator, std::string(), ascii::space_type>row;
-    qi::rule<Iterator, std::string(), ascii::space_type>geomShape;
-    qi::rule<Iterator, std::string(), ascii::space_type>section;
-    qi::rule<Iterator, std::string(), ascii::space_type>localShape;
-    qi::rule<Iterator, std::string(), ascii::space_type>localColor;
-    qi::rule<Iterator, std::string(), ascii::space_type>comments,ignore;
-    qi::rule<Iterator, double(), ascii::space_type>localDimension,priority;
-    qi::rule<Iterator, double(), ascii::space_type>keygap;
-    qi::rule<Iterator, int(), ascii::space_type>cordinatea;
-    qi::rule<Iterator, int(), ascii::space_type>geomTop,geomVertical;
-    qi::rule<Iterator, int(), ascii::space_type>geomLeft;
-    qi::rule<Iterator, int(), ascii::space_type>geomRowTop;
-    qi::rule<Iterator, int(), ascii::space_type>geomRowLeft;
-    qi::rule<Iterator, int(), ascii::space_type>geomGap;
-    qi::rule<Iterator, int(), ascii::space_type>geomAtt;
-    qi::rule<Iterator, int(), ascii::space_type>angle;
-    qi::rule<Iterator, int(), ascii::space_type>top;
-    qi::rule<Iterator, int(), ascii::space_type>left;
-    qi::rule<Iterator, int(), ascii::space_type>width;
-    qi::rule<Iterator, int(), ascii::space_type>height;
-    qi::rule<Iterator, int(), ascii::space_type>cordinates;
-    qi::rule<Iterator, int(), ascii::space_type>set;
-    qi::rule<Iterator, int(), ascii::space_type>seta;
-    qi::rule<Iterator, int(), ascii::space_type>shape;
-    qi::rule<Iterator, int(), ascii::space_type>shapeDef;
-    qi::rule<Iterator, int(), ascii::space_type>shapeC;
-    qi::rule<Iterator, int(), ascii::space_type>cornerRadius;
-    qi::rule<Iterator, ascii::space_type>start;
+  struct Geometry_parser :qi::grammar<Iterator, iso::space_type>{
+    qi::rule<Iterator, std::string(), iso::space_type>name;
+    qi::rule<Iterator, std::string(), iso::space_type>description;
+    qi::rule<Iterator, std::string(), iso::space_type>in;
+    qi::rule<Iterator, int(), iso::space_type>setap;
+    qi::rule<Iterator, std::string(), iso::space_type>info;
+    qi::rule<Iterator, std::string(), iso::space_type>keyName;
+    qi::rule<Iterator, std::string(), iso::space_type>keyShape;
+    qi::rule<Iterator, std::string(), iso::space_type>keyColor;
+    qi::rule<Iterator, std::string(), iso::space_type>keyDesc;
+    qi::rule<Iterator, std::string(), iso::space_type>keys;
+    qi::rule<Iterator, std::string(), iso::space_type>row;
+    qi::rule<Iterator, std::string(), iso::space_type>geomShape;
+    qi::rule<Iterator, std::string(), iso::space_type>section;
+    qi::rule<Iterator, std::string(), iso::space_type>localShape;
+    qi::rule<Iterator, std::string(), iso::space_type>localColor;
+    qi::rule<Iterator, std::string(), iso::space_type>comments,ignore;
+    qi::rule<Iterator, double(), iso::space_type>localDimension,priority;
+    qi::rule<Iterator, double(), iso::space_type>keygap;
+    qi::rule<Iterator, int(), iso::space_type>cordinatea;
+    qi::rule<Iterator, int(), iso::space_type>geomTop,geomVertical;
+    qi::rule<Iterator, int(), iso::space_type>geomLeft;
+    qi::rule<Iterator, int(), iso::space_type>geomRowTop;
+    qi::rule<Iterator, int(), iso::space_type>geomRowLeft;
+    qi::rule<Iterator, int(), iso::space_type>geomGap;
+    qi::rule<Iterator, int(), iso::space_type>geomAtt;
+    qi::rule<Iterator, int(), iso::space_type>angle;
+    qi::rule<Iterator, int(), iso::space_type>top;
+    qi::rule<Iterator, int(), iso::space_type>left;
+    qi::rule<Iterator, int(), iso::space_type>width;
+    qi::rule<Iterator, int(), iso::space_type>height;
+    qi::rule<Iterator, int(), iso::space_type>cordinates;
+    qi::rule<Iterator, int(), iso::space_type>set;
+    qi::rule<Iterator, int(), iso::space_type>seta;
+    qi::rule<Iterator, int(), iso::space_type>shape;
+    qi::rule<Iterator, int(), iso::space_type>shapeDef;
+    qi::rule<Iterator, int(), iso::space_type>shapeC;
+    qi::rule<Iterator, int(), iso::space_type>cornerRadius;
+    qi::rule<Iterator, iso::space_type>start;
     Geometry geom;
     keywords kw;
     double x,y,ax,ay,cx,cy,off;
diff --git a/kcontrol/keyboard/preview/symbol_parser.cpp b/kcontrol/keyboard/preview/symbol_parser.cpp
index 81ca951..381663d 100644
--- a/kcontrol/keyboard/preview/symbol_parser.cpp
+++ b/kcontrol/keyboard/preview/symbol_parser.cpp
@@ -183,7 +183,7 @@ QString findLayout(const QString& layout, const QString& layoutVariant){
 }
 
 KbLayout parseSymbols(const QString& layout, const QString& layoutVariant){
-    using boost::spirit::ascii::space;
+    using boost::spirit::iso8859_1::space;
     typedef std::string::const_iterator iterator_type;
     typedef grammar::Symbol_parser<iterator_type> Symbol_parser;
     Symbol_parser s;
diff --git a/kcontrol/keyboard/preview/symbol_parser.h b/kcontrol/keyboard/preview/symbol_parser.h
index 7ce682d..0c94f55 100644
--- a/kcontrol/keyboard/preview/symbol_parser.h
+++ b/kcontrol/keyboard/preview/symbol_parser.h
@@ -12,6 +12,7 @@
 #include <boost/spirit/include/phoenix_function.hpp>
 #include <boost/spirit/include/phoenix_statement.hpp>
 #include <boost/spirit/include/phoenix_bind.hpp>
+#include <boost/spirit/home/support/char_encoding/iso8859_1.hpp>
 
 #include <iostream>
 #include <QtCore/QDebug>
@@ -22,6 +23,7 @@
 namespace qi = boost::spirit::qi;
 namespace ascii = boost::spirit::ascii;
 namespace phx = boost::phoenix;
+namespace iso = boost::spirit::iso8859_1;
 
 namespace grammar {
 
@@ -30,20 +32,20 @@ namespace grammar {
     };
 
     template<typename Iterator>
-    struct Symbol_parser : qi::grammar<Iterator, ascii::space_type>{
+    struct Symbol_parser : qi::grammar<Iterator, iso::space_type>{
 
         Symbol_parser();
-        qi::rule<Iterator, std::string(), ascii::space_type>name;
-        qi::rule<Iterator, std::string(), ascii::space_type>keyName;
-        qi::rule<Iterator, std::string(), ascii::space_type>symbols;
-        qi::rule<Iterator, std::string(), ascii::space_type>key;
-        qi::rule<Iterator, std::string(), ascii::space_type>type;
-        qi::rule<Iterator, std::string(), ascii::space_type>group;
-        qi::rule<Iterator, std::string(), ascii::space_type>symbol;
-        qi::rule<Iterator,  ascii::space_type>start;
-        qi::rule<Iterator, std::string(), ascii::space_type>comments;
-        qi::rule<Iterator, std::string(), ascii::space_type>ee;
-        qi::rule<Iterator, std::string(), ascii::space_type>include;
+        qi::rule<Iterator, std::string(), iso::space_type>name;
+        qi::rule<Iterator, std::string(), iso::space_type>keyName;
+        qi::rule<Iterator, std::string(), iso::space_type>symbols;
+        qi::rule<Iterator, std::string(), iso::space_type>key;
+        qi::rule<Iterator, std::string(), iso::space_type>type;
+        qi::rule<Iterator, std::string(), iso::space_type>group;
+        qi::rule<Iterator, std::string(), iso::space_type>symbol;
+        qi::rule<Iterator,  iso::space_type>start;
+        qi::rule<Iterator, std::string(), iso::space_type>comments;
+        qi::rule<Iterator, std::string(), iso::space_type>ee;
+        qi::rule<Iterator, std::string(), iso::space_type>include;
 
         KbLayout layout;
         int keyIndex, newKey;
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic