| /* |
| * Author: Jeff Thompson |
| * |
| * BSD license, See the LICENSE file for more information. |
| */ |
| |
| #include "DynamicUCharArray.h" |
| |
| char *ndn_DynamicUCharArray_reallocArray(struct ndn_DynamicUCharArray *self, unsigned int length) |
| { |
| if (!self->realloc) |
| return "ndn_DynamicUCharArray_reallocArray: realloc function pointer not supplied"; |
| |
| // See if double is enough. |
| unsigned int newLength = self->length * 2; |
| if (length > newLength) |
| // The needed length is much greater, so use it. |
| newLength = length; |
| |
| unsigned char *newArray = (*self->realloc)(self->array, newLength); |
| if (!newArray) |
| return "ndn_DynamicUCharArray_reallocArray: realloc failed"; |
| |
| self->array = newArray; |
| self->length = newLength; |
| |
| return 0; |
| } |