Recorded merge of revisions 81029 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r81029 | antoine.pitrou | 2010-05-09 16:46:46 +0200 (dim., 09 mai 2010) | 3 lines

  Untabify C files. Will watch buildbots.
........
diff --git a/PC/_msi.c b/PC/_msi.c
index 0df2397..26f3f33 100644
--- a/PC/_msi.c
+++ b/PC/_msi.c
@@ -20,19 +20,19 @@
     UUID result;
     unsigned short *cresult;
     PyObject *oresult;
-    
+
     /* May return ok, local only, and no address.
        For local only, the documentation says we still get a uuid.
        For RPC_S_UUID_NO_ADDRESS, it's not clear whether we can
        use the result. */
     if (UuidCreate(&result) == RPC_S_UUID_NO_ADDRESS) {
-	PyErr_SetString(PyExc_NotImplementedError, "processing 'no address' result");
-	return NULL;
+        PyErr_SetString(PyExc_NotImplementedError, "processing 'no address' result");
+        return NULL;
     }
 
     if (UuidToStringW(&result, &cresult) == RPC_S_OUT_OF_MEMORY) {
-	PyErr_SetString(PyExc_MemoryError, "out of memory in uuidgen");
-	return NULL;
+        PyErr_SetString(PyExc_MemoryError, "out of memory in uuidgen");
+        return NULL;
     }
 
     oresult = PyUnicode_FromUnicode(cresult, wcslen(cresult));
@@ -57,7 +57,7 @@
 {
     int result = _open(pszFile, oflag, pmode);
     if (result == -1)
-	*err = errno;
+        *err = errno;
     return result;
 }
 
@@ -65,7 +65,7 @@
 {
     UINT result = (UINT)_read(hf, memory, cb);
     if (result != cb)
-	*err = errno;
+        *err = errno;
     return result;
 }
 
@@ -73,7 +73,7 @@
 {
     UINT result = (UINT)_write(hf, memory, cb);
     if (result != cb)
-	*err = errno;
+        *err = errno;
     return result;
 }
 
@@ -81,7 +81,7 @@
 {
     int result = _close(hf);
     if (result != 0)
-	*err = errno;
+        *err = errno;
     return result;
 }
 
@@ -89,7 +89,7 @@
 {
     long result = (long)_lseek(hf, dist, seektype);
     if (result == -1)
-	*err = errno;
+        *err = errno;
     return result;
 }
 
@@ -97,7 +97,7 @@
 {
     int result = remove(pszFile);
     if (result != 0)
-	*err = errno;
+        *err = errno;
     return result;
 }
 
@@ -110,9 +110,9 @@
 {
     char *name = _tempnam("", "tmp");
     if ((name != NULL) && ((int)strlen(name) < cbTempName)) {
-	strcpy(pszTempName, name);
-	free(name);
-	return TRUE;
+        strcpy(pszTempName, name);
+        free(name);
+        return TRUE;
     }
 
     if (name) free(name);
@@ -122,10 +122,10 @@
 static FNFCISTATUS(cb_status)
 {
     if (pv) {
-	PyObject *result = PyObject_CallMethod(pv, "status", "iii", typeStatus, cb1, cb2);
-	if (result == NULL)
-	    return -1;
-	Py_DECREF(result);
+        PyObject *result = PyObject_CallMethod(pv, "status", "iii", typeStatus, cb1, cb2);
+        if (result == NULL)
+            return -1;
+        Py_DECREF(result);
     }
     return 0;
 }
@@ -133,18 +133,18 @@
 static FNFCIGETNEXTCABINET(cb_getnextcabinet)
 {
     if (pv) {
-	PyObject *result = PyObject_CallMethod(pv, "getnextcabinet", "i", pccab->iCab);
-	if (result == NULL)
-	    return -1;
-	if (!PyBytes_Check(result)) {
-	    PyErr_Format(PyExc_TypeError, 
-		"Incorrect return type %s from getnextcabinet",
-		result->ob_type->tp_name);
-	    Py_DECREF(result);
-	    return FALSE;
-	}
-	strncpy(pccab->szCab, PyBytes_AsString(result), sizeof(pccab->szCab));
-	return TRUE;
+        PyObject *result = PyObject_CallMethod(pv, "getnextcabinet", "i", pccab->iCab);
+        if (result == NULL)
+            return -1;
+        if (!PyBytes_Check(result)) {
+            PyErr_Format(PyExc_TypeError,
+                "Incorrect return type %s from getnextcabinet",
+                result->ob_type->tp_name);
+            Py_DECREF(result);
+            return FALSE;
+        }
+        strncpy(pccab->szCab, PyBytes_AsString(result), sizeof(pccab->szCab));
+        return TRUE;
     }
     return FALSE;
 }
@@ -157,21 +157,21 @@
 
     /* Need Win32 handle to get time stamps */
     handle = CreateFile(pszName, GENERIC_READ, FILE_SHARE_READ, NULL,
-	OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
+        OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
     if (handle == INVALID_HANDLE_VALUE)
-	return -1;
+        return -1;
 
     if (GetFileInformationByHandle(handle, &bhfi) == FALSE)
     {
-	CloseHandle(handle);
-	return -1;
+        CloseHandle(handle);
+        return -1;
     }
 
     FileTimeToLocalFileTime(&bhfi.ftLastWriteTime, &filetime);
     FileTimeToDosDateTime(&filetime, pdate, ptime);
 
-    *pattribs = (int)(bhfi.dwFileAttributes & 
-	(_A_RDONLY | _A_SYSTEM | _A_HIDDEN | _A_ARCH));
+    *pattribs = (int)(bhfi.dwFileAttributes &
+        (_A_RDONLY | _A_SYSTEM | _A_HIDDEN | _A_ARCH));
 
     CloseHandle(handle);
 
@@ -189,11 +189,11 @@
 
 
     if (!PyArg_ParseTuple(args, "sO:FCICreate", &cabname, &files))
-	return NULL;
+        return NULL;
 
     if (!PyList_Check(files)) {
-	PyErr_SetString(PyExc_TypeError, "FCICreate expects a list");
-	return NULL;
+        PyErr_SetString(PyExc_TypeError, "FCICreate expects a list");
+        return NULL;
     }
 
     ccab.cb = INT_MAX; /* no need to split CAB into multiple media */
@@ -209,49 +209,49 @@
     ccab.szDisk[0] = '\0';
 
     for (i = 0, p = cabname; *p; p = CharNext(p))
-	if (*p == '\\' || *p == '/')
-	    i = p - cabname + 1;
+        if (*p == '\\' || *p == '/')
+            i = p - cabname + 1;
 
     if (i >= sizeof(ccab.szCabPath) ||
-	strlen(cabname+i) >= sizeof(ccab.szCab)) {
-	PyErr_SetString(PyExc_ValueError, "path name too long");
-	return 0;
+        strlen(cabname+i) >= sizeof(ccab.szCab)) {
+        PyErr_SetString(PyExc_ValueError, "path name too long");
+        return 0;
     }
 
     if (i > 0) {
-	memcpy(ccab.szCabPath, cabname, i);
-	ccab.szCabPath[i] = '\0';
-	strcpy(ccab.szCab, cabname+i);
+        memcpy(ccab.szCabPath, cabname, i);
+        ccab.szCabPath[i] = '\0';
+        strcpy(ccab.szCab, cabname+i);
     } else {
-	strcpy(ccab.szCabPath, ".\\");
-	strcpy(ccab.szCab, cabname);
+        strcpy(ccab.szCabPath, ".\\");
+        strcpy(ccab.szCab, cabname);
     }
 
     hfci = FCICreate(&erf, cb_fileplaced, cb_alloc, cb_free,
-	cb_open, cb_read, cb_write, cb_close, cb_seek, cb_delete,
-	cb_gettempfile, &ccab, NULL);
+        cb_open, cb_read, cb_write, cb_close, cb_seek, cb_delete,
+        cb_gettempfile, &ccab, NULL);
 
     if (hfci == NULL) {
-	PyErr_Format(PyExc_ValueError, "FCI error %d", erf.erfOper);
-	return NULL;
+        PyErr_Format(PyExc_ValueError, "FCI error %d", erf.erfOper);
+        return NULL;
     }
 
     for (i=0; i < PyList_GET_SIZE(files); i++) {
-	PyObject *item = PyList_GET_ITEM(files, i);
-	char *filename, *cabname;
-	if (!PyArg_ParseTuple(item, "ss", &filename, &cabname))
-	    goto err;
-	if (!FCIAddFile(hfci, filename, cabname, FALSE, 
-	    cb_getnextcabinet, cb_status, cb_getopeninfo,
-	    tcompTYPE_MSZIP))
-	    goto err;
+        PyObject *item = PyList_GET_ITEM(files, i);
+        char *filename, *cabname;
+        if (!PyArg_ParseTuple(item, "ss", &filename, &cabname))
+            goto err;
+        if (!FCIAddFile(hfci, filename, cabname, FALSE,
+            cb_getnextcabinet, cb_status, cb_getopeninfo,
+            tcompTYPE_MSZIP))
+            goto err;
     }
 
     if (!FCIFlushCabinet(hfci, FALSE, cb_getnextcabinet, cb_status))
-	goto err;
+        goto err;
 
     if (!FCIDestroy(hfci))
-	goto err;
+        goto err;
 
     Py_INCREF(Py_None);
     return Py_None;
@@ -266,7 +266,7 @@
     MSIHANDLE h;
 }msiobj;
 
