qapi: Fix file name in error messages for included files
We print the name as it appears in the include expression. Tools
processing error messages want it relative to the working directory.
Make it so.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
diff --git a/scripts/qapi.py b/scripts/qapi.py
index c2eb12b..716e348 100644
--- a/scripts/qapi.py
+++ b/scripts/qapi.py
@@ -101,14 +101,13 @@
class QAPISchema:
- def __init__(self, fp, fname = None, include_hist = [],
+ def __init__(self, fp, include_hist = [],
previously_included = [], incl_info = None):
""" include_hist is a stack used to detect inclusion cycles
previously_included is a global state used to avoid multiple
inclusions of the same file"""
abs_fname = os.path.abspath(fp.name)
- if fname is None:
- fname = fp.name
+ fname = fp.name
self.fname = fname
self.include_hist = include_hist + [(fname, abs_fname)]
previously_included.append(abs_fname)
@@ -148,7 +147,7 @@
except IOError, e:
raise QAPIExprError(expr_info,
'%s: %s' % (e.strerror, include))
- exprs_include = QAPISchema(fobj, include, self.include_hist,
+ exprs_include = QAPISchema(fobj, self.include_hist,
previously_included, expr_info)
self.exprs.extend(exprs_include.exprs)
else: