mirror of https://github.com/acidanthera/audk.git
83 lines
1.9 KiB
C
83 lines
1.9 KiB
C
/** @file
|
|
This is a test application that demonstrates how to use the sorting functions.
|
|
|
|
Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
|
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
|
|
**/
|
|
|
|
#include <Uefi.h>
|
|
#include <Library/UefiLib.h>
|
|
#include <Library/DebugLib.h>
|
|
#include <Library/ShellCEntryLib.h>
|
|
#include <Library/SortLib.h>
|
|
|
|
/**
|
|
Test comparator.
|
|
|
|
@param[in] b1 The first INTN
|
|
@param[in] b2 The other INTN
|
|
|
|
@retval 0 They are the same.
|
|
@retval -1 b1 is less than b2
|
|
@retval 1 b1 is greater then b2
|
|
**/
|
|
INTN
|
|
EFIAPI
|
|
Test (
|
|
CONST VOID *b1,
|
|
CONST VOID *b2
|
|
)
|
|
{
|
|
if (*(INTN *)b1 == *(INTN *)b2) {
|
|
return (0);
|
|
}
|
|
|
|
if (*(INTN *)b1 < *(INTN *)b2) {
|
|
return (-1);
|
|
}
|
|
|
|
return (1);
|
|
}
|
|
|
|
/**
|
|
UEFI application entry point which has an interface similar to a
|
|
standard C main function.
|
|
|
|
The ShellCEntryLib library instance wrappers the actual UEFI application
|
|
entry point and calls this ShellAppMain function.
|
|
|
|
@param Argc Argument count
|
|
@param Argv The parsed arguments
|
|
|
|
@retval 0 The application exited normally.
|
|
@retval Other An error occurred.
|
|
|
|
**/
|
|
INTN
|
|
EFIAPI
|
|
ShellAppMain (
|
|
IN UINTN Argc,
|
|
IN CHAR16 **Argv
|
|
)
|
|
{
|
|
INTN Array[10];
|
|
|
|
Array[0] = 2;
|
|
Array[1] = 3;
|
|
Array[2] = 4;
|
|
Array[3] = 1;
|
|
Array[4] = 5;
|
|
Array[5] = 6;
|
|
Array[6] = 7;
|
|
Array[7] = 8;
|
|
Array[8] = 1;
|
|
Array[9] = 5;
|
|
|
|
Print (L"Array = %d, %d, %d, %d, %d, %d, %d, %d, %d, %d\r\n", Array[0], Array[1], Array[2], Array[3], Array[4], Array[5], Array[6], Array[7], Array[8], Array[9]);
|
|
PerformQuickSort (Array, 10, sizeof (INTN), Test);
|
|
Print (L"POST-SORT\r\n");
|
|
Print (L"Array = %d, %d, %d, %d, %d, %d, %d, %d, %d, %d\r\n", Array[0], Array[1], Array[2], Array[3], Array[4], Array[5], Array[6], Array[7], Array[8], Array[9]);
|
|
return 0;
|
|
}
|