From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50995) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZtcCx-0008Hr-Ru for qemu-devel@nongnu.org; Tue, 03 Nov 2015 09:05:08 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZtcCs-0005at-5P for qemu-devel@nongnu.org; Tue, 03 Nov 2015 09:05:07 -0500 Received: from mx1.redhat.com ([209.132.183.28]:54940) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZtcCr-0005aa-WB for qemu-devel@nongnu.org; Tue, 03 Nov 2015 09:05:02 -0500 From: Markus Armbruster Date: Tue, 3 Nov 2015 15:04:56 +0100 Message-Id: <1446559499-26984-4-git-send-email-armbru@redhat.com> In-Reply-To: <1446559499-26984-1-git-send-email-armbru@redhat.com> References: <87611jjq98.fsf@blackfin.pond.sub.org> <1446559499-26984-1-git-send-email-armbru@redhat.com> Subject: [Qemu-devel] [PATCH 4/7] qapi: Fix up commit 7618b91's clash sanity checking change List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: mdroth@linux.vnet.ibm.com This hunk @@ -964,6 +965,7 @@ class QAPISchemaObjectType(QAPISchemaType): members = [] seen = {} for m in members: + assert c_name(m.name) not in seen seen[m.name] = m for m in self.local_members: m.check(schema, members, seen) is plainly broken. Asserting the members inherited from base don't clash is somewhat redundant, because self.base.check() just checked that. But it doesn't hurt. The idea to use c_name(m.name) instead of m.name for collision checking is sound, because we need to catch clashes between the m.name and between the c_name(m.name), and when two m.name clash, then their c_name() also clash. However, using c_name(m.name) instead of m.name in one of several places doesn't work. See the very next line. Keep the assertion, but drop the c_name() for now. A future commit will bring it back. Signed-off-by: Markus Armbruster --- scripts/qapi.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/qapi.py b/scripts/qapi.py index 7f8af41..a6fdd76 100644 --- a/scripts/qapi.py +++ b/scripts/qapi.py @@ -987,7 +987,7 @@ class QAPISchemaObjectType(QAPISchemaType): members = [] seen = {} for m in members: - assert c_name(m.name) not in seen + assert m.name not in seen seen[m.name] = m for m in self.local_members: m.check(schema) -- 2.4.3