-static void 
+static void
 msiobj_dealloc(msiobj* msidb)
 {
     MsiCloseHandle(msidb->h);
@@ -292,41 +292,41 @@
     MSIHANDLE err = MsiGetLastErrorRecord();
 
     if (err == 0) {
-	switch(status) {
-	case ERROR_ACCESS_DENIED:
-	    PyErr_SetString(MSIError, "access denied");
-	    return NULL;
-	case ERROR_FUNCTION_FAILED:
-	    PyErr_SetString(MSIError, "function failed");
-	    return NULL;
-	case ERROR_INVALID_DATA:
-	    PyErr_SetString(MSIError, "invalid data");
-	    return NULL;
-	case ERROR_INVALID_HANDLE:
-	    PyErr_SetString(MSIError, "invalid handle");
-	    return NULL;
-	case ERROR_INVALID_STATE:
-	    PyErr_SetString(MSIError, "invalid state");
-	    return NULL;
-	case ERROR_INVALID_PARAMETER:
-	    PyErr_SetString(MSIError, "invalid parameter");
-	    return NULL;
-	default:
-	    PyErr_Format(MSIError, "unknown error %x", status);
-	    return NULL;
-	}
+        switch(status) {
+        case ERROR_ACCESS_DENIED:
+            PyErr_SetString(MSIError, "access denied");
+            return NULL;
+        case ERROR_FUNCTION_FAILED:
+            PyErr_SetString(MSIError, "function failed");
+            return NULL;
+        case ERROR_INVALID_DATA:
+            PyErr_SetString(MSIError, "invalid data");
+            return NULL;
+        case ERROR_INVALID_HANDLE:
+            PyErr_SetString(MSIError, "invalid handle");
+            return NULL;
+        case ERROR_INVALID_STATE:
+            PyErr_SetString(MSIError, "invalid state");
+            return NULL;
+        case ERROR_INVALID_PARAMETER:
+            PyErr_SetString(MSIError, "invalid parameter");
+            return NULL;
+        default:
+            PyErr_Format(MSIError, "unknown error %x", status);
+            return NULL;
+        }
     }
 
     code = MsiRecordGetInteger(err, 1); /* XXX code */
     if (MsiFormatRecord(0, err, res, &size) == ERROR_MORE_DATA) {
-	res = malloc(size+1);
-	MsiFormatRecord(0, err, res, &size);
-	res[size]='\0';
+        res = malloc(size+1);
+        MsiFormatRecord(0, err, res, &size);
+        res[size]='\0';
     }
     MsiCloseHandle(err);
     PyErr_SetString(MSIError, res);
     if (res != buf)
-	free(res);
+        free(res);
     return NULL;
 }
 
