From b6d15ad4e3e4079c07294bd06cb3be63a44a9a5e Mon Sep 17 00:00:00 2001
From: Tiago Freitas Pereira <tiagofrepereira@gmail.com>
Date: Thu, 4 Dec 2014 17:59:32 +0800
Subject: [PATCH] Tackled the last comments from Manuel

---
 bob/learn/misc/gaussian.cpp  | 3 +--
 bob/learn/misc/gmm_stats.cpp | 9 ++++-----
 2 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/bob/learn/misc/gaussian.cpp b/bob/learn/misc/gaussian.cpp
index 4504e4f..d39f914 100644
--- a/bob/learn/misc/gaussian.cpp
+++ b/bob/learn/misc/gaussian.cpp
@@ -69,9 +69,8 @@ static int PyBobLearnMiscGaussian_init_hdf5(PyBobLearnMiscGaussianObject* self,
   char** kwlist = Gaussian_doc.kwlist(2);
 
   PyBobIoHDF5FileObject* config = 0;
-  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!", kwlist, &PyBobIoHDF5File_Type, &config)) 
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&", kwlist, &PyBobIoHDF5File_Converter, &config)) 
     return -1;
-  auto config_ = make_safe(config);
 
   try {
     self->cxx.reset(new bob::learn::misc::Gaussian(*(config->f)));
diff --git a/bob/learn/misc/gmm_stats.cpp b/bob/learn/misc/gmm_stats.cpp
index a4282ca..6409945 100644
--- a/bob/learn/misc/gmm_stats.cpp
+++ b/bob/learn/misc/gmm_stats.cpp
@@ -55,7 +55,7 @@ static int PyBobLearnMiscGMMStats_init_copy(PyBobLearnMiscGMMStatsObject* self,
 
   char** kwlist = GMMStats_doc.kwlist(1);
   PyBobLearnMiscGMMStatsObject* tt;
-  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!", kwlist, &PyBobLearnMiscGMMStats_Type, &tt)) return -1;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&", kwlist, &PyBobLearnMiscGMMStats_Type, &tt)) return -1;
 
   self->cxx.reset(new bob::learn::misc::GMMStats(*tt->cxx));
   return 0;
@@ -66,13 +66,12 @@ static int PyBobLearnMiscGMMStats_init_hdf5(PyBobLearnMiscGMMStatsObject* self,
 
   char** kwlist = GMMStats_doc.kwlist(2);
 
-  PyObject* config = 0;
-  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!", kwlist, &PyBobIoHDF5File_Type, &config)) 
+  PyBobIoHDF5FileObject* config = 0;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&", kwlist, &PyBobIoHDF5File_Converter, &config)) 
     return -1;
-  auto h5f = reinterpret_cast<PyBobIoHDF5FileObject*>(config);
 
   try {
-    self->cxx.reset(new bob::learn::misc::GMMStats(*(h5f->f)));
+    self->cxx.reset(new bob::learn::misc::GMMStats(*(config->f)));
   }
   catch (std::exception& ex) {
     PyErr_SetString(PyExc_RuntimeError, ex.what());
-- 
GitLab