]> git.proxmox.com Git - mirror_edk2.git/blame - EmbeddedPkg/Library/FdtLib/fdt_strtoul.c
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / EmbeddedPkg / Library / FdtLib / fdt_strtoul.c
CommitLineData
44e6186e
AB
1#/* @file\r
2# Copyright (c) 2018, Linaro Limited. All rights reserved.\r
3#\r
878b807a 4# SPDX-License-Identifier: BSD-2-Clause-Patent\r
44e6186e
AB
5#\r
6#*/\r
7\r
8#include <Base.h>\r
9#include <Library/BaseLib.h>\r
10#include <Library/DebugLib.h>\r
11\r
e7108d0e
MK
12unsigned long\r
13strtoul (\r
14 const char *nptr,\r
15 char **endptr,\r
16 int base\r
17 )\r
44e6186e 18{\r
e7108d0e
MK
19 RETURN_STATUS Status;\r
20 UINTN ReturnValue;\r
44e6186e 21\r
e7108d0e 22 ASSERT (base == 10 || base == 16);\r
44e6186e 23\r
e7108d0e
MK
24 if (base == 10) {\r
25 Status = AsciiStrDecimalToUintnS (nptr, endptr, &ReturnValue);\r
26 } else if (base == 16) {\r
27 Status = AsciiStrHexToUintnS (nptr, endptr, &ReturnValue);\r
28 } else {\r
29 Status = RETURN_INVALID_PARAMETER;\r
30 }\r
44e6186e 31\r
e7108d0e
MK
32 if (RETURN_ERROR (Status)) {\r
33 return MAX_UINTN;\r
34 }\r
44e6186e 35\r
e7108d0e 36 return ReturnValue;\r
44e6186e 37}\r