@@ -164,10 +164,9 @@ static PyObject* rapidxml_NodeObject_last_attribute(rapidxml_NodeObject* self,
164164static PyObject* rapidxml_NodeObject_prepend_node (rapidxml_NodeObject* self,
165165 PyObject* args,
166166 PyObject* kwds) {
167- char kw_node[] = " node" ;
168167 PyObject* node = NULL ;
169168
170- static char * kwlist[] = {kw_node , NULL };
169+ static char * kwlist[] = {" node " , NULL };
171170 if (!PyArg_ParseTupleAndKeywords (args, kwds, " O" , kwlist,
172171 &node)) {
173172 return NULL ;
@@ -186,10 +185,9 @@ static PyObject* rapidxml_NodeObject_prepend_node(rapidxml_NodeObject* self,
186185static PyObject* rapidxml_NodeObject_append_node (rapidxml_NodeObject* self,
187186 PyObject* args,
188187 PyObject* kwds) {
189- char kw_node[] = " node" ;
190188 PyObject* node = NULL ;
191189
192- static char * kwlist[] = {kw_node , NULL };
190+ static char * kwlist[] = {" node " , NULL };
193191 if (!PyArg_ParseTupleAndKeywords (args, kwds, " O" , kwlist,
194192 &node)) {
195193 return NULL ;
@@ -208,12 +206,10 @@ static PyObject* rapidxml_NodeObject_append_node(rapidxml_NodeObject* self,
208206static PyObject* rapidxml_NodeObject_insert_node (rapidxml_NodeObject* self,
209207 PyObject* args,
210208 PyObject* kwds) {
211- char kw_where[] = " where" ;
212- char kw_node[] = " node" ;
213209 PyObject* where = NULL ;
214210 PyObject* node = NULL ;
215211
216- static char * kwlist[] = {kw_where, kw_node , NULL };
212+ static char * kwlist[] = {" where " , " node " , NULL };
217213 if (!PyArg_ParseTupleAndKeywords (args, kwds, " OO" , kwlist,
218214 &where, &node)) {
219215 return NULL ;
@@ -254,10 +250,9 @@ static PyObject* rapidxml_NodeObject_remove_last_node(rapidxml_NodeObject* self,
254250static PyObject* rapidxml_NodeObject_remove_node (rapidxml_NodeObject* self,
255251 PyObject* args,
256252 PyObject* kwds) {
257- char kw_node[] = " node" ;
258253 PyObject* node = NULL ;
259254
260- static char * kwlist[] = {kw_node , NULL };
255+ static char * kwlist[] = {" node " , NULL };
261256 if (!PyArg_ParseTupleAndKeywords (args, kwds, " O" , kwlist,
262257 &node)) {
263258 return NULL ;
@@ -284,10 +279,9 @@ static PyObject* rapidxml_NodeObject_remove_all_nodes(rapidxml_NodeObject* self,
284279static PyObject* rapidxml_NodeObject_prepend_attribute (rapidxml_NodeObject* self,
285280 PyObject* args,
286281 PyObject* kwds) {
287- char kw_attribute[] = " attribute" ;
288282 PyObject* attribute = NULL ;
289283
290- static char * kwlist[] = {kw_attribute , NULL };
284+ static char * kwlist[] = {" attribute " , NULL };
291285 if (!PyArg_ParseTupleAndKeywords (args, kwds, " O" , kwlist,
292286 &attribute)) {
293287 return NULL ;
@@ -306,10 +300,9 @@ static PyObject* rapidxml_NodeObject_prepend_attribute(rapidxml_NodeObject* self
306300static PyObject* rapidxml_NodeObject_append_attribute (rapidxml_NodeObject* self,
307301 PyObject* args,
308302 PyObject* kwds) {
309- char kw_attribute[] = " attribute" ;
310303 PyObject* attribute = NULL ;
311304
312- static char * kwlist[] = {kw_attribute , NULL };
305+ static char * kwlist[] = {" attribute " , NULL };
313306 if (!PyArg_ParseTupleAndKeywords (args, kwds, " O" , kwlist,
314307 &attribute)) {
315308 return NULL ;
@@ -328,12 +321,10 @@ static PyObject* rapidxml_NodeObject_append_attribute(rapidxml_NodeObject* self,
328321static PyObject* rapidxml_NodeObject_insert_attribute (rapidxml_NodeObject* self,
329322 PyObject* args,
330323 PyObject* kwds) {
331- char kw_where[] = " where" ;
332- char kw_attribute[] = " attribute" ;
333324 PyObject* where = NULL ;
334325 PyObject* attribute = NULL ;
335326
336- static char * kwlist[] = {kw_where, kw_attribute , NULL };
327+ static char * kwlist[] = {" where " , " attribute " , NULL };
337328 if (!PyArg_ParseTupleAndKeywords (args, kwds, " OO" , kwlist,
338329 &where, &attribute)) {
339330 return NULL ;
@@ -374,10 +365,9 @@ static PyObject* rapidxml_NodeObject_remove_last_attribute(rapidxml_NodeObject*
374365static PyObject* rapidxml_NodeObject_remove_attribute (rapidxml_NodeObject* self,
375366 PyObject* args,
376367 PyObject* kwds) {
377- char kw_attribute[] = " attribute" ;
378368 PyObject* attribute = NULL ;
379369
380- static char * kwlist[] = {kw_attribute , NULL };
370+ static char * kwlist[] = {" attribute " , NULL };
381371 if (!PyArg_ParseTupleAndKeywords (args, kwds, " O" , kwlist,
382372 &attribute)) {
383373 return NULL ;
@@ -401,27 +391,16 @@ static PyObject* rapidxml_NodeObject_remove_all_attributes(rapidxml_NodeObject*
401391 return Py_None;
402392}
403393
404- static PyObject* rapidxml_NodeObject_unparse (rapidxml_NodeObject* self,
405- PyObject* args,
406- PyObject* kwds) {
407- PyObject* pretty_obj = NULL ;
408- PyObject* raw_obj = NULL ;
409- PyObject* res;
394+ static PyObject* _unparse (rapidxml_NodeObject* self,
395+ bool pretty,
396+ bool raw) {
397+ PyObject* res = NULL ;
410398 std::string xml;
411- char kw_pretty[] = " pretty" ;
412- char kw_raw[] = " raw" ;
413-
414- static char * kwlist[] = {kw_pretty, kw_raw, NULL };
415- if (!PyArg_ParseTupleAndKeywords (args, kwds, " |OO" , kwlist,
416- &pretty_obj, &raw_obj)) {
417- return NULL ;
418- }
419399
420400 rapidxml::print (std::back_inserter (xml),
421401 *(static_cast <rapidxml::xml_node<>*>(self->base .underlying_obj )),
422- ((pretty_obj == NULL ) || PyObject_Not (pretty_obj))
423- ? rapidxml::print_no_indenting : 0 );
424- if ((raw_obj == NULL ) || PyObject_Not (raw_obj)
402+ !pretty ? rapidxml::print_no_indenting : 0 );
403+ if (!raw
425404#if PY_MAJOR_VERSION < 3
426405 || true
427406#endif
@@ -433,24 +412,35 @@ static PyObject* rapidxml_NodeObject_unparse(rapidxml_NodeObject* self,
433412 return res;
434413}
435414
436- static PyObject* rapidxml_NodeObject___str__ (rapidxml_NodeObject* self) {
437- PyObject* args;
438- PyObject* res;
415+ static PyObject* rapidxml_NodeObject_unparse (rapidxml_NodeObject* self,
416+ PyObject* args,
417+ PyObject* kwds) {
418+ PyObject* pretty_obj = NULL ;
419+ PyObject* raw_obj = NULL ;
420+ PyObject* res = NULL ;
421+ std::string xml;
439422
440- args = Py_BuildValue (" (O)" , Py_True);
441- res = rapidxml_NodeObject_unparse (self, args, NULL );
442- Py_DECREF (args);
423+ static char * kwlist[] = {" pretty" , " raw" , NULL };
424+ if (!PyArg_ParseTupleAndKeywords (args, kwds, " |OO:unparse" , kwlist,
425+ &pretty_obj, &raw_obj)) {
426+ return NULL ;
427+ }
428+ Py_XINCREF (pretty_obj);
429+ Py_XINCREF (raw_obj);
430+ res = _unparse (self,
431+ (pretty_obj != NULL && PyObject_IsTrue (pretty_obj)),
432+ (raw_obj != NULL && PyObject_IsTrue (raw_obj)));
433+ Py_XDECREF (pretty_obj);
434+ Py_XDECREF (raw_obj);
443435 return res;
444436}
445437
446- static PyObject* rapidxml_NodeObject___repr__ (rapidxml_NodeObject* self) {
447- PyObject* args ;
448- PyObject* res;
438+ static PyObject* rapidxml_NodeObject___str__ (rapidxml_NodeObject* self) {
439+ return _unparse (self, true , false ) ;
440+ }
449441
450- args = Py_BuildValue (" ()" );
451- res = rapidxml_NodeObject_unparse (self, args, NULL );
452- Py_DECREF (args);
453- return res;
442+ static PyObject* rapidxml_NodeObject___repr__ (rapidxml_NodeObject* self) {
443+ return _unparse (self, false , false );
454444}
455445
456446static PyObject* rapidxml_NodeObject_children (rapidxml_NodeObject* self,
0 commit comments