r24780: More work allowing libutil to be used by external users.
[kai/samba.git] / source4 / lib / util / data_blob.c
index ca04b70eb229c583d7b78bdb1670b5f0118fd7d0..117043f95c2fd0e50480a44c1f81ce3ab13e395c 100644 (file)
@@ -6,7 +6,7 @@
    
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
+   the Free Software Foundation; either version 3 of the License, or
    (at your option) any later version.
    
    This program is distributed in the hope that it will be useful,
@@ -15,8 +15,7 @@
    GNU General Public License for more details.
    
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
 #include "includes.h"
@@ -197,38 +196,37 @@ _PUBLIC_ DATA_BLOB data_blob_const(const void *p, size_t length)
 /**
   realloc a data_blob
 **/
-_PUBLIC_ NTSTATUS data_blob_realloc(TALLOC_CTX *mem_ctx, DATA_BLOB *blob, size_t length)
+_PUBLIC_ bool data_blob_realloc(TALLOC_CTX *mem_ctx, DATA_BLOB *blob, size_t length)
 {
        blob->data = talloc_realloc_size(mem_ctx, blob->data, length);
-       NT_STATUS_HAVE_NO_MEMORY(blob->data);   
+       if (blob->data == NULL)
+               return false;
        blob->length = length;
-       return NT_STATUS_OK;
+       return true;
 }
 
 
 /**
   append some data to a data blob
 **/
-_PUBLIC_ NTSTATUS data_blob_append(TALLOC_CTX *mem_ctx, DATA_BLOB *blob,
+_PUBLIC_ bool data_blob_append(TALLOC_CTX *mem_ctx, DATA_BLOB *blob,
                                   const void *p, size_t length)
 {
-       NTSTATUS status;
        size_t old_len = blob->length;
        size_t new_len = old_len + length;
        if (new_len < length || new_len < old_len) {
-               return NT_STATUS_NO_MEMORY;
+               return false;
        }
 
        if ((const uint8_t *)p + length < (const uint8_t *)p) {
-               return NT_STATUS_NO_MEMORY;
+               return false;
        }
        
-       status = data_blob_realloc(mem_ctx, blob, new_len);
-       if (!NT_STATUS_IS_OK(status)) {
-               return status;
+       if (!data_blob_realloc(mem_ctx, blob, new_len)) {
+               return false;
        }
 
        memcpy(blob->data + old_len, p, length);
-       return NT_STATUS_OK;
+       return true;
 }