qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH v2 1/2] qapi: Allow decimal values


From: Fam Zheng
Subject: [Qemu-devel] [PATCH v2 1/2] qapi: Allow decimal values
Date: Tue, 29 Apr 2014 17:44:15 +0800

This allows giving decimal constants in the schema as expr.

Signed-off-by: Fam Zheng <address@hidden>
---
 scripts/qapi.py | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/scripts/qapi.py b/scripts/qapi.py
index b474c39..6022de5 100644
--- a/scripts/qapi.py
+++ b/scripts/qapi.py
@@ -108,6 +108,14 @@ class QAPISchema:
                         return
                     else:
                         string += ch
+            elif self.tok in "123456789":
+                self.val = int(self.tok)
+                while True:
+                    ch = self.src[self.cursor]
+                    if ch not in "1234567890":
+                        return
+                    self.val = self.val * 10 + int(ch)
+                    self.cursor += 1
             elif self.tok == '\n':
                 if self.cursor == len(self.src):
                     self.tok = None
@@ -147,8 +155,8 @@ class QAPISchema:
         if self.tok == ']':
             self.accept()
             return expr
-        if not self.tok in [ '{', '[', "'" ]:
-            raise QAPISchemaError(self, 'Expected "{", "[", "]" or string')
+        if not self.tok in "{['123456789":
+            raise QAPISchemaError(self, 'Expected "{", "[", "]", string or 
number')
         while True:
             expr.append(self.get_expr(True))
             if self.tok == ']':
@@ -170,6 +178,9 @@ class QAPISchema:
         elif self.tok == "'":
             expr = self.val
             self.accept()
+        elif self.tok in "123456789":
+            expr = self.val
+            self.accept()
         else:
             raise QAPISchemaError(self, 'Expected "{", "[" or string')
         return expr
-- 
1.9.2




reply via email to

[Prev in Thread] Current Thread [Next in Thread]