@@ -343,7 +343,7 @@
 {
     unsigned int field;
     int status;
-    
+
     if (!PyArg_ParseTuple(args, "I:GetInteger", &field))
         return NULL;
     status = MsiRecordGetInteger(record->h, field);
@@ -363,7 +363,7 @@
     WCHAR *res = buf;
     DWORD size = sizeof(buf);
     PyObject* string;
-    
+
     if (!PyArg_ParseTuple(args, "I:GetString", &field))
         return NULL;
     status = MsiRecordGetStringW(record->h, field, res, &size);
@@ -386,7 +386,7 @@
 {
     int status = MsiRecordClearData(record->h);
     if (status != ERROR_SUCCESS)
-	return msierror(status);
+        return msierror(status);
 
     Py_INCREF(Py_None);
     return Py_None;
@@ -400,10 +400,10 @@
     Py_UNICODE *data;
 
     if (!PyArg_ParseTuple(args, "iu:SetString", &field, &data))
-	return NULL;
+        return NULL;
 
     if ((status = MsiRecordSetStringW(record->h, field, data)) != ERROR_SUCCESS)
-	return msierror(status);
+        return msierror(status);
 
     Py_INCREF(Py_None);
     return Py_None;
@@ -417,10 +417,10 @@
     Py_UNICODE *data;
 
     if (!PyArg_ParseTuple(args, "iu:SetStream", &field, &data))
-	return NULL;
+        return NULL;
 
     if ((status = MsiRecordSetStreamW(record->h, field, data)) != ERROR_SUCCESS)
-	return msierror(status);
+        return msierror(status);
 
     Py_INCREF(Py_None);
     return Py_None;
@@ -434,10 +434,10 @@
     int data;
 
     if (!PyArg_ParseTuple(args, "ii:SetInteger", &field, &data))
-	return NULL;
+        return NULL;
 
     if ((status = MsiRecordSetInteger(record->h, field, data)) != ERROR_SUCCESS)
-	return msierror(status);
+        return msierror(status);
 
     Py_INCREF(Py_None);
     return Py_None;
@@ -446,39 +446,39 @@
 
 
 static PyMethodDef record_methods[] = {
-    { "GetFieldCount", (PyCFunction)record_getfieldcount, METH_NOARGS, 
-	PyDoc_STR("GetFieldCount() -> int\nWraps MsiRecordGetFieldCount")},
+    { "GetFieldCount", (PyCFunction)record_getfieldcount, METH_NOARGS,
+        PyDoc_STR("GetFieldCount() -> int\nWraps MsiRecordGetFieldCount")},
     { "GetInteger", (PyCFunction)record_getinteger, METH_VARARGS,
     PyDoc_STR("GetInteger(field) -> int\nWraps MsiRecordGetInteger")},
     { "GetString", (PyCFunction)record_getstring, METH_VARARGS,
     PyDoc_STR("GetString(field) -> string\nWraps MsiRecordGetString")},
-    { "SetString", (PyCFunction)record_setstring, METH_VARARGS, 
-	PyDoc_STR("SetString(field,str) -> None\nWraps MsiRecordSetString")},
-    { "SetStream", (PyCFunction)record_setstream, METH_VARARGS, 
-	PyDoc_STR("SetStream(field,filename) -> None\nWraps MsiRecordSetInteger")},
-    { "SetInteger", (PyCFunction)record_setinteger, METH_VARARGS, 
-	PyDoc_STR("SetInteger(field,int) -> None\nWraps MsiRecordSetInteger")},
-    { "ClearData", (PyCFunction)record_cleardata, METH_NOARGS, 
-	PyDoc_STR("ClearData() -> int\nWraps MsiRecordGClearData")},
+    { "SetString", (PyCFunction)record_setstring, METH_VARARGS,
+        PyDoc_STR("SetString(field,str) -> None\nWraps MsiRecordSetString")},
+    { "SetStream", (PyCFunction)record_setstream, METH_VARARGS,
+        PyDoc_STR("SetStream(field,filename) -> None\nWraps MsiRecordSetInteger")},
+    { "SetInteger", (PyCFunction)record_setinteger, METH_VARARGS,
+        PyDoc_STR("SetInteger(field,int) -> None\nWraps MsiRecordSetInteger")},
+    { "ClearData", (PyCFunction)record_cleardata, METH_NOARGS,
+        PyDoc_STR("ClearData() -> int\nWraps MsiRecordGClearData")},
     { NULL, NULL }
 };
 
 static PyTypeObject record_Type = {
-	PyVarObject_HEAD_INIT(NULL, 0)
-	"_msi.Record",		/*tp_name*/
-	sizeof(msiobj),	/*tp_basicsize*/
-	0,			/*tp_itemsize*/
-	/* methods */
-	(destructor)msiobj_dealloc, /*tp_dealloc*/
-	0,			/*tp_print*/
-	0,			/*tp_getattr*/
-	0,			/*tp_setattr*/
-	0,			/*tp_reserved*/
-	0,			/*tp_repr*/
-	0,			/*tp_as_number*/
-	0,			/*tp_as_sequence*/
-	0,			/*tp_as_mapping*/
-	0,			/*tp_hash*/
+        PyVarObject_HEAD_INIT(NULL, 0)
+        "_msi.Record",          /*tp_name*/
+        sizeof(msiobj), /*tp_basicsize*/
+        0,                      /*tp_itemsize*/
+        /* methods */
+        (destructor)msiobj_dealloc, /*tp_dealloc*/
+        0,                      /*tp_print*/
+        0,                      /*tp_getattr*/
+        0,                      /*tp_setattr*/
+        0,                      /*tp_reserved*/
+        0,                      /*tp_repr*/
+        0,                      /*tp_as_number*/
+        0,                      /*tp_as_sequence*/
+        0,                      /*tp_as_mapping*/
+        0,                      /*tp_hash*/
         0,                      /*tp_call*/
         0,                      /*tp_str*/
         PyObject_GenericGetAttr,/*tp_getattro*/
@@ -513,8 +513,8 @@
     msiobj *result = PyObject_NEW(struct msiobj, &record_Type);
 
     if (!result) {
-	MsiCloseHandle(h);
-	return NULL;
+        MsiCloseHandle(h);
+        return NULL;
     }
 
     result->h = h;
@@ -537,27 +537,27 @@
     DWORD ssize = sizeof(sval);
 
     if (!PyArg_ParseTuple(args, "i:GetProperty", &field))
-	return NULL;
+        return NULL;
 
-    status = MsiSummaryInfoGetProperty(si->h, field, &type, &ival, 
-	&fval, sval, &ssize);
+    status = MsiSummaryInfoGetProperty(si->h, field, &type, &ival,
+        &fval, sval, &ssize);
     if (status == ERROR_MORE_DATA) {
-	sval = malloc(ssize);
-        status = MsiSummaryInfoGetProperty(si->h, field, &type, &ival, 
-    	    &fval, sval, &ssize);
+        sval = malloc(ssize);
+        status = MsiSummaryInfoGetProperty(si->h, field, &type, &ival,
+            &fval, sval, &ssize);
     }
 
     switch(type) {
-	case VT_I2: case VT_I4:
-	    return PyLong_FromLong(ival);
-	case VT_FILETIME:
-	    PyErr_SetString(PyExc_NotImplementedError, "FILETIME result");
-	    return NULL;
-	case VT_LPSTR:
-	    result = PyBytes_FromStringAndSize(sval, ssize);
-	    if (sval != sbuf)
-		free(sval);
-	    return result;
+        case VT_I2: case VT_I4:
+            return PyLong_FromLong(ival);
+        case VT_FILETIME:
+            PyErr_SetString(PyExc_NotImplementedError, "FILETIME result");
+            return NULL;
+        case VT_LPSTR:
+            result = PyBytes_FromStringAndSize(sval, ssize);
+            if (sval != sbuf)
+                free(sval);
+            return result;
     }
     PyErr_Format(PyExc_NotImplementedError, "result of type %d", type);
     return NULL;
@@ -571,7 +571,7 @@
 
     status = MsiSummaryInfoGetPropertyCount(si->h, &result);
     if (status != ERROR_SUCCESS)
-	return msierror(status);
+        return msierror(status);
 
     return PyLong_FromLong(result);
 }
@@ -584,25 +584,25 @@
     PyObject* data;
 
     if (!PyArg_ParseTuple(args, "iO:SetProperty", &field, &data))
-	return NULL;
+        return NULL;
 
     if (PyUnicode_Check(data)) {
-	status = MsiSummaryInfoSetPropertyW(si->h, field, VT_LPSTR,
-	    0, NULL, PyUnicode_AsUnicode(data));
+        status = MsiSummaryInfoSetPropertyW(si->h, field, VT_LPSTR,
+            0, NULL, PyUnicode_AsUnicode(data));
     } else if (PyLong_CheckExact(data)) {
-	long value = PyLong_AsLong(data);
-	if (value == -1 && PyErr_Occurred()) {
-	    return NULL;
-	}
-	status = MsiSummaryInfoSetProperty(si->h, field, VT_I4,
-	    value, NULL, NULL);
+        long value = PyLong_AsLong(data);
+        if (value == -1 && PyErr_Occurred()) {
+            return NULL;
+        }
+        status = MsiSummaryInfoSetProperty(si->h, field, VT_I4,
+            value, NULL, NULL);
     } else {
-	PyErr_SetString(PyExc_TypeError, "unsupported type");
-	return NULL;
+        PyErr_SetString(PyExc_TypeError, "unsupported type");
+        return NULL;
     }
-    
+
     if (status != ERROR_SUCCESS)
-	return msierror(status);
+        return msierror(status);
 
     Py_INCREF(Py_None);
     return Py_None;
@@ -616,39 +616,39 @@
 
     status = MsiSummaryInfoPersist(si->h);
     if (status != ERROR_SUCCESS)
-	return msierror(status);
+        return msierror(status);
     Py_INCREF(Py_None);
     return Py_None;
 }
 
 static PyMethodDef summary_methods[] = {
-    { "GetProperty", (PyCFunction)summary_getproperty, METH_VARARGS, 
-	PyDoc_STR("GetProperty(propid) -> value\nWraps MsiSummaryInfoGetProperty")},
-    { "GetPropertyCount", (PyCFunction)summary_getpropertycount, METH_NOARGS, 
-	PyDoc_STR("GetProperty() -> int\nWraps MsiSummaryInfoGetPropertyCount")},
-    { "SetProperty", (PyCFunction)summary_setproperty, METH_VARARGS, 
-	PyDoc_STR("SetProperty(value) -> None\nWraps MsiSummaryInfoProperty")},
-    { "Persist", (PyCFunction)summary_persist, METH_NOARGS, 
-	PyDoc_STR("Persist() -> None\nWraps MsiSummaryInfoPersist")},
+    { "GetProperty", (PyCFunction)summary_getproperty, METH_VARARGS,
+        PyDoc_STR("GetProperty(propid) -> value\nWraps MsiSummaryInfoGetProperty")},
+    { "GetPropertyCount", (PyCFunction)summary_getpropertycount, METH_NOARGS,
+        PyDoc_STR("GetProperty() -> int\nWraps MsiSummaryInfoGetPropertyCount")},
+    { "SetProperty", (PyCFunction)summary_setproperty, METH_VARARGS,
+        PyDoc_STR("SetProperty(value) -> None\nWraps MsiSummaryInfoProperty")},
+    { "Persist", (PyCFunction)summary_persist, METH_NOARGS,
+        PyDoc_STR("Persist() -> None\nWraps MsiSummaryInfoPersist")},
     { NULL, NULL }
 };
 
 static PyTypeObject summary_Type = {
-	PyVarObject_HEAD_INIT(NULL, 0)
-	"_msi.SummaryInformation",		/*tp_name*/
-	sizeof(msiobj),	/*tp_basicsize*/
-	0,			/*tp_itemsize*/
-	/* methods */
-	(destructor)msiobj_dealloc, /*tp_dealloc*/
-	0,			/*tp_print*/
-	0,			/*tp_getattr*/
-	0,			/*tp_setattr*/
-	0,			/*tp_reserved*/
-	0,			/*tp_repr*/
-	0,			/*tp_as_number*/
-	0,			/*tp_as_sequence*/
-	0,			/*tp_as_mapping*/
-	0,			/*tp_hash*/
+        PyVarObject_HEAD_INIT(NULL, 0)
+        "_msi.SummaryInformation",              /*tp_name*/
+        sizeof(msiobj), /*tp_basicsize*/
+        0,                      /*tp_itemsize*/
+        /* methods */
+        (destructor)msiobj_dealloc, /*tp_dealloc*/
+        0,                      /*tp_print*/
+        0,                      /*tp_getattr*/
+        0,                      /*tp_setattr*/
+        0,                      /*tp_reserved*/
+        0,                      /*tp_repr*/
+        0,                      /*tp_as_number*/
+        0,                      /*tp_as_sequence*/
+        0,                      /*tp_as_mapping*/
+        0,                      /*tp_hash*/
         0,                      /*tp_call*/
         0,                      /*tp_str*/
         PyObject_GenericGetAttr,/*tp_getattro*/
@@ -687,7 +687,7 @@
     PyObject *oparams = Py_None;
 
     if (!PyArg_ParseTuple(args, "O:Execute", &oparams))
-	return NULL;
+        return NULL;
 
     if (oparams != Py_None) {
         if (oparams->ob_type != &record_Type) {
@@ -699,7 +699,7 @@
 
     status = MsiViewExecute(view->h, params);
     if (status != ERROR_SUCCESS)
-	return msierror(status);
+        return msierror(status);
 
     Py_INCREF(Py_None);
     return Py_None;
@@ -712,7 +712,7 @@
     MSIHANDLE result;
 
     if ((status = MsiViewFetch(view->h, &result)) != ERROR_SUCCESS)
-	return msierror(status);
+        return msierror(status);
 
     return record_new(result);
 }
@@ -725,10 +725,10 @@
     MSIHANDLE result;
 
     if (!PyArg_ParseTuple(args, "i:GetColumnInfo", &kind))
-	return NULL;
+        return NULL;
 
     if ((status = MsiViewGetColumnInfo(view->h, kind, &result)) != ERROR_SUCCESS)
-	return msierror(status);
+        return msierror(status);
 
     return record_new(result);
 }
@@ -741,15 +741,15 @@
     int status;
 
     if (!PyArg_ParseTuple(args, "iO:Modify", &kind, &data))
-	return NULL;
+        return NULL;
 
     if (data->ob_type != &record_Type) {
-	PyErr_SetString(PyExc_TypeError, "Modify expects a record object");
-	return NULL;
+        PyErr_SetString(PyExc_TypeError, "Modify expects a record object");
+        return NULL;
     }
 
     if ((status = MsiViewModify(view->h, kind, ((msiobj*)data)->h)) != ERROR_SUCCESS)
-	return msierror(status);
+        return msierror(status);
 
     Py_INCREF(Py_None);
     return Py_None;
@@ -761,42 +761,42 @@
     int status;
 
     if ((status = MsiViewClose(view->h)) != ERROR_SUCCESS)
-	return msierror(status);
+        return msierror(status);
 
     Py_INCREF(Py_None);
     return Py_None;
 }
 
 static PyMethodDef view_methods[] = {
-    { "Execute", (PyCFunction)view_execute, METH_VARARGS, 
-	PyDoc_STR("Execute(params=None) -> None\nWraps MsiViewExecute")},
+    { "Execute", (PyCFunction)view_execute, METH_VARARGS,
+        PyDoc_STR("Execute(params=None) -> None\nWraps MsiViewExecute")},
     { "GetColumnInfo", (PyCFunction)view_getcolumninfo, METH_VARARGS,
-	PyDoc_STR("GetColumnInfo() -> result\nWraps MsiGetColumnInfo")},
+        PyDoc_STR("GetColumnInfo() -> result\nWraps MsiGetColumnInfo")},
     { "Fetch", (PyCFunction)view_fetch, METH_NOARGS,
-	PyDoc_STR("Fetch() -> result\nWraps MsiViewFetch")},
+        PyDoc_STR("Fetch() -> result\nWraps MsiViewFetch")},
     { "Modify", (PyCFunction)view_modify, METH_VARARGS,
-	PyDoc_STR("Modify(mode,record) -> None\nWraps MsiViewModify")},
+        PyDoc_STR("Modify(mode,record) -> None\nWraps MsiViewModify")},
     { "Close", (PyCFunction)view_close, METH_NOARGS,
-	PyDoc_STR("Close() -> result\nWraps MsiViewClose")},
+        PyDoc_STR("Close() -> result\nWraps MsiViewClose")},
     { NULL, NULL }
 };
 
 static PyTypeObject msiview_Type = {
-	PyVarObject_HEAD_INIT(NULL, 0)
-	"_msi.View",		/*tp_name*/
-	sizeof(msiobj),	/*tp_basicsize*/
-	0,			/*tp_itemsize*/
-	/* methods */
-	(destructor)msiobj_dealloc, /*tp_dealloc*/
-	0,			/*tp_print*/
-	0,			/*tp_getattr*/
-	0,			/*tp_setattr*/
-	0,			/*tp_reserved*/
-	0,			/*tp_repr*/
-	0,			/*tp_as_number*/
-	0,			/*tp_as_sequence*/
-	0,			/*tp_as_mapping*/
-	0,			/*tp_hash*/
+        PyVarObject_HEAD_INIT(NULL, 0)
+        "_msi.View",            /*tp_name*/
+        sizeof(msiobj), /*tp_basicsize*/
+        0,                      /*tp_itemsize*/
+        /* methods */
+        (destructor)msiobj_dealloc, /*tp_dealloc*/
+        0,                      /*tp_print*/
+        0,                      /*tp_getattr*/
+        0,                      /*tp_setattr*/
+        0,                      /*tp_reserved*/
+        0,                      /*tp_repr*/
+        0,                      /*tp_as_number*/
+        0,                      /*tp_as_sequence*/
+        0,                      /*tp_as_mapping*/
+        0,                      /*tp_hash*/
         0,                      /*tp_call*/
         0,                      /*tp_str*/
         PyObject_GenericGetAttr,/*tp_getattro*/
@@ -836,15 +836,15 @@
     msiobj *result;
 
     if (!PyArg_ParseTuple(args, "s:OpenView", &sql))
-	return NULL;
+        return NULL;
 
     if ((status = MsiDatabaseOpenView(msidb->h, sql, &hView)) != ERROR_SUCCESS)
-	return msierror(status);
+        return msierror(status);
 
     result = PyObject_NEW(struct msiobj, &msiview_Type);
     if (!result) {
-	MsiCloseHandle(hView);
-	return NULL;
+        MsiCloseHandle(hView);
+        return NULL;
     }
 
     result->h = hView;
@@ -857,7 +857,7 @@
     int status;
 
     if ((status = MsiDatabaseCommit(msidb->h)) != ERROR_SUCCESS)
-	return msierror(status);
+        return msierror(status);
 
     Py_INCREF(Py_None);
     return Py_None;
@@ -872,16 +872,16 @@
     msiobj *oresult;
 
     if (!PyArg_ParseTuple(args, "i:GetSummaryInformation", &count))
-	return NULL;
+        return NULL;
 
     status = MsiGetSummaryInformation(db->h, NULL, count, &result);
     if (status != ERROR_SUCCESS)
-	return msierror(status);
+        return msierror(status);
 
     oresult = PyObject_NEW(struct msiobj, &summary_Type);
     if (!result) {
-	MsiCloseHandle(result);
-	return NULL;
+        MsiCloseHandle(result);
+        return NULL;
     }
 
     oresult->h = result;
@@ -889,31 +889,31 @@
 }
 
 static PyMethodDef db_methods[] = {
-    { "OpenView", (PyCFunction)msidb_openview, METH_VARARGS, 
-	PyDoc_STR("OpenView(sql) -> viewobj\nWraps MsiDatabaseOpenView")},
+    { "OpenView", (PyCFunction)msidb_openview, METH_VARARGS,
+        PyDoc_STR("OpenView(sql) -> viewobj\nWraps MsiDatabaseOpenView")},
     { "Commit", (PyCFunction)msidb_commit, METH_NOARGS,
-	PyDoc_STR("Commit() -> None\nWraps MsiDatabaseCommit")},
-    { "GetSummaryInformation", (PyCFunction)msidb_getsummaryinformation, METH_VARARGS, 
-	PyDoc_STR("GetSummaryInformation(updateCount) -> viewobj\nWraps MsiGetSummaryInformation")},
+        PyDoc_STR("Commit() -> None\nWraps MsiDatabaseCommit")},
+    { "GetSummaryInformation", (PyCFunction)msidb_getsummaryinformation, METH_VARARGS,
+        PyDoc_STR("GetSummaryInformation(updateCount) -> viewobj\nWraps MsiGetSummaryInformation")},
     { NULL, NULL }
 };
 
 static PyTypeObject msidb_Type = {
-	PyVarObject_HEAD_INIT(NULL, 0)
-	"_msi.Database",		/*tp_name*/
-	sizeof(msiobj),	/*tp_basicsize*/
-	0,			/*tp_itemsize*/
-	/* methods */
-	(destructor)msiobj_dealloc, /*tp_dealloc*/
-	0,			/*tp_print*/
-	0,			/*tp_getattr*/
-	0,			/*tp_setattr*/
-	0,			/*tp_reserved*/
-	0,			/*tp_repr*/
-	0,			/*tp_as_number*/
-	0,			/*tp_as_sequence*/
-	0,			/*tp_as_mapping*/
-	0,			/*tp_hash*/
+        PyVarObject_HEAD_INIT(NULL, 0)
+        "_msi.Database",                /*tp_name*/
+        sizeof(msiobj), /*tp_basicsize*/
+        0,                      /*tp_itemsize*/
+        /* methods */
+        (destructor)msiobj_dealloc, /*tp_dealloc*/
+        0,                      /*tp_print*/
+        0,                      /*tp_getattr*/
+        0,                      /*tp_setattr*/
+        0,                      /*tp_reserved*/
+        0,                      /*tp_repr*/
+        0,                      /*tp_as_number*/
+        0,                      /*tp_as_sequence*/
+        0,                      /*tp_as_mapping*/
+        0,                      /*tp_hash*/
         0,                      /*tp_call*/
         0,                      /*tp_str*/
         PyObject_GenericGetAttr,/*tp_getattro*/
@@ -949,18 +949,18 @@
     int persist;
     MSIHANDLE h;
     msiobj *result;
-    
-    if (!PyArg_ParseTuple(args, "si:MSIOpenDatabase", &path, &persist))
-	return NULL;
 
-	status = MsiOpenDatabase(path, (LPCSTR)persist, &h);
+    if (!PyArg_ParseTuple(args, "si:MSIOpenDatabase", &path, &persist))
+        return NULL;
+
+        status = MsiOpenDatabase(path, (LPCSTR)persist, &h);
     if (status != ERROR_SUCCESS)
-	return msierror(status);
+        return msierror(status);
 
     result = PyObject_NEW(struct msiobj, &msidb_Type);
     if (!result) {
-	MsiCloseHandle(h);
-	return NULL;
+        MsiCloseHandle(h);
+        return NULL;
     }
     result->h = h;
     return (PyObject*)result;
@@ -973,11 +973,11 @@
     MSIHANDLE h;
 
     if (!PyArg_ParseTuple(args, "i:CreateRecord", &count))
-	return NULL;
-    
+        return NULL;
+
     h = MsiCreateRecord(count);
     if (h == 0)
-	return msierror(0);
+        return msierror(0);
 
     return record_new(h);
 }
@@ -985,29 +985,29 @@
 
 static PyMethodDef msi_methods[] = {
         {"UuidCreate", (PyCFunction)uuidcreate, METH_NOARGS,
-		PyDoc_STR("UuidCreate() -> string")},
-	{"FCICreate",	(PyCFunction)fcicreate,	METH_VARARGS,
-		PyDoc_STR("fcicreate(cabname,files) -> None")},
-	{"OpenDatabase", (PyCFunction)msiopendb, METH_VARARGS,
-	PyDoc_STR("OpenDatabase(name, flags) -> dbobj\nWraps MsiOpenDatabase")},
-	{"CreateRecord", (PyCFunction)createrecord, METH_VARARGS,
-	PyDoc_STR("OpenDatabase(name, flags) -> dbobj\nWraps MsiCreateRecord")},
-	{NULL,		NULL}		/* sentinel */
+                PyDoc_STR("UuidCreate() -> string")},
+        {"FCICreate",   (PyCFunction)fcicreate, METH_VARARGS,
+                PyDoc_STR("fcicreate(cabname,files) -> None")},
+        {"OpenDatabase", (PyCFunction)msiopendb, METH_VARARGS,
+        PyDoc_STR("OpenDatabase(name, flags) -> dbobj\nWraps MsiOpenDatabase")},
+        {"CreateRecord", (PyCFunction)createrecord, METH_VARARGS,
+        PyDoc_STR("OpenDatabase(name, flags) -> dbobj\nWraps MsiCreateRecord")},
+        {NULL,          NULL}           /* sentinel */
 };
 
 static char msi_doc[] = "Documentation";
 
 
 static struct PyModuleDef _msimodule = {
-	PyModuleDef_HEAD_INIT,
-	"_msi",
-	msi_doc,
-	-1,
-	msi_methods,
-	NULL,
-	NULL,
-	NULL,
-	NULL
+        PyModuleDef_HEAD_INIT,
+        "_msi",
+        msi_doc,
+        -1,
+        msi_methods,
+        NULL,
+        NULL,
+        NULL,
+        NULL
 };
 
 PyMODINIT_FUNC
@@ -1017,7 +1017,7 @@
 
     m = PyModule_Create(&_msimodule);
     if (m == NULL)
-	return NULL;
+        return NULL;
 
     PyModule_AddIntConstant(m, "MSIDBOPEN_CREATEDIRECT", (int)MSIDBOPEN_CREATEDIRECT);
     PyModule_AddIntConstant(m, "MSIDBOPEN_CREATE", (int)MSIDBOPEN_CREATE);
@@ -1063,7 +1063,7 @@
 
     MSIError = PyErr_NewException ("_msi.MSIError", NULL, NULL);
     if (!MSIError)
-	return NULL;
+        return NULL;
     PyModule_AddObject(m, "MSIError", MSIError);
     return m;
 }