From 334372c12f0384a91dca7922e7058650bedd5c99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20P=C3=A9ron?= Date: Fri, 4 Jan 2019 10:43:12 +0100 Subject: [PATCH] Split utils function from main --- src/main.c | 15 +-------------- src/utils.c | 28 ++++++++++++++++++++++++++++ src/utils.h | 23 +++++++++++++++++++++++ 3 files changed, 52 insertions(+), 14 deletions(-) create mode 100644 src/utils.c create mode 100644 src/utils.h diff --git a/src/main.c b/src/main.c index dbc21b4..d42d390 100644 --- a/src/main.c +++ b/src/main.c @@ -30,10 +30,10 @@ #include "os_io_seproxyhal.h" #include "glyphs.h" +#include "utils.h" unsigned char G_io_seproxyhal_spi_buffer[IO_SEPROXYHAL_BUFFER_SIZE_B]; - unsigned int io_seproxyhal_touch_settings(const bagl_element_t *e); unsigned int io_seproxyhal_touch_exit(const bagl_element_t *e); unsigned int io_seproxyhal_touch_tx_ok(const bagl_element_t *e); @@ -166,21 +166,8 @@ static const char const CONTRACT_ADDRESS[] = "New contract"; static const char const SIGN_MAGIC[] = "\x19" "Ethereum Signed Message:\n"; -const unsigned char hex_digits[] = {'0', '1', '2', '3', '4', '5', '6', '7', - '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'}; - chain_config_t *chainConfig; -void array_hexstr(char *strbuf, const void *bin, unsigned int len) { - while (len--) { - *strbuf++ = hex_digits[((*((char *)bin)) >> 4) & 0xF]; - *strbuf++ = hex_digits[(*((char *)bin)) & 0xF]; - bin = (const void *)((unsigned int)bin + 1); - } - *strbuf = 0; // EOS -} - - const bagl_element_t* ui_menu_item_out_over(const bagl_element_t* e) { // the selection rectangle is after the none|touchable e = (const bagl_element_t*)(((unsigned int)e)+sizeof(bagl_element_t)); diff --git a/src/utils.c b/src/utils.c new file mode 100644 index 0000000..d7e0602 --- /dev/null +++ b/src/utils.c @@ -0,0 +1,28 @@ +/******************************************************************************* +* Ledger Ethereum App +* (c) 2016-2019 Ledger +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +********************************************************************************/ + +static const unsigned char hex_digits[] = {'0', '1', '2', '3', '4', '5', '6', '7', + '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'}; + +void array_hexstr(char *strbuf, const void *bin, unsigned int len) { + while (len--) { + *strbuf++ = hex_digits[((*((char *)bin)) >> 4) & 0xF]; + *strbuf++ = hex_digits[(*((char *)bin)) & 0xF]; + bin = (const void *)((unsigned int)bin + 1); + } + *strbuf = 0; // EOS +} \ No newline at end of file diff --git a/src/utils.h b/src/utils.h new file mode 100644 index 0000000..1c15584 --- /dev/null +++ b/src/utils.h @@ -0,0 +1,23 @@ +/******************************************************************************* +* Ledger Ethereum App +* (c) 2016-2019 Ledger +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +********************************************************************************/ + +#ifndef _UTILS_H_ +#define _UTILS_H_ + +void array_hexstr(char *strbuf, const void *bin, unsigned int len); + +#endif /* _UTILS_H_ */ \ No newline at end of file