(MOD) Fixed 1 bug in Memory_Reallocate: Now the size of inst is updating with the given size used for reallocation.

(MOD) Replaced struct member prev from UnknownStatus, NormalStatus and ErrorStatus from NULL to &UnknownStatus, &NormalStatus and &ErrorStatus.

(MOD) Rewrote Status_Equal, StatusUtils_Dump, StatusUtils_IsRecursive and StatusUtils_Depth in response to the change of struct member prev from UnknownStatus, NormalStatus and ErrorStatus.

(MOD) Defined 1 more macro "shift".
This commit is contained in:
2024-06-27 16:01:01 +08:00
parent 310586ab86
commit 9f2b44bf99
5 changed files with 76 additions and 51 deletions

38
test.c
View File

@@ -1,4 +1,3 @@
#include "Status/include/status.h"
#include <Compound/array.h>
#include <Compound/catlog.h>
#include <Compound/common.h>
@@ -14,13 +13,48 @@ Status func(void)
__attribute__((constructor))
void __CONSTRUCT__() {
cat("Hello, Compound!\n");
cat("Hello, Compound!");
}
__attribute__((destructor))
void __DESTRUCT__() {}
Status Main(void)
{
Memory mem;
fail(Memory_Create(&mem, sizeof(double)));
fail(Memory_Allocate(&mem));
(void)printf("%p:%ld\n", mem.addr, mem.size);
fail(Memory_Reallocate(&mem, sizeof(char)));
(void)printf("%p:%ld\n", mem.addr, mem.size);
fail(Memory_Release(&mem));
fail(Memory_Delete(&mem));
return apply(NormalStatus);
}
int tfunc(void)
{
vfail(apply(ErrorStatus), 1);
return 0;
}
Status MainMacroFailsTest(void)
{
unsure(apply(value(TraditionalFunctionReturn, tfunc())), _.value,
nest(_, __, fails(shift(__, STATUS_ERROR), "Failed on execution from tfunc.")));
return apply(NormalStatus);
}
Status MainArrayCreateAndDeleteWithModulatedMemberAccessing(void)
{
Array arr;
fail(Array_Create(&arr, 8, sizeof(int)));