/*
- * Copyright (c) 2011-2014 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2011-2020 Samsung Electronics Co., Ltd All Rights Reserved
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
*/
#include <algorithm>
+#include <cassert>
#include <cstring>
#include <malloc.h>
#include <new>
}
void BinaryQueue::appendCopy(const void* buffer, size_t bufferSize) {
+ // Do not attach empty buckets
+ if (bufferSize == 0) {
+ return;
+ }
+
+ if (buffer == nullptr)
+ throw NullPointerException("buffer");
+
// Create data copy with malloc/free
void *bufferCopy = malloc(bufferSize);
size_t bufferSize,
BufferDeleter deleter,
void* userParam) {
+
+ if (deleter == nullptr) {
+ throw NullPointerException("deleter");
+ }
+
// Do not attach empty buckets
if (bufferSize == 0) {
deleter(buffer, bufferSize, userParam);
return;
}
+ if (buffer == nullptr) {
+ throw NullPointerException("buffer");
+ }
+
// Just add new bucket with selected deleter
Bucket *bucket = new Bucket(buffer, bufferSize, deleter, userParam);
try {
return;
}
+ if (buffer == nullptr) {
+ throw NullPointerException("buffer");
+ }
+
if (bufferSize > m_size) {
throw OutOfDataException(m_size, bufferSize);
}
deleter(dataDeleter),
param(userParam) {
- if(data == nullptr)
- throw NullPointerException("data");
-
- if(dataDeleter == nullptr)
- throw NullPointerException("dataDeleter");
+ assert(data != nullptr);
+ assert(dataDeleter != nullptr);
}
BinaryQueue::Bucket::~Bucket() {