aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorFdaSilvaYY <fdasilvayy@gmail.com>2024-08-01 22:51:25 +0200
committerTomas Mraz <tomas@openssl.org>2024-08-07 19:25:10 +0200
commitf21ededc3c04a5c899ee8522f7162abf637849a1 (patch)
treefdc5be70e7a8504547d04d773252cbaecbadb12b /include
parentca3c6f38292ab1326af9fa414cfa8de4e30a4e82 (diff)
downloadopenssl-f21ededc3c04a5c899ee8522f7162abf637849a1.zip
openssl-f21ededc3c04a5c899ee8522f7162abf637849a1.tar.gz
openssl-f21ededc3c04a5c899ee8522f7162abf637849a1.tar.bz2
ssl: factorize and improved hex conversion code
Add inline qualifier to avoid exporting a function for one unique use Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/24968)
Diffstat (limited to 'include')
-rw-r--r--include/internal/to_hex.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/include/internal/to_hex.h b/include/internal/to_hex.h
new file mode 100644
index 0000000..e37e9f0
--- /dev/null
+++ b/include/internal/to_hex.h
@@ -0,0 +1,27 @@
+/*
+ * Copyright 2024 The OpenSSL Project Authors. All Rights Reserved.
+ *
+ * Licensed under the Apache License 2.0 (the "License"). You may not use
+ * this file except in compliance with the License. You can obtain a copy
+ * in the file LICENSE in the source distribution or at
+ * https://www.openssl.org/source/license.html
+ */
+
+#ifndef OSSL_INTERNAL_TO_HEX_H
+# define OSSL_INTERNAL_TO_HEX_H
+# pragma once
+
+static ossl_inline size_t to_hex(char *buf, uint8_t n, const char hexdig[17])
+{
+ *buf++ = hexdig[(n >> 4) & 0xf];
+ *buf = hexdig[n & 0xf];
+ return 2;
+}
+
+static ossl_inline size_t ossl_to_lowerhex(char *buf, uint8_t n)
+{
+ static const char hexdig[] = "0123456789abcdef";
+
+ return to_hex(buf, n, hexdig);
+}
+#endif