]>
git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Universal/RegularExpressionDxe/OnigurumaUefiPort.c
3 Module to rewrite stdlib references within Oniguruma
5 (C) Copyright 2014-2015 Hewlett Packard Enterprise Development LP<BR>
6 Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
8 SPDX-License-Identifier: BSD-2-Clause-Patent
10 #include "OnigurumaUefiPort.h"
12 #define ONIGMEM_HEAD_SIGNATURE SIGNATURE_32('o','m','h','d')
19 #define ONIGMEM_OVERHEAD sizeof(ONIGMEM_HEAD)
21 int EFIAPI
sprintf_s(char *str
, size_t sizeOfBuffer
, char const *fmt
, ...)
26 VA_START (Marker
, fmt
);
27 NumberOfPrinted
= (int)AsciiVSPrint (str
, sizeOfBuffer
, fmt
, Marker
);
30 return NumberOfPrinted
;
33 int OnigStrCmp (const char* Str1
, const char* Str2
)
35 return (int)AsciiStrCmp (Str1
, Str2
);
38 int strlen(const char* str
)
40 return strlen_s(str
, MAX_STRING_SIZE
);
43 void * malloc (size_t size
)
45 ONIGMEM_HEAD
*PoolHdr
;
49 NewSize
= (UINTN
)(size
) + ONIGMEM_OVERHEAD
;
51 Data
= AllocatePool (NewSize
);
53 PoolHdr
= (ONIGMEM_HEAD
*)Data
;
54 PoolHdr
->Signature
= ONIGMEM_HEAD_SIGNATURE
;
57 return (VOID
*)(PoolHdr
+ 1);
62 void * realloc (void *ptr
, size_t size
)
64 ONIGMEM_HEAD
*OldPoolHdr
;
65 ONIGMEM_HEAD
*NewPoolHdr
;
70 NewSize
= (UINTN
)size
+ ONIGMEM_OVERHEAD
;
71 Data
= AllocatePool (NewSize
);
73 NewPoolHdr
= (ONIGMEM_HEAD
*)Data
;
74 NewPoolHdr
->Signature
= ONIGMEM_HEAD_SIGNATURE
;
75 NewPoolHdr
->Size
= size
;
77 OldPoolHdr
= (ONIGMEM_HEAD
*)ptr
- 1;
78 ASSERT (OldPoolHdr
->Signature
== ONIGMEM_HEAD_SIGNATURE
);
79 OldSize
= OldPoolHdr
->Size
;
81 CopyMem ((VOID
*)(NewPoolHdr
+ 1), ptr
, MIN (OldSize
, size
));
82 FreePool ((VOID
*)OldPoolHdr
);
84 return (VOID
*)(NewPoolHdr
+ 1);
89 void* memcpy (void *dest
, const void *src
, unsigned int count
)
91 return CopyMem (dest
, src
, (UINTN
)count
);
94 void* memset (void *dest
, char ch
, unsigned int count
)
96 return SetMem (dest
, ch
, count
);