Changed the interface parameters
[people/mcb30/basetools.git] / Source / C / PyEfiCompressor / EfiCompressor.c
index ab2df35..38a81c3 100644 (file)
@@ -8,8 +8,8 @@ STATIC
 PyObject*\r
 UefiDecompress(\r
   PyObject    *Self,\r
-  PyObject    *Args,\r
-  ) \r
+  PyObject    *Args\r
+  )\r
 {\r
   PyObject      *SrcData;\r
   UINT32        SrcDataSize;\r
@@ -23,10 +23,9 @@ UefiDecompress(
 \r
   Status = PyArg_ParseTuple(\r
             Args,\r
-            "Oii",\r
+            "Oi",\r
             &SrcData,\r
-            &SrcDataSize,\r
-            &DstDataSize\r
+            &SrcDataSize\r
             );\r
   if (Status == 0) {\r
     return NULL;\r
@@ -41,9 +40,8 @@ UefiDecompress(
 \r
   // Because some Python objects which support "buffer" protocol have more than one\r
   // memory segment, we have to copy them into a contiguous memory.\r
-  SrcBuf = malloc(SrcDataSize);\r
-  DstBuf = malloc(DstDataSize);\r
-  if (SrcBuf == NULL || DstBuf == NULL) {\r
+  SrcBuf = PyMem_Malloc(SrcDataSize);\r
+  if (SrcBuf == NULL) {\r
     PyErr_SetString(PyExc_Exception, "Not enough memory\n");\r
     goto ERROR;\r
   }\r
@@ -63,7 +61,7 @@ UefiDecompress(
     TmpBuf += Len;\r
   }\r
 \r
-  Status = Extract((VOID *)SrcBuf, SrcDataSize, (VOID *)DstBuf, DstDataSize, 1);\r
+  Status = Extract((VOID *)SrcBuf, SrcDataSize, (VOID **)&DstBuf, &DstDataSize, 1);\r
   if (Status != EFI_SUCCESS) {\r
     PyErr_SetString(PyExc_Exception, "Failed to decompress\n");\r
     goto ERROR;\r
@@ -102,10 +100,9 @@ FrameworkDecompress(
 \r
   Status = PyArg_ParseTuple(\r
             Args,\r
-            "Oii",\r
+            "Oi",\r
             &SrcData,\r
-            &SrcDataSize,\r
-            &DstDataSize\r
+            &SrcDataSize\r
             );\r
   if (Status == 0) {\r
     return NULL;\r
@@ -120,9 +117,8 @@ FrameworkDecompress(
 \r
   // Because some Python objects which support "buffer" protocol have more than one\r
   // memory segment, we have to copy them into a contiguous memory.\r
-  SrcBuf = malloc(SrcDataSize);\r
-  DstBuf = malloc(DstDataSize);\r
-  if (SrcBuf == NULL || DstBuf == NULL) {\r
+  SrcBuf = PyMem_Malloc(SrcDataSize);\r
+  if (SrcBuf == NULL) {\r
     PyErr_SetString(PyExc_Exception, "Not enough memory\n");\r
     goto ERROR;\r
   }\r
@@ -142,7 +138,7 @@ FrameworkDecompress(
     TmpBuf += Len;\r
   }\r
 \r
-  Status = Extract((VOID *)SrcBuf, SrcDataSize, (VOID *)DstBuf, DstDataSize, 2);\r
+  Status = Extract((VOID *)SrcBuf, SrcDataSize, (VOID **)&DstBuf, &DstDataSize, 2);\r
   if (Status != EFI_SUCCESS) {\r
     PyErr_SetString(PyExc_Exception, "Failed to decompress\n");\r
     goto ERROR;\r
@@ -167,7 +163,7 @@ PyObject*
 UefiCompress(\r
   PyObject    *Self,\r
   PyObject    *Args\r
-  ) \r
+  )\r
 {\r
   return NULL;\r
 }\r