From 7b943a4a16218a630a5f1060850df7075ced2f50 Mon Sep 17 00:00:00 2001 From: merlokk <807634+merlokk@users.noreply.github.com> Date: Wed, 21 Nov 2018 19:44:31 +0200 Subject: [PATCH] add check string - if string is hex --- client/util.c | 11 +++++++++++ client/util.h | 1 + 2 files changed, 12 insertions(+) diff --git a/client/util.c b/client/util.c index 5ae4ab862..22490f62a 100644 --- a/client/util.c +++ b/client/util.c @@ -150,6 +150,17 @@ int FillBuffer(uint8_t *data, size_t maxDataLength, size_t *dataLength, ...) { return 0; } +bool CheckStringIsHEXValue(const char *value) { + for (int i = 0; i < strlen(value); i++) + if (!isxdigit(value[i])) + return false; + + if (strlen(value) % 2) + return false; + + return true; +} + void hex_to_buffer(const uint8_t *buf, const uint8_t *hex_data, const size_t hex_len, const size_t hex_max_len, const size_t min_str_len, const size_t spaces_between, bool uppercase) { diff --git a/client/util.h b/client/util.h index a069b5012..c9f13870d 100644 --- a/client/util.h +++ b/client/util.h @@ -190,6 +190,7 @@ extern void FillFileNameByUID(char *filenamePrefix, uint8_t * uid, const char *e // fill buffer from structure [{uint8_t data, size_t length},...] extern int FillBuffer(uint8_t *data, size_t maxDataLength, size_t *dataLength, ...); +extern bool CheckStringIsHEXValue(const char *value); extern void hex_to_buffer(const uint8_t *buf, const uint8_t *hex_data, const size_t hex_len, const size_t hex_max_len, const size_t min_str_len, const size_t spaces_between, bool uppercase);