From: Daniel P. Berrangé Date: Mon, 20 Sep 2021 16:24:45 +0000 (+0100) Subject: scripts: fix API parsing of *** pointers X-Git-Tag: v7.8.0-rc1~107 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=81b63c3d78ce2e275558811f6bd10de6c90c8726;p=thirdparty%2Flibvirt.git scripts: fix API parsing of *** pointers The currrent generated API contains *** pointer types with bogus whitespace in the middle: because the tokenizer only tries to merge 2 distinct '*' together. This refactors the code to merge an arbitrary number, resulting in Reviewed-by: Michal Privoznik Signed-off-by: Daniel P. Berrangé --- diff --git a/scripts/apibuild.py b/scripts/apibuild.py index b94c0f6c09..722fd33f0e 100755 --- a/scripts/apibuild.py +++ b/scripts/apibuild.py @@ -603,13 +603,12 @@ class CLexer: i = i + 3 continue - j = i + 1 - if j < nline and line[j] in "+-*><=/%&!|": - self.tokens.append(('op', line[i:j + 1])) - i = j + 1 - else: - self.tokens.append(('op', line[i])) - i = i + 1 + j = i + while (j + 1) < nline and line[j+1] in "+-*><=/%&!|": + j = j + 1 + + self.tokens.append(('op', line[i:j+1])) + i = j + 1 continue s = i while i < nline: