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,...)4static 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