Skip to content

Commit a9d89cd

Browse files
Minor cleanup of pointer to list conversions
1 parent 47b71c3 commit a9d89cd

File tree

8 files changed

+24
-80
lines changed

8 files changed

+24
-80
lines changed

src/interface/shared/static_list.i

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,18 +26,14 @@ static PyObject* pointer_to_list(item_type* ptr) {
2626
PyObject* py_tmp = NULL;
2727
while (ptr->valid_test) {
2828
py_tmp = SWIG_Python_NewPointerObj(
29-
NULL, ptr, $descriptor(item_type*), 0);
29+
NULL, ptr++, $descriptor(item_type*), 0);
3030
PyList_Append(list, py_tmp);
3131
Py_DECREF(py_tmp);
32-
++ptr;
3332
}
3433
return list;
3534
};
3635
}
3736
%typemap(out, fragment="pointer_to_list"{item_type}) pattern {
38-
PyObject* list = pointer_to_list($1);
39-
if (!list)
40-
SWIG_fail;
41-
$result = SWIG_AppendOutput($result, list);
37+
$result = pointer_to_list($1);
4238
}
4339
%enddef // LIST_POINTER

src/interface/tags.i

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,6 @@ STRUCT_DICT(Exiv2::GroupInfo, false, true)
7474
STRUCT_DICT(Exiv2::TagInfo, false, true)
7575

7676
// Wrapper class for TagListFct function pointer
77-
#ifndef SWIGIMPORTED
7877
%ignore _TagListFct::_TagListFct;
7978
%feature("python:slot", "tp_call", functype="ternarycallfunc")
8079
_TagListFct::__call__;
@@ -91,7 +90,6 @@ public:
9190
}
9291
};
9392
%}
94-
#endif // SWIGIMPORTED
9593

