summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/lzma/CPP/Windows/MemoryGlobal.cpp
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2023-05-04 02:41:16 +1000
committer Vas Crabb <vas@vastheman.com>2023-05-04 02:41:16 +1000
commita504bde3a7462b54fafd5cfc2f52e58d0f3218e1 (patch)
tree8b3108d572b1a0873a6cdbb4e8af1f17179545c3 /3rdparty/lzma/CPP/Windows/MemoryGlobal.cpp
parentbefb9bf4a8cfdb2b693a32e32535b5eac522c5d8 (diff)
3rdparty/lzma: Updated to LZMA SDK version 22.01
Diffstat (limited to '3rdparty/lzma/CPP/Windows/MemoryGlobal.cpp')
-rw-r--r--3rdparty/lzma/CPP/Windows/MemoryGlobal.cpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/3rdparty/lzma/CPP/Windows/MemoryGlobal.cpp b/3rdparty/lzma/CPP/Windows/MemoryGlobal.cpp
new file mode 100644
index 00000000000..2a22394b39d
--- /dev/null
+++ b/3rdparty/lzma/CPP/Windows/MemoryGlobal.cpp
@@ -0,0 +1,36 @@
+// Windows/MemoryGlobal.cpp
+
+#include "StdAfx.h"
+
+#include "MemoryGlobal.h"
+
+namespace NWindows {
+namespace NMemory {
+
+bool CGlobal::Alloc(UINT flags, SIZE_T size) throw()
+{
+ HGLOBAL newBlock = ::GlobalAlloc(flags, size);
+ if (newBlock == NULL)
+ return false;
+ _global = newBlock;
+ return true;
+}
+
+bool CGlobal::Free() throw()
+{
+ if (_global == NULL)
+ return true;
+ _global = ::GlobalFree(_global);
+ return (_global == NULL);
+}
+
+bool CGlobal::ReAlloc(SIZE_T size) throw()
+{
+ HGLOBAL newBlock = ::GlobalReAlloc(_global, size, GMEM_MOVEABLE);
+ if (newBlock == NULL)
+ return false;
+ _global = newBlock;
+ return true;
+}
+
+}}