Revision 8f91ad8a scripts/qapi-commands.py

b/scripts/qapi-commands.py
128 128

  
129 129
def gen_visitor_input_block(args, obj, dealloc=False):
130 130
    ret = ""
131
    errparg = 'errp'
132

  
131 133
    if len(args) == 0:
132 134
        return ret
133 135

  
134 136
    push_indent()
135 137

  
136 138
    if dealloc:
139
        errparg = 'NULL'
137 140
        ret += mcgen('''
138 141
md = qapi_dealloc_visitor_new();
139 142
v = qapi_dealloc_get_visitor(md);
......
148 151
    for argname, argtype, optional, structured in parse_args(args):
149 152
        if optional:
150 153
            ret += mcgen('''
151
visit_start_optional(v, &has_%(c_name)s, "%(name)s", errp);
154
visit_start_optional(v, &has_%(c_name)s, "%(name)s", %(errp)s);
152 155
if (has_%(c_name)s) {
153 156
''',
154
                         c_name=c_var(argname), name=argname)
157
                         c_name=c_var(argname), name=argname, errp=errparg)
155 158
            push_indent()
156 159
        ret += mcgen('''
157
%(visitor)s(v, &%(c_name)s, "%(name)s", errp);
160
%(visitor)s(v, &%(c_name)s, "%(name)s", %(errp)s);
158 161
''',
159 162
                     c_name=c_var(argname), name=argname, argtype=argtype,
160
                     visitor=type_visitor(argtype))
163
                     visitor=type_visitor(argtype), errp=errparg)
161 164
        if optional:
162 165
            pop_indent()
163 166
            ret += mcgen('''
164 167
}
165
visit_end_optional(v, errp);
166
''')
168
visit_end_optional(v, %(errp)s);
169
''', errp=errparg)
167 170

  
168 171
    if dealloc:
169 172
        ret += mcgen('''
......
194 197
    }
195 198
    qmp_output_visitor_cleanup(mo);
196 199
    v = qapi_dealloc_get_visitor(md);
197
    %(visitor)s(v, &ret_in, "unused", errp);
200
    %(visitor)s(v, &ret_in, "unused", NULL);
198 201
    qapi_dealloc_visitor_cleanup(md);
199 202
}
200 203
''',

Also available in: Unified diff