summaryrefslogtreecommitdiff
path: root/camera.c
diff options
context:
space:
mode:
authorpommicket <pommicket@gmail.com>2025-02-25 17:16:26 -0500
committerpommicket <pommicket@gmail.com>2025-02-25 17:16:26 -0500
commite78c40d08e324b98f62c88c055b5194ce2a7f4f2 (patch)
treefcee8aedfe43b8dd424cc88c269f8d3b12779c7b /camera.c
parentb6656786caa1b5247e251e63d15f3173bcf3d26f (diff)
save & restore settings
Diffstat (limited to 'camera.c')
-rw-r--r--camera.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/camera.c b/camera.c
index b344ca2..dcee6f3 100644
--- a/camera.c
+++ b/camera.c
@@ -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);
}