From 77c5b793c9f6433884e8c0d1bbe37db4f0db09b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Marjam=C3=A4ki?= Date: Fri, 1 Jan 2010 13:26:54 +0100 Subject: [PATCH] Fixed #1196 (Hang: Cppcheck hang for the file linux-2.6/drivers/crypto/hifn_795x.c) --- lib/tokenize.cpp | 3 ++- test/testtokenize.cpp | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/tokenize.cpp b/lib/tokenize.cpp index 544d5f5ab..3915fb30a 100644 --- a/lib/tokenize.cpp +++ b/lib/tokenize.cpp @@ -3118,7 +3118,8 @@ void Tokenizer::simplifyFunctionParameters() } } - tok = tok ? tok->link() : 0; + if (Token::simpleMatch(tok, "{")) + tok = tok->link(); if (tok == NULL) { diff --git a/test/testtokenize.cpp b/test/testtokenize.cpp index e8341aae4..79d1a7cde 100644 --- a/test/testtokenize.cpp +++ b/test/testtokenize.cpp @@ -1939,6 +1939,11 @@ private: ASSERT_EQUALS(code, tokenizeAndStringify(code, true)); } + { + const char code[] = "module ( a , a , sizeof ( a ) , 0444 ) ;"; + ASSERT_EQUALS(code, tokenizeAndStringify(code, true)); + } + ASSERT_EQUALS("void f ( int x ) { }", tokenizeAndStringify("void f(x) int x; { }", true)); ASSERT_EQUALS("void f ( int x , char y ) { }", tokenizeAndStringify("void f(x,y) int x; char y; { }", true));