diff options
author | pommicket <pommicket@gmail.com> | 2025-02-25 17:16:26 -0500 |
---|---|---|
committer | pommicket <pommicket@gmail.com> | 2025-02-25 17:16:26 -0500 |
commit | e78c40d08e324b98f62c88c055b5194ce2a7f4f2 (patch) | |
tree | fcee8aedfe43b8dd424cc88c269f8d3b12779c7b /camera.c | |
parent | b6656786caa1b5247e251e63d15f3173bcf3d26f (diff) |
save & restore settings
Diffstat (limited to 'camera.c')
-rw-r--r-- | camera.c | 15 |
1 files changed, 15 insertions, 0 deletions
@@ -1077,6 +1077,21 @@ void hash_to_str(Hash h, char str[HASH_STR_SIZE]) { } } +bool hash_from_str(Hash *hash, const char *str) { + if (strlen(str) != 2 * HASH_SIZE) { + return false; + } + for (int i = 0; i < HASH_SIZE; i++) { + char n[3] = {str[2 * i], str[2 * i + 1], 0}, *endp = NULL; + long byte = strtol(n, &endp, 16); + if (byte < 0 || byte >= 256) { + return false; + } + hash->hash[i] = (uint8_t)byte; + } + return true; +} + void camera_hash_str(Camera *camera, char str[HASH_STR_SIZE]) { hash_to_str(camera->hash, str); } |