dev/c/zalloc_ext/zalloc_ext_test.c

79 lines
2.5 KiB
C

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "xalloc.h"
#include "zalloc.h"
#include "zalloc_ext.h"
int main()
{
/* 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);
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);
zptr = zalloc_append_ptr(zptr, (void *)93842);
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);
zptr = zalloc_insert_ptr(zptr, 8, (void *)93842);
return EXIT_SUCCESS;
}