2011-06-14 13:35:44 +04:00
|
|
|
#include <stdio.h>
|
|
|
|
#include <stdlib.h>
|
|
|
|
#include <string.h>
|
|
|
|
|
2011-06-15 20:00:24 +04:00
|
|
|
#include "xalloc.h"
|
2011-06-14 13:35:44 +04:00
|
|
|
#include "zalloc.h"
|
2011-06-15 20:00:24 +04:00
|
|
|
#include "zalloc_ext.h"
|
2011-06-14 13:35:44 +04:00
|
|
|
|
2011-06-15 20:00:24 +04:00
|
|
|
int main()
|
2011-06-14 13:35:44 +04:00
|
|
|
{
|
2011-06-15 20:00:24 +04:00
|
|
|
/* Duplicate functions
|
|
|
|
*/
|
|
|
|
void *zptr = zmalloc(384932);
|
|
|
|
|
|
|
|
void *zptr2 = zalloc_dup(zptr);
|
|
|
|
|
|
|
|
void *arr = xmalloc(9832472);
|
|
|
|
void *zptr3 = zalloc_dup_usual(arr, 9832472);
|
|
|
|
void *zptr4_str = zalloc_dup_usual_str("Hello, world!");
|
|
|
|
|
|
|
|
/* Append functions
|
|
|
|
*/
|
|
|
|
zptr = zalloc_append(zptr, zptr2);
|
|
|
|
zptr4_str = zalloc_append_str(zptr4_str, zptr4_str);
|
|
|
|
zptr2 = zalloc_append_usual(zptr2, arr, 9832472);
|
|
|
|
zptr4_str = zalloc_append_usual_str(zptr4_str, " - twice :)");
|
|
|
|
puts(zptr4_str);
|
2011-06-16 13:39:31 +04:00
|
|
|
zptr = zalloc_append8(zptr, 'a');
|
|
|
|
zptr4_str = zalloc_append8_str(zptr4_str, 'E');
|
|
|
|
puts(zptr4_str);
|
|
|
|
zptr = zalloc_append16(zptr, 12345);
|
|
|
|
zptr4_str = zalloc_append16_str(zptr4_str, ('H' << 8) + 'H');
|
|
|
|
puts(zptr4_str);
|
|
|
|
zptr = zalloc_append32(zptr, 65489498L);
|
|
|
|
zptr4_str = zalloc_append32_str(zptr4_str, (((((('4' << 8) + '4') << 8) + '4') << 8) + '4'));
|
|
|
|
puts(zptr4_str);
|
|
|
|
zptr3 = zalloc_append64(zptr3, 3232423423423LLU);
|
2011-07-13 17:13:47 +04:00
|
|
|
zptr = zalloc_append_ptr(zptr, (void *)93842);
|
|
|
|
|
2011-06-16 13:39:31 +04:00
|
|
|
int64_t i64 = 1561;
|
|
|
|
int i;
|
|
|
|
for (i = 0; i < 8; i++)
|
|
|
|
i64 = (i64 << 8) + '8';
|
|
|
|
printf("%x %x %x %x\n", *((char *)&i64 + 0), *((char *)&i64 + 1), *((char *)&i64 + 2), *((char *)&i64 + 3));
|
|
|
|
zptr4_str = zalloc_append64_str(zptr4_str, i64);
|
|
|
|
puts(zptr4_str);
|
|
|
|
|
|
|
|
/* Cut/Copy/Insert functions
|
|
|
|
*/
|
|
|
|
zptr3 = zalloc_cut(zptr3, 6547, 564);
|
|
|
|
zptr4_str = zalloc_cut_str(zptr4_str, 5, 7);
|
|
|
|
puts(zptr4_str);
|
|
|
|
void *zptr5 = zalloc_copy(zptr2, 8424, 345);
|
|
|
|
void *zptr6_str = zalloc_copy_str(zptr4_str, 6, 13);
|
|
|
|
puts(zptr6_str);
|
|
|
|
zptr5 = zalloc_insert(zptr5, 0, zptr);
|
|
|
|
zptr4_str = zalloc_insert_str(zptr4_str, 31, zptr6_str);
|
|
|
|
puts(zptr4_str);
|
|
|
|
void *arr2 = zmalloc(54547);
|
|
|
|
zptr2 = zalloc_insert_usual(zptr2, zalloc_size(zptr2) - 3, arr2, zalloc_size(arr2));
|
|
|
|
zptr4_str = zalloc_insert_usual_str(zptr4_str, 5, ":zalloc_insert_usual_str():");
|
|
|
|
puts(zptr4_str);
|
|
|
|
zptr5 = zalloc_insert8(zptr5, 9874, 'd');
|
|
|
|
zptr6_str = zalloc_insert8_str(zptr6_str, 0, '0');
|
|
|
|
puts(zptr6_str);
|
|
|
|
zptr5 = zalloc_insert16(zptr5, 9874, 5478);
|
|
|
|
zptr6_str = zalloc_insert16_str(zptr6_str, 1, ('1' << 8) + '1');
|
|
|
|
puts(zptr6_str);
|
|
|
|
zptr5 = zalloc_insert32(zptr5, 9874, 5478323);
|
|
|
|
zptr6_str = zalloc_insert32_str(zptr6_str, 0, (((((('4' << 8) + '4') << 8) + '4') << 8) + '4'));
|
|
|
|
puts(zptr6_str);
|
|
|
|
zptr5 = zalloc_insert64(zptr5, 9874, 5478433443LU);
|
|
|
|
zptr6_str = zalloc_insert64_str(zptr6_str, zalloc_size(zptr6_str) - 1, i64);
|
|
|
|
puts(zptr6_str);
|
2011-07-13 17:13:47 +04:00
|
|
|
zptr = zalloc_insert_ptr(zptr, 8, (void *)93842);
|
2011-06-14 13:35:44 +04:00
|
|
|
|
|
|
|
return EXIT_SUCCESS;
|
|
|
|
}
|