1 #include <stdarg.h>
2 
3 /* This is how ux_utility_memory_allocate calculates the final memory size. */
calculate_final_memory_request_size(UINT count,...)4 static UINT calculate_final_memory_request_size(UINT count, ...)
5 {
6 
7 UINT original_memory_size_requested;
8 UINT memory_size_requested;
9 UINT total_final_memory_size = 0;
10 
11 
12     va_list args;
13     va_start(args, count);
14 
15     while(count-- > 0)
16     {
17         original_memory_size_requested = va_arg(args, UINT);
18 
19         memory_size_requested = (original_memory_size_requested + UX_ALIGN_MIN) & (UINT)~UX_ALIGN_MIN;
20         memory_size_requested += sizeof(UX_MEMORY_BLOCK);
21 
22         total_final_memory_size += memory_size_requested;
23     }
24 
25     total_final_memory_size += sizeof(UX_MEMORY_BLOCK);
26     total_final_memory_size += 1;
27 
28     return total_final_memory_size;
29 }
30