Welcome to mirror list, hosted at ThFree Co, Russian Federation.

AlignedBuffer.cpp « Common - github.com/kornelski/7z.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: ec472ced4ab2c9696aa0b30305047a6cfaaf66ea (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// AlignedBuffer.cpp

#include "StdAfx.h"

#include "AlignedBuffer.h"

void *CAlignedBuffer::Allocate(size_t size, size_t mask)
{
  Free();
  m_Buffer = new unsigned char[size + mask];
  unsigned char *p = m_Buffer;
  while(((size_t)p & mask) != 0)
    p++;
  return (void *)p;
}

void CAlignedBuffer::Free()
{
  if (m_Buffer != 0)
    delete []m_Buffer;
  m_Buffer = 0;
}