static PyObject *PyCMOR_close(PyObject * self, PyObject * args) { signal(signal_to_catch, signal_handler); PyObject *var; int varid, ierr; int dofile = 0; int dopreserve = 0; int preserved_id; char file_name[CMOR_MAX_STRING]; if (!PyArg_ParseTuple(args, "Oii", &var, &dofile, &dopreserve)) { return NULL; } if (var == Py_None) { ierr = cmor_close(); if (ierr != 0) { return NULL; } else { return (Py_BuildValue("i", ierr)); } } else { #if PY_MAJOR_VERSION >= 3 varid = (int)PyLong_AsLong(var); #else varid = (int)PyInt_AsLong(var); #endif if (dopreserve == 1) { if (dofile == 1) { ierr = cmor_close_variable(varid, &file_name[0], &preserved_id); } else { ierr = cmor_close_variable(varid, NULL, &preserved_id); } } else { if (dofile == 1) { ierr = cmor_close_variable(varid, &file_name[0], NULL); } else { ierr = cmor_close_variable(varid, NULL, NULL); } } } if (ierr != 0 || raise_exception) { raise_exception = 0; PyErr_Format(CMORError, exception_message, "close"); return NULL; } else { if (dofile == 1) { return (Py_BuildValue("s", file_name)); } else { return (Py_BuildValue("i", ierr)); } } }
static PyObject * PyCMOR_close(PyObject *self,PyObject *args) { PyObject *var; int varid,ierr; int dofile=0; int dopreserve=0; int preserved_id; char file_name[CMOR_MAX_STRING]; if (!PyArg_ParseTuple(args,"Oii",&var,&dofile,&dopreserve)) { return NULL; } if (var == Py_None ) { ierr = cmor_close(); if (ierr!=0) { return NULL; } else { return Py_BuildValue("i",ierr); } } else { varid = (int)PyInt_AsLong(var); if (dopreserve==1) { if (dofile==1) { ierr = cmor_close_variable(varid,&file_name[0],&preserved_id); } else { ierr = cmor_close_variable(varid,NULL,&preserved_id); } } else { if (dofile==1) { ierr = cmor_close_variable(varid,&file_name[0],NULL); } else { ierr = cmor_close_variable(varid,NULL,NULL); } } } if (ierr!=0) { return NULL; } else { if (dofile==1) { return Py_BuildValue("s",file_name); } else { return Py_BuildValue("i",ierr); } } }