aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authoreli.bendersky <devnull@localhost>2011-07-16 06:43:20 +0300
committereli.bendersky <devnull@localhost>2011-07-16 06:43:20 +0300
commit1bd6c17d15eb2e4942589b5beeaadaca096c9027 (patch)
tree4b542f3ea6707908751a8bac71536f2ba810b19a /examples
parent51da62f5c07e6a6e6a4bae42f282b9cdeb7c9048 (diff)
downloadpycparser-1bd6c17d15eb2e4942589b5beeaadaca096c9027.tar.gz
1. remove redundant code
2. fix spacing issue in empty type declarations
Diffstat (limited to 'examples')
-rw-r--r--examples/c-to-c.py15
-rw-r--r--examples/tests/test_c-to-c.py8
2 files changed, 12 insertions, 11 deletions
diff --git a/examples/c-to-c.py b/examples/c-to-c.py
index 5b22ddf..93de0aa 100644
--- a/examples/c-to-c.py
+++ b/examples/c-to-c.py
@@ -147,16 +147,6 @@ class CGenerator(object):
s += ', '
s += '}'
return s
-
- def visit_Struct(self, n):
- s = 'struct'
- if n.name: s += ' ' + n.name
- if n.decls:
- s += ' { \n'
- for decl in n.decls:
- s += ' ' + self.visit(decl) + ';\n'
- s += '}'
- return s
def visit_FuncDef(self, n):
decl = self.visit(n.decl)
@@ -362,7 +352,7 @@ class CGenerator(object):
nstr += '(' + self.visit(modifier.args) + ')'
elif isinstance(modifier, c_ast.PtrDecl):
nstr = '*' + nstr
- s += ' ' + nstr
+ if nstr: s += ' ' + nstr
return s
elif typ == c_ast.Decl:
return self._generate_decl(n.type)
@@ -407,6 +397,9 @@ def translate_to_c(filename):
def zz_test_translate():
# internal use
src = r'''
+
+ void f(void){}
+
int main(void)
{
int a;
diff --git a/examples/tests/test_c-to-c.py b/examples/tests/test_c-to-c.py
index f9f9aa3..cba62f5 100644
--- a/examples/tests/test_c-to-c.py
+++ b/examples/tests/test_c-to-c.py
@@ -84,6 +84,14 @@ class TestCtoC(unittest.TestCase):
return a;
}''')
+ def test_struct_decl(self):
+ self._assert_ctoc_correct(r'''
+ typedef struct node_t {
+ struct node_t* next;
+ int data;
+ } node;
+ ''')
+
def test_issue36(self):
self._assert_ctoc_correct(r'''
int main() {