[cig-commits] r6558 - in short/3D/PyLith/trunk/modulesrc:
feassemble materials meshio topology
brad at geodynamics.org
brad at geodynamics.org
Thu Apr 12 13:17:39 PDT 2007
Author: brad
Date: 2007-04-12 13:17:39 -0700 (Thu, 12 Apr 2007)
New Revision: 6558
Modified:
short/3D/PyLith/trunk/modulesrc/feassemble/feassemble.pyxe.src
short/3D/PyLith/trunk/modulesrc/materials/materials.pyxe.src
short/3D/PyLith/trunk/modulesrc/meshio/meshio.pyxe.src
short/3D/PyLith/trunk/modulesrc/topology/topology.pyxe.src
Log:
Added more error checking of pointers in modules.
Modified: short/3D/PyLith/trunk/modulesrc/feassemble/feassemble.pyxe.src
===================================================================
--- short/3D/PyLith/trunk/modulesrc/feassemble/feassemble.pyxe.src 2007-04-12 19:59:01 UTC (rev 6557)
+++ short/3D/PyLith/trunk/modulesrc/feassemble/feassemble.pyxe.src 2007-04-12 20:17:39 UTC (rev 6558)
@@ -49,9 +49,9 @@
Destroy Quadrature object.
"""
# create shim for destructor
- #embed{ void Quadrature_destructor_cpp(void* pObj)
+ #embed{ void Quadrature_destructor_cpp(void* objVptr)
pylith::feassemble::Quadrature* pQ =
- (pylith::feassemble::Quadrature*) pObj;
+ (pylith::feassemble::Quadrature*) objVptr;
delete pQ;
#}embed
Quadrature_destructor_cpp(obj)
@@ -62,9 +62,9 @@
Destroy Integrator object.
"""
# create shim for destructor
- #embed{ void Integrator_destructor_cpp(void* pObj)
+ #embed{ void Integrator_destructor_cpp(void* objVptr)
pylith::feassemble::Integrator* pQ =
- (pylith::feassemble::Integrator*) pObj;
+ (pylith::feassemble::Integrator*) objVptr;
delete pQ;
#}embed
Integrator_destructor_cpp(obj)
@@ -104,9 +104,9 @@
@param spaceDim Number of dimensions associated with cell vertices
"""
# create shim for method 'initialize'
- #embed{ void Quadrature_initialize(void* pObj, double* basis, double* basisDeriv, double* quadPts, double* quadWts, int cellDim, int numCorners, int numQuadPts, int spaceDim)
+ #embed{ void Quadrature_initialize(void* objVptr, double* basis, double* basisDeriv, double* quadPts, double* quadWts, int cellDim, int numCorners, int numQuadPts, int spaceDim)
try {
- ((pylith::feassemble::Quadrature*) pObj)->initialize(basis, basisDeriv,
+ ((pylith::feassemble::Quadrature*) objVptr)->initialize(basis, basisDeriv,
quadPts, quadWts,
cellDim, numCorners,
numQuadPts, spaceDim);
@@ -193,9 +193,10 @@
def __set__(self, value):
"""Set minimum allowable Jacobian."""
# create shim for method 'minJacobian'
- #embed{ void Quadrature_minJacobian_set(void* pObj, double value)
+ #embed{ void Quadrature_minJacobian_set(void* objVptr, double value)
try {
- ((pylith::feassemble::Quadrature*) pObj)->minJacobian(value);
+ assert(0 != objVptr);
+ ((pylith::feassemble::Quadrature*) objVptr)->minJacobian(value);
} catch (const std::exception& err) {
PyErr_SetString(PyExc_RuntimeError,
const_cast<char*>(err.what()));
@@ -209,10 +210,11 @@
def __get__(self):
"""Get minimum allowable Jacobian."""
# create shim for method 'minJacobian'
- #embed{ double Quadrature_minJacobian_get(void* pObj)
+ #embed{ double Quadrature_minJacobian_get(void* objVptr)
double result = 0;
try {
- result = ((pylith::feassemble::Quadrature*) pObj)->minJacobian();
+ assert(0 != objVptr);
+ result = ((pylith::feassemble::Quadrature*) objVptr)->minJacobian();
} catch (const std::exception& err) {
PyErr_SetString(PyExc_RuntimeError,
const_cast<char*>(err.what()));
@@ -235,6 +237,7 @@
void* result = 0;
try {
result = (void*)(new pylith::feassemble::Quadrature1D);
+ assert(0 != result);
} catch (const std::exception& err) {
PyErr_SetString(PyExc_RuntimeError,
const_cast<char*>(err.what()));
@@ -261,6 +264,7 @@
void* result = 0;
try {
result = (void*)(new pylith::feassemble::Quadrature1Din2D);
+ assert(0 != result);
} catch (const std::exception& err) {
PyErr_SetString(PyExc_RuntimeError,
const_cast<char*>(err.what()));
@@ -287,6 +291,7 @@
void* result = 0;
try {
result = (void*)(new pylith::feassemble::Quadrature1Din3D);
+ assert(0 != result);
} catch (const std::exception& err) {
PyErr_SetString(PyExc_RuntimeError,
const_cast<char*>(err.what()));
@@ -313,6 +318,7 @@
void* result = 0;
try {
result = (void*)(new pylith::feassemble::Quadrature2D);
+ assert(0 != result);
} catch (const std::exception& err) {
PyErr_SetString(PyExc_RuntimeError,
const_cast<char*>(err.what()));
@@ -339,6 +345,7 @@
void* result = 0;
try {
result = (void*)(new pylith::feassemble::Quadrature2Din3D);
+ assert(0 != result);
} catch (const std::exception& err) {
PyErr_SetString(PyExc_RuntimeError,
const_cast<char*>(err.what()));
@@ -365,6 +372,7 @@
void* result = 0;
try {
result = (void*)(new pylith::feassemble::Quadrature3D);
+ assert(0 != result);
} catch (const std::exception& err) {
PyErr_SetString(PyExc_RuntimeError,
const_cast<char*>(err.what()));
@@ -411,13 +419,12 @@
Set quadrature.
"""
# create shim for method 'quadrature'
- #embed{ void Integrator_quadrature_set(void* pObj, void* qObj)
+ #embed{ void Integrator_quadrature_set(void* objVptr, void* qVptr)
try {
- assert(0 != pObj);
- assert(0 != qObj);
+ assert(0 != objVptr);
pylith::feassemble::Quadrature* quadrature =
- (pylith::feassemble::Quadrature*) qObj;
- ((pylith::feassemble::Integrator*) pObj)->quadrature(quadrature);
+ (pylith::feassemble::Quadrature*) qVptr;
+ ((pylith::feassemble::Integrator*) objVptr)->quadrature(quadrature);
} catch (const std::exception& err) {
PyErr_SetString(PyExc_RuntimeError,
const_cast<char*>(err.what()));
@@ -540,10 +547,10 @@
Set timeStep.
"""
# create shim for method 'timeStep'
- #embed{ void IntegratorExplicit_timeStep_set(void* pObj, double dt)
+ #embed{ void IntegratorExplicit_timeStep_set(void* objVptr, double dt)
try {
- assert(0 != pObj);
- ((pylith::feassemble::IntegratorExplicit*) pObj)->timeStep(dt);
+ assert(0 != objVptr);
+ ((pylith::feassemble::IntegratorExplicit*) objVptr)->timeStep(dt);
} catch (const std::exception& err) {
PyErr_SetString(PyExc_RuntimeError,
const_cast<char*>(err.what()));
@@ -567,6 +574,7 @@
void* result = 0;
try {
result = (void*)(new pylith::feassemble::ExplicitElasticity);
+ assert(0 != result);
} catch (const std::exception& err) {
PyErr_SetString(PyExc_RuntimeError,
const_cast<char*>(err.what()));
@@ -589,13 +597,12 @@
Set material.
"""
# create shim for method 'material'
- #embed{ void ExplicitElasticity_material_set(void* pObj, void* mObj)
+ #embed{ void ExplicitElasticity_material_set(void* objVptr, void* mVptr)
try {
- assert(0 != pObj);
- assert(0 != mObj);
+ assert(0 != objVptr);
pylith::materials::ElasticMaterial* material =
- (pylith::materials::ElasticMaterial*) mObj;
- ((pylith::feassemble::ExplicitElasticity*) pObj)->material(material);
+ (pylith::materials::ElasticMaterial*) mVptr;
+ ((pylith::feassemble::ExplicitElasticity*) objVptr)->material(material);
} catch (const std::exception& err) {
PyErr_SetString(PyExc_RuntimeError,
const_cast<char*>(err.what()));
Modified: short/3D/PyLith/trunk/modulesrc/materials/materials.pyxe.src
===================================================================
--- short/3D/PyLith/trunk/modulesrc/materials/materials.pyxe.src 2007-04-12 19:59:01 UTC (rev 6557)
+++ short/3D/PyLith/trunk/modulesrc/materials/materials.pyxe.src 2007-04-12 20:17:39 UTC (rev 6558)
@@ -75,18 +75,18 @@
database.
"""
# create shim for method 'initialize'
- #embed{ void Material_initialize(void* pObj, void* meshObj, void* csObj, void* qObj)
+ #embed{ void Material_initialize(void* objVptr, void* meshVptr, void* csVptr, void* qVptr)
try {
- assert(0 != pObj);
- assert(0 != meshObj);
- assert(0 != csObj);
- assert(0 != qObj);
- ALE::Obj<ALE::Mesh>* mesh = (ALE::Obj<ALE::Mesh>*) meshObj;
+ assert(0 != objVptr);
+ assert(0 != meshVptr);
+ assert(0 != csVptr);
+ assert(0 != qVptr);
+ ALE::Obj<ALE::Mesh>* mesh = (ALE::Obj<ALE::Mesh>*) meshVptr;
spatialdata::geocoords::CoordSys* cs =
- (spatialdata::geocoords::CoordSys*) csObj;
+ (spatialdata::geocoords::CoordSys*) csVptr;
pylith::feassemble::Quadrature* quadrature =
- (pylith::feassemble::Quadrature*) qObj;
- ((pylith::materials::Material*) pObj)->initialize(*mesh, cs, quadrature);
+ (pylith::feassemble::Quadrature*) qVptr;
+ ((pylith::materials::Material*) objVptr)->initialize(*mesh, cs, quadrature);
} catch (const std::exception& err) {
PyErr_SetString(PyExc_RuntimeError,
const_cast<char*>(err.what()));
@@ -126,13 +126,13 @@
Set database for physical property parameters.
"""
# create shim for method 'db'
- #embed{ void Material_db_set(void* pObj, void* dbObj)
+ #embed{ void Material_db_set(void* objVptr, void* dbVptr)
try {
- assert(0 != pObj);
- assert(0 != dbObj);
+ assert(0 != objVptr);
+ assert(0 != dbVptr);
spatialdata::spatialdb::SpatialDB* db =
- (spatialdata::spatialdb::SpatialDB*) dbObj;
- ((pylith::materials::Material*) pObj)->db(db);
+ (spatialdata::spatialdb::SpatialDB*) dbVptr;
+ ((pylith::materials::Material*) objVptr)->db(db);
} catch (const std::exception& err) {
PyErr_SetString(PyExc_RuntimeError,
const_cast<char*>(err.what()));
@@ -154,10 +154,10 @@
Set identifier of material.
"""
# create shim for method 'id'
- #embed{ void Material_id_set(void* pObj, int value)
+ #embed{ void Material_id_set(void* objVptr, int value)
try {
- assert(0 != pObj);
- ((pylith::materials::Material*) pObj)->id(value);
+ assert(0 != objVptr);
+ ((pylith::materials::Material*) objVptr)->id(value);
} catch (const std::exception& err) {
PyErr_SetString(PyExc_RuntimeError,
const_cast<char*>(err.what()));
@@ -173,11 +173,11 @@
Get identifier of material.
"""
# create shim for method 'id'
- #embed{ int Material_id_get(void* pObj)
+ #embed{ int Material_id_get(void* objVptr)
int result = 0;
try {
- assert(0 != pObj);
- result = ((pylith::materials::Material*) pObj)->id();
+ assert(0 != objVptr);
+ result = ((pylith::materials::Material*) objVptr)->id();
} catch (const std::exception& err) {
PyErr_SetString(PyExc_RuntimeError,
const_cast<char*>(err.what()));
@@ -196,10 +196,10 @@
Set label of material.
"""
# create shim for method 'label'
- #embed{ void Material_label_set(void* pObj, char* value)
+ #embed{ void Material_label_set(void* objVptr, char* value)
try {
- assert(0 != pObj);
- ((pylith::materials::Material*) pObj)->label(value);
+ assert(0 != objVptr);
+ ((pylith::materials::Material*) objVptr)->label(value);
} catch (const std::exception& err) {
PyErr_SetString(PyExc_RuntimeError,
const_cast<char*>(err.what()));
@@ -217,11 +217,11 @@
Get dimension associated with material.
"""
# create shim for method 'dimension'
- #embed{ int Material_dimension_get(void* pObj)
+ #embed{ int Material_dimension_get(void* objVptr)
int result = 0;
try {
- assert(0 != pObj);
- result = ((pylith::materials::Material*) pObj)->dimension();
+ assert(0 != objVptr);
+ result = ((pylith::materials::Material*) objVptr)->dimension();
} catch (const std::exception& err) {
PyErr_SetString(PyExc_RuntimeError,
const_cast<char*>(err.what()));
@@ -258,6 +258,7 @@
void* result = 0;
try {
result = (void*)(new pylith::materials::ElasticStrain1D);
+ assert(0 != result);
} catch (const std::exception& err) {
PyErr_SetString(PyExc_RuntimeError,
const_cast<char*>(err.what()));
@@ -286,6 +287,7 @@
void* result = 0;
try {
result = (void*)(new pylith::materials::ElasticStress1D);
+ assert(0 != result);
} catch (const std::exception& err) {
PyErr_SetString(PyExc_RuntimeError,
const_cast<char*>(err.what()));
@@ -314,6 +316,7 @@
void* result = 0;
try {
result = (void*)(new pylith::materials::ElasticPlaneStrain);
+ assert(0 != result);
} catch (const std::exception& err) {
PyErr_SetString(PyExc_RuntimeError,
const_cast<char*>(err.what()));
@@ -342,6 +345,7 @@
void* result = 0;
try {
result = (void*)(new pylith::materials::ElasticPlaneStress);
+ assert(0 != result);
} catch (const std::exception& err) {
PyErr_SetString(PyExc_RuntimeError,
const_cast<char*>(err.what()));
@@ -370,6 +374,7 @@
void* result = 0;
try {
result = (void*)(new pylith::materials::ElasticIsotropic3D);
+ assert(0 != result);
} catch (const std::exception& err) {
PyErr_SetString(PyExc_RuntimeError,
const_cast<char*>(err.what()));
Modified: short/3D/PyLith/trunk/modulesrc/meshio/meshio.pyxe.src
===================================================================
--- short/3D/PyLith/trunk/modulesrc/meshio/meshio.pyxe.src 2007-04-12 19:59:01 UTC (rev 6557)
+++ short/3D/PyLith/trunk/modulesrc/meshio/meshio.pyxe.src 2007-04-12 20:17:39 UTC (rev 6558)
@@ -67,12 +67,12 @@
Read mesh from file.
"""
# create shim for method 'read'
- #embed{ void MeshIO_read(void* pObj, void* pMeshObj)
+ #embed{ void MeshIO_read(void* objVptr, void* meshVptr)
try {
- assert(0 != pObj);
- assert(0 != pMeshObj);
- ALE::Obj<ALE::Mesh>* pMesh = (ALE::Obj<ALE::Mesh>*) pMeshObj;
- ((pylith::meshio::MeshIO*) pObj)->read(pMesh);
+ assert(0 != objVptr);
+ assert(0 != meshVptr);
+ ALE::Obj<ALE::Mesh>* pMesh = (ALE::Obj<ALE::Mesh>*) meshVptr;
+ ((pylith::meshio::MeshIO*) objVptr)->read(pMesh);
} catch (const std::exception& err) {
PyErr_SetString(PyExc_RuntimeError,
const_cast<char*>(err.what()));
@@ -93,10 +93,11 @@
Read write to file.
"""
# create shim for method 'write'
- #embed{ void MeshIO_write(void* pObj, void* pMeshObj)
+ #embed{ void MeshIO_write(void* objVptr, void* meshVptr)
try {
- ALE::Obj<ALE::Mesh>* pMesh = (ALE::Obj<ALE::Mesh>*) pMeshObj;
- ((pylith::meshio::MeshIO*) pObj)->write(pMesh);
+ assert(0 != objVptr);
+ ALE::Obj<ALE::Mesh>* pMesh = (ALE::Obj<ALE::Mesh>*) meshVptr;
+ ((pylith::meshio::MeshIO*) objVptr)->write(pMesh);
} catch (const std::exception& err) {
PyErr_SetString(PyExc_RuntimeError,
const_cast<char*>(err.what()));
@@ -121,9 +122,10 @@
def __set__(self, flag):
"""Set interpolate."""
# create shim for method 'interpolate'
- #embed{ void MeshIO_interpolate_set(void* pObj, int flag)
+ #embed{ void MeshIO_interpolate_set(void* objVptr, int flag)
try {
- ((pylith::meshio::MeshIO*) pObj)->interpolate(flag);
+ assert(0 != objVptr);
+ ((pylith::meshio::MeshIO*) objVptr)->interpolate(flag);
} catch (const std::exception& err) {
PyErr_SetString(PyExc_RuntimeError,
const_cast<char*>(err.what()));
@@ -137,10 +139,11 @@
def __get__(self):
"""Get interpolate."""
# create shim for method 'interpolate'
- #embed{ int MeshIO_interpolate_get(void* pObj)
+ #embed{ int MeshIO_interpolate_get(void* objVptr)
int result = 0;
try {
- result = ((pylith::meshio::MeshIO*) pObj)->interpolate();
+ assert(0 != objVptr);
+ result = ((pylith::meshio::MeshIO*) objVptr)->interpolate();
} catch (const std::exception& err) {
PyErr_SetString(PyExc_RuntimeError,
const_cast<char*>(err.what()));
@@ -157,9 +160,10 @@
def __set__(self, flag):
"""Set debug."""
# create shim for method 'debug'
- #embed{ void MeshIO_debug_set(void* pObj, int flag)
+ #embed{ void MeshIO_debug_set(void* objVptr, int flag)
try {
- ((pylith::meshio::MeshIO*) pObj)->debug(flag);
+ assert(0 != objVptr);
+ ((pylith::meshio::MeshIO*) objVptr)->debug(flag);
} catch (const std::exception& err) {
PyErr_SetString(PyExc_RuntimeError,
const_cast<char*>(err.what()));
@@ -173,10 +177,11 @@
def __get__(self):
"""Get debug."""
# create shim for method 'debug'
- #embed{ int MeshIO_debug_get(void* pObj)
+ #embed{ int MeshIO_debug_get(void* objVptr)
int result = 0;
try {
- result = ((pylith::meshio::MeshIO*) pObj)->debug();
+ assert(0 != objVptr);
+ result = ((pylith::meshio::MeshIO*) objVptr)->debug();
} catch (const std::exception& err) {
PyErr_SetString(PyExc_RuntimeError,
const_cast<char*>(err.what()));
@@ -199,6 +204,7 @@
void* result = 0;
try {
result = (void*)(new pylith::meshio::MeshIOAscii);
+ assert(0 != result);
} catch (const std::exception& err) {
PyErr_SetString(PyExc_RuntimeError,
const_cast<char*>(err.what()));
@@ -219,9 +225,10 @@
def __set__(self, name):
"""Set filename."""
# create shim for method 'filename'
- #embed{ void MeshIOAscii_filename_set(void* pObj, char* name)
+ #embed{ void MeshIOAscii_filename_set(void* objVptr, char* name)
try {
- ((pylith::meshio::MeshIOAscii*) pObj)->filename(name);
+ assert(0 != objVptr);
+ ((pylith::meshio::MeshIOAscii*) objVptr)->filename(name);
} catch (const std::exception& err) {
PyErr_SetString(PyExc_RuntimeError,
const_cast<char*>(err.what()));
@@ -235,10 +242,12 @@
def __get__(self):
"""Get filename."""
# create shim for method 'filename'
- #embed{ char* MeshIOAscii_filename_get(void* pObj)
+ #embed{ char* MeshIOAscii_filename_get(void* objVptr)
char* result = 0;
try {
- result = (char*) ((pylith::meshio::MeshIOAscii*) pObj)->filename();
+ assert(0 != objVptr);
+ result = (char*) ((pylith::meshio::MeshIOAscii*) objVptr)->filename();
+ assert(0 != result);
} catch (const std::exception& err) {
PyErr_SetString(PyExc_RuntimeError,
const_cast<char*>(err.what()));
Modified: short/3D/PyLith/trunk/modulesrc/topology/topology.pyxe.src
===================================================================
--- short/3D/PyLith/trunk/modulesrc/topology/topology.pyxe.src 2007-04-12 19:59:01 UTC (rev 6557)
+++ short/3D/PyLith/trunk/modulesrc/topology/topology.pyxe.src 2007-04-12 20:17:39 UTC (rev 6558)
@@ -38,8 +38,8 @@
"""
Destroy Petsc Mesh.
"""
- #embed{ void MeshPtr_destructor_cpp(void* pObj)
- ALE::Obj<ALE::Mesh>* pMesh = (ALE::Obj<ALE::Mesh>*) pObj;
+ #embed{ void MeshPtr_destructor_cpp(void* objVptr)
+ ALE::Obj<ALE::Mesh>* pMesh = (ALE::Obj<ALE::Mesh>*) objVptr;
delete pMesh;
#}embed
MeshPtr_destructor_cpp(obj)
@@ -53,8 +53,10 @@
assert(0 != objVptr);
PetscMat* mat = (PetscMat*) objVptr;
PetscErrorCode err = MatDestroy(*mat);
- if (err)
+ if (err) {
+ PetscError(__LINE__,__FUNCT__,__FILE__,__SDIR__,err,0," ");
throw std::runtime_error("Could not destroy PETSc matrix.");
+ } // if
#}embed
PetscMat_destructor_cpp(obj)
return
@@ -98,13 +100,14 @@
Get real section from mesh.
"""
# create shim for getRealSection
- #embed{ void* Mesh_getRealSection(void* pObj, char* label)
+ #embed{ void* Mesh_getRealSection(void* objVptr, char* label)
typedef ALE::Mesh::real_section_type real_section_type;
void* result = 0;
try {
- ALE::Obj<ALE::Mesh>* mesh = (ALE::Obj<ALE::Mesh>*) pObj;
+ ALE::Obj<ALE::Mesh>* mesh = (ALE::Obj<ALE::Mesh>*) objVptr;
assert(0 != mesh);
+ assert(!mesh->isNull());
const ALE::Obj<real_section_type>& section =
(*mesh)->getRealSection(label);
assert(!section.isNull());
@@ -128,13 +131,14 @@
Create real section in mesh.
"""
# create shim for createRealSection
- #embed{ void* Mesh_createRealSection(void* pObj, char* label, int fiberDim)
+ #embed{ void* Mesh_createRealSection(void* objVptr, char* label, int fiberDim)
typedef ALE::Mesh::real_section_type real_section_type;
void* result = 0;
try {
- ALE::Obj<ALE::Mesh>* mesh = (ALE::Obj<ALE::Mesh>*) pObj;
+ ALE::Obj<ALE::Mesh>* mesh = (ALE::Obj<ALE::Mesh>*) objVptr;
assert(0 != mesh);
+ assert(!mesh->isNull());
const ALE::Obj<real_section_type>& section =
(*mesh)->getRealSection(label);
assert(!section.isNull());
@@ -175,7 +179,11 @@
PetscMat* mat = new PetscMat;
assert(0 != mat);
- MeshCreateMatrix(*mesh, *field, MATMPIBAIJ, mat);
+ PetscErrorCode err = MeshCreateMatrix(*mesh, *field, MATMPIBAIJ, mat);
+ if (err) {
+ PetscError(__LINE__,__FUNCT__,__FILE__,__SDIR__,err,0," ");
+ throw std::runtime_error("Could not create PETSc Matrix.");
+ } // if
result = (void*) mat;
} catch (const std::exception& err) {
PyErr_SetString(PyExc_RuntimeError,
@@ -278,12 +286,12 @@
Zero real section.
"""
# create shim for zero section
- #embed{ void* Section_zero(void* pObj)
+ #embed{ void* Section_zero(void* objVptr)
typedef ALE::Mesh::real_section_type real_section_type;
try {
ALE::Obj<real_section_type>* section =
- (ALE::Obj<real_section_type>*) pObj;
+ (ALE::Obj<real_section_type>*) objVptr;
assert(!section->isNull());
(*section)->zero();
} catch (const std::exception& err) {
@@ -298,8 +306,6 @@
ptr = PyCObject_AsVoidPtr(section)
Section_zero(ptr)
return
-
-
# End of file
More information about the cig-commits
mailing list