diff options
| author | Thorsten Töpper <atsutane@freethoughts.de> | 2025-08-20 22:18:40 +0200 |
|---|---|---|
| committer | Thorsten Töpper <atsutane@freethoughts.de> | 2025-08-20 22:18:40 +0200 |
| commit | 9db593de7f8de8245468109be09aaa2e7bad32ef (patch) | |
| tree | 7e2846132fc1f2df65491b9f34c208e28deae779 /include/hex_conversion.h | |
| parent | 0a83076603ea977dfb4d1330f0aa3ee4799f2f57 (diff) | |
| download | small-utils-9db593de7f8de8245468109be09aaa2e7bad32ef.tar.gz small-utils-9db593de7f8de8245468109be09aaa2e7bad32ef.tar.bz2 | |
hex_conversion: introduce ishex_string
Diffstat (limited to 'include/hex_conversion.h')
| -rw-r--r-- | include/hex_conversion.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/include/hex_conversion.h b/include/hex_conversion.h index 540472d..bb0fab1 100644 --- a/include/hex_conversion.h +++ b/include/hex_conversion.h @@ -16,6 +16,7 @@ int convert_line(char *s); int ishex(unsigned char c); +int ishex_string(const char *s, size_t l); unsigned char *convert_to_binary(char *hex, unsigned char *out); char *convert_from_binary(unsigned char *bin, size_t l, char *out); @@ -42,6 +43,19 @@ inline int ishex(unsigned char c) { return 0; }; +inline int ishex_string(const char *s, size_t l) { + size_t i = 0; + if (s == 0) + return 0; + if (l == 0) + l = strlen(s); + for (; i<l; i++) { + if ( ! ishex_macro(s[i]) ) + return 0; + } + return 1; +} + inline unsigned char *convert_to_binary(char *hex, unsigned char *out) { char tmp[3] = {0,0,0}; size_t length, i; |
