@@ -179,13 +179,14 @@ _free(FilterXExpr *s)
179
179
filterx_expr_free_method (s );
180
180
}
181
181
182
+ /* Takes reference of object and new_value */
182
183
FilterXExpr *
183
- filterx_nullv_setattr_new (FilterXExpr * object , FilterXString * attr_name , FilterXExpr * new_value )
184
+ filterx_setattr_new (FilterXExpr * object , FilterXString * attr_name , FilterXExpr * new_value )
184
185
{
185
186
FilterXSetAttr * self = g_new0 (FilterXSetAttr , 1 );
186
187
187
- filterx_expr_init_instance (& self -> super , "nullv_setattr " );
188
- self -> super .eval = _nullv_setattr_eval ;
188
+ filterx_expr_init_instance (& self -> super , "setattr " );
189
+ self -> super .eval = _setattr_eval ;
189
190
self -> super .optimize = _optimize ;
190
191
self -> super .init = _init ;
191
192
self -> super .deinit = _deinit ;
@@ -196,28 +197,17 @@ filterx_nullv_setattr_new(FilterXExpr *object, FilterXString *attr_name, FilterX
196
197
197
198
self -> new_value = new_value ;
198
199
self -> super .ignore_falsy_result = TRUE;
200
+
199
201
/* NOTE: name borrows the string value from the string object */
200
202
self -> super .name = filterx_string_get_value_ref (self -> attr , NULL );
201
203
return & self -> super ;
202
204
}
203
205
204
- /* Takes reference of object and new_value */
205
206
FilterXExpr *
206
- filterx_setattr_new (FilterXExpr * object , FilterXString * attr_name , FilterXExpr * new_value )
207
+ filterx_nullv_setattr_new (FilterXExpr * object , FilterXString * attr_name , FilterXExpr * new_value )
207
208
{
208
- FilterXSetAttr * self = g_new0 (FilterXSetAttr , 1 );
209
-
210
- filterx_expr_init_instance (& self -> super , "setattr" );
211
- self -> super .eval = _setattr_eval ;
212
- self -> super .optimize = _optimize ;
213
- self -> super .init = _init ;
214
- self -> super .deinit = _deinit ;
215
- self -> super .free_fn = _free ;
216
- self -> object = object ;
217
-
218
- self -> attr = (FilterXObject * ) attr_name ;
219
-
220
- self -> new_value = new_value ;
221
- self -> super .ignore_falsy_result = TRUE;
222
- return & self -> super ;
209
+ FilterXExpr * self = filterx_setattr_new (object , attr_name , new_value );
210
+ self -> type = "nullv_setattr" ;
211
+ self -> eval = _nullv_setattr_eval ;
212
+ return self ;
223
213
}
0 commit comments