9694
// Wrap TagListFct return values
9795
%typemap(out) Exiv2::TagListFct {

src/swig-0_27_7/datasets_wrap.cxx

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4803,10 +4803,9 @@ static PyObject* pointer_to_list(Exiv2::DataSet* ptr) {
48034803
PyObject* py_tmp = NULL;
48044804
while (ptr->number_ != 0xffff) {
48054805
py_tmp = SWIG_Python_NewPointerObj(
4806-
NULL, ptr, SWIGTYPE_p_Exiv2__DataSet, 0);
4806+
NULL, ptr++, SWIGTYPE_p_Exiv2__DataSet, 0);
48074807
PyList_Append(list, py_tmp);
48084808
Py_DECREF(py_tmp);
4809-
++ptr;
48104809
}
48114810
return list;
48124811
};
@@ -5476,10 +5475,7 @@ SWIGINTERN PyObject *_wrap_IptcDataSets_envelopeRecordList(PyObject *self, PyObj
54765475
if (!SWIG_Python_UnpackTuple(args, "IptcDataSets_envelopeRecordList", 0, 0, 0)) SWIG_fail;
54775476
result = (Exiv2::DataSet *)Exiv2::IptcDataSets::envelopeRecordList();
54785477
{
5479-
PyObject* list = pointer_to_list(result);
5480-
if (!list)
5481-
SWIG_fail;
5482-
resultobj = SWIG_Python_AppendOutput(resultobj, list, 0);
5478+
resultobj = pointer_to_list(result);
54835479
}
54845480
return resultobj;
54855481
fail:
@@ -5494,10 +5490,7 @@ SWIGINTERN PyObject *_wrap_IptcDataSets_application2RecordList(PyObject *self, P
54945490
if (!SWIG_Python_UnpackTuple(args, "IptcDataSets_application2RecordList", 0, 0, 0)) SWIG_fail;
54955491
result = (Exiv2::DataSet *)Exiv2::IptcDataSets::application2RecordList();
54965492
{
5497-
PyObject* list = pointer_to_list(result);
5498-
if (!list)
5499-
SWIG_fail;
5500-
resultobj = SWIG_Python_AppendOutput(resultobj, list, 0);
5493+
resultobj = pointer_to_list(result);
55015494
}
55025495
return resultobj;
55035496
fail:

src/swig-0_27_7/properties_wrap.cxx

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4557,10 +4557,9 @@ static PyObject* pointer_to_list(Exiv2::XmpPropertyInfo* ptr) {
45574557
PyObject* py_tmp = NULL;
45584558
while (ptr->name_) {
45594559
py_tmp = SWIG_Python_NewPointerObj(
4560-
NULL, ptr, SWIGTYPE_p_Exiv2__XmpPropertyInfo, 0);
4560+
NULL, ptr++, SWIGTYPE_p_Exiv2__XmpPropertyInfo, 0);
45614561
PyList_Append(list, py_tmp);
45624562
Py_DECREF(py_tmp);
4563-
++ptr;
45644563
}
45654564
return list;
45664565
};
@@ -5037,10 +5036,7 @@ SWIGINTERN PyObject *_wrap_XmpNsInfo_xmpPropertyInfo__get(PyObject *self, PyObje
50375036
arg1 = reinterpret_cast< Exiv2::XmpNsInfo * >(argp1);
50385037
result = (Exiv2::XmpPropertyInfo *) ((arg1)->xmpPropertyInfo_);
50395038
{
5040-
PyObject* list = pointer_to_list(result);
5041-
if (!list)
5042-
SWIG_fail;
5043-
resultobj = SWIG_Python_AppendOutput(resultobj, list, 0);
5039+
resultobj = pointer_to_list(result);
50445040
}
50455041
return resultobj;
50465042
fail:
@@ -5390,10 +5386,7 @@ SWIGINTERN PyObject *_wrap_XmpProperties_propertyList(PyObject *self, PyObject *
53905386
}
53915387
}
53925388
{
5393-
PyObject* list = pointer_to_list(result);
5394-
if (!list)
5395-
SWIG_fail;
5396-
resultobj = SWIG_Python_AppendOutput(resultobj, list, 0);
5389+
resultobj = pointer_to_list(result);
53975390
}
53985391
if (SWIG_IsNewObj(res1)) delete arg1;
53995392
return resultobj;

src/swig-0_27_7/tags_wrap.cxx

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4455,10 +4455,9 @@ static PyObject* pointer_to_list(Exiv2::TagInfo* ptr) {
44554455
PyObject* py_tmp = NULL;
44564456
while (ptr->tag_ != 0xFFFF) {
44574457
py_tmp = SWIG_Python_NewPointerObj(
4458-
NULL, ptr, SWIGTYPE_p_Exiv2__TagInfo, 0);
4458+
NULL, ptr++, SWIGTYPE_p_Exiv2__TagInfo, 0);
44594459
PyList_Append(list, py_tmp);
44604460
Py_DECREF(py_tmp);
4461-
++ptr;
44624461
}
44634462
return list;
44644463
};
@@ -4607,10 +4606,9 @@ static PyObject* pointer_to_list(Exiv2::GroupInfo* ptr) {
46074606
PyObject* py_tmp = NULL;
46084607
while (ptr->tagList_) {
46094608
py_tmp = SWIG_Python_NewPointerObj(
4610-
NULL, ptr, SWIGTYPE_p_Exiv2__GroupInfo, 0);
4609+
NULL, ptr++, SWIGTYPE_p_Exiv2__GroupInfo, 0);
46114610
PyList_Append(list, py_tmp);
46124611
Py_DECREF(py_tmp);
4613-
++ptr;
46144612
}
46154613
return list;
46164614
};
@@ -4987,10 +4985,7 @@ SWIGINTERN PyObject *_wrap__TagListFct___call__(PyObject *self, PyObject *args)
49874985
arg1 = reinterpret_cast< _TagListFct * >(argp1);
49884986
result = (Exiv2::TagInfo *)(arg1)->__call__();
49894987
{
4990-
PyObject* list = pointer_to_list(result);
4991-
if (!list)
4992-
SWIG_fail;
4993-
resultobj = SWIG_Python_AppendOutput(resultobj, list, 0);
4988+
resultobj = pointer_to_list(result);
49944989
}
49954990
return resultobj;
49964991
fail:
@@ -5502,10 +5497,7 @@ SWIGINTERN PyObject *_wrap_ExifTags_groupList(PyObject *self, PyObject *args) {
55025497
if (!SWIG_Python_UnpackTuple(args, "ExifTags_groupList", 0, 0, 0)) SWIG_fail;
55035498
result = (Exiv2::GroupInfo *)Exiv2::ExifTags::groupList();
55045499
{
5505-
PyObject* list = pointer_to_list(result);
5506-
if (!list)
5507-
SWIG_fail;
5508-
resultobj = SWIG_Python_AppendOutput(resultobj, list, 0);
5500+
resultobj = pointer_to_list(result);
55095501
}
55105502
return resultobj;
55115503
fail:
@@ -5535,10 +5527,7 @@ SWIGINTERN PyObject *_wrap_ExifTags_tagList(PyObject *self, PyObject *args) {
55355527
}
55365528
result = (Exiv2::TagInfo *)Exiv2::ExifTags::tagList((std::string const &)*arg1);
55375529
{
5538-
PyObject* list = pointer_to_list(result);
5539-
if (!list)
5540-
SWIG_fail;
5541-
resultobj = SWIG_Python_AppendOutput(resultobj, list, 0);
5530+
resultobj = pointer_to_list(result);
55425531
}
55435532
if (SWIG_IsNewObj(res1)) delete arg1;
55445533
return resultobj;

src/swig-0_28_7/datasets_wrap.cxx

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4803,10 +4803,9 @@ static PyObject* pointer_to_list(Exiv2::DataSet* ptr) {
48034803
PyObject* py_tmp = NULL;
48044804
while (ptr->number_ != 0xffff) {
48054805
py_tmp = SWIG_Python_NewPointerObj(
4806-
NULL, ptr, SWIGTYPE_p_Exiv2__DataSet, 0);
4806+
NULL, ptr++, SWIGTYPE_p_Exiv2__DataSet, 0);
48074807
PyList_Append(list, py_tmp);
48084808
Py_DECREF(py_tmp);
4809-
++ptr;
48104809
}
48114810
return list;
48124811
};
@@ -5476,10 +5475,7 @@ SWIGINTERN PyObject *_wrap_IptcDataSets_envelopeRecordList(PyObject *self, PyObj
54765475
if (!SWIG_Python_UnpackTuple(args, "IptcDataSets_envelopeRecordList", 0, 0, 0)) SWIG_fail;
54775476
result = (Exiv2::DataSet *)Exiv2::IptcDataSets::envelopeRecordList();
54785477
{
5479-
PyObject* list = pointer_to_list(result);
5480-
if (!list)
5481-
SWIG_fail;
5482-
resultobj = SWIG_Python_AppendOutput(resultobj, list, 0);
5478+
resultobj = pointer_to_list(result);
54835479
}
54845480
return resultobj;
54855481
fail:
@@ -5494,10 +5490,7 @@ SWIGINTERN PyObject *_wrap_IptcDataSets_application2RecordList(PyObject *self, P
54945490
if (!SWIG_Python_UnpackTuple(args, "IptcDataSets_application2RecordList", 0, 0, 0)) SWIG_fail;
54955491
result = (Exiv2::DataSet *)Exiv2::IptcDataSets::application2RecordList();
54965492
{
5497-
PyObject* list = pointer_to_list(result);
5498-
if (!list)
5499-
SWIG_fail;
5500-
resultobj = SWIG_Python_AppendOutput(resultobj, list, 0);
5493+
resultobj = pointer_to_list(result);
55015494
}
55025495
return resultobj;
55035496
fail:

src/swig-0_28_7/properties_wrap.cxx

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4557,10 +4557,9 @@ static PyObject* pointer_to_list(Exiv2::XmpPropertyInfo* ptr) {
45574557
PyObject* py_tmp = NULL;
45584558
while (ptr->name_) {
45594559
py_tmp = SWIG_Python_NewPointerObj(
4560-
NULL, ptr, SWIGTYPE_p_Exiv2__XmpPropertyInfo, 0);
4560+
NULL, ptr++, SWIGTYPE_p_Exiv2__XmpPropertyInfo, 0);
45614561
PyList_Append(list, py_tmp);
45624562
Py_DECREF(py_tmp);
4563-
++ptr;
45644563
}
45654564
return list;
45664565
};
@@ -5037,10 +5036,7 @@ SWIGINTERN PyObject *_wrap_XmpNsInfo_xmpPropertyInfo__get(PyObject *self, PyObje
50375036
arg1 = reinterpret_cast< Exiv2::XmpNsInfo * >(argp1);
50385037
result = (Exiv2::XmpPropertyInfo *) ((arg1)->xmpPropertyInfo_);
50395038
{
5040-
PyObject* list = pointer_to_list(result);
5041-
if (!list)
5042-
SWIG_fail;
5043-
resultobj = SWIG_Python_AppendOutput(resultobj, list, 0);
5039+
resultobj = pointer_to_list(result);
50445040
}
50455041
return resultobj;
50465042
fail:
@@ -5390,10 +5386,7 @@ SWIGINTERN PyObject *_wrap_XmpProperties_propertyList(PyObject *self, PyObject *
53905386
}
53915387
}
53925388
{
5393-
PyObject* list = pointer_to_list(result);
5394-
if (!list)
5395-
SWIG_fail;
5396-
resultobj = SWIG_Python_AppendOutput(resultobj, list, 0);
5389+
resultobj = pointer_to_list(result);
53975390
}
53985391
if (SWIG_IsNewObj(res1)) delete arg1;
53995392
return resultobj;

src/swig-0_28_7/tags_wrap.cxx

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4667,10 +4667,9 @@ static PyObject* pointer_to_list(Exiv2::TagInfo* ptr) {
46674667
PyObject* py_tmp = NULL;
46684668
while (ptr->tag_ != 0xFFFF) {
46694669
py_tmp = SWIG_Python_NewPointerObj(
4670-
NULL, ptr, SWIGTYPE_p_Exiv2__TagInfo, 0);
4670+
NULL, ptr++, SWIGTYPE_p_Exiv2__TagInfo, 0);
46714671
PyList_Append(list, py_tmp);
46724672
Py_DECREF(py_tmp);
4673-
++ptr;
46744673
}
46754674
return list;
46764675
};
@@ -4812,10 +4811,9 @@ static PyObject* pointer_to_list(Exiv2::GroupInfo* ptr) {
48124811
PyObject* py_tmp = NULL;
48134812
while (ptr->tagList_) {
48144813
py_tmp = SWIG_Python_NewPointerObj(
4815-
NULL, ptr, SWIGTYPE_p_Exiv2__GroupInfo, 0);
4814+
NULL, ptr++, SWIGTYPE_p_Exiv2__GroupInfo, 0);
48164815
PyList_Append(list, py_tmp);
48174816
Py_DECREF(py_tmp);
4818-
++ptr;
48194817
}
48204818
return list;
48214819
};
@@ -5199,10 +5197,7 @@ SWIGINTERN PyObject *_wrap__TagListFct___call__(PyObject *self, PyObject *args)
51995197
arg1 = reinterpret_cast< _TagListFct * >(argp1);
52005198
result = (Exiv2::TagInfo *)(arg1)->__call__();
52015199
{
5202-
PyObject* list = pointer_to_list(result);
5203-
if (!list)
5204-
SWIG_fail;
5205-
resultobj = SWIG_Python_AppendOutput(resultobj, list, 0);
5200+
resultobj = pointer_to_list(result);
52065201
}
52075202
return resultobj;
52085203
fail:
@@ -5726,10 +5721,7 @@ SWIGINTERN PyObject *_wrap_ExifTags_groupList(PyObject *self, PyObject *args) {
57265721
if (!SWIG_Python_UnpackTuple(args, "ExifTags_groupList", 0, 0, 0)) SWIG_fail;
57275722
result = (Exiv2::GroupInfo *)Exiv2::ExifTags::groupList();
57285723
{
5729-
PyObject* list = pointer_to_list(result);
5730-
if (!list)
5731-
SWIG_fail;
5732-
resultobj = SWIG_Python_AppendOutput(resultobj, list, 0);
5724+
resultobj = pointer_to_list(result);
57335725
}
57345726
return resultobj;
57355727
fail:
@@ -5759,10 +5751,7 @@ SWIGINTERN PyObject *_wrap_ExifTags_tagList(PyObject *self, PyObject *args) {
57595751
}
57605752
result = (Exiv2::TagInfo *)Exiv2::ExifTags::tagList((std::string const &)*arg1);
57615753
{
5762-
PyObject* list = pointer_to_list(result);
5763-
if (!list)
5764-
SWIG_fail;
5765-
resultobj = SWIG_Python_AppendOutput(resultobj, list, 0);
5754+
resultobj = pointer_to_list(result);
57665755
}
57675756
if (SWIG_IsNewObj(res1)) delete arg1;
57685757
return resultobj;

0 commit comments

Comments
 